おれさまラボの実験ノート

実際に手を動かして理解を深めるブログ。

Amazon QuickSight を使って VPC FlowLogs を可視化する

はじめに

今回は Amazon Athena と Amazon QuickSight を連携させて、前回取得した VPC FlowLogs をグラフィカルに可視化してみました。

skkskynw.hateblo.jp

Amazon QuickSight とは

Amazon QuickSight とは、フルマネージドの BI ツールです。AWSのドキュメントには次のように説明されています。

Amazon QuickSight は、視覚化の構築、アドホック分析の実行、データからのビジネス上の洞察の取得に使用できるビジネス分析サービスです。AWS データソースを自動的に検出でき、お客様のデータソースにも使用できます。Amazon QuickSight は、組織が数十万人のユーザーにスケールするのを可能にし、堅牢なインメモリエンジン (SPICE) を使用することで応答性の高いパフォーマンスを実現します。

引用:Amazon QuickSight とは

QuickSight では SPICE と呼ばれる仕組みを用いることで、高速にデータを処理できるそうです。

  • Super-fast(超高速)
  • Parallel(並列)
  • In-memory Calculation Engine(インメモリ計算エンジン)

使ってみた所感としては、AWS のサービス(S3 や Athena など)とシームレスに連携でき、さらにフルマネージドなので環境準備が楽ちんというところで非常にお手軽だなぁと感じました。

環境構築

フルマネージドなのでサーバを用意したりは必要ないのですが、いくらかの初期設定は必要です。

  • アカウント設定
  • データソースの追加
  • データの可視化

アカウント設定

まずは QuickSight へアクセスします。AWS マネジメントコンソールから QuickSight を検索して押下します。

AWS のアカウントと QuickSight のアカウントは独立しているので Sign up していきます。

エディションの選択が必要です。試すだけならどちらでも無料なので、今回は Enterprise を選択しました。なお、ここから先日本語で設定していきたい場合は右上の言語選択メニューで日本語を選択しておきましょう。

警告が行事されるので OK を押下します。

エラーメッセージはこちら。

Changing this may change some sections

Making this change will adjust appropriate sections in the sign up flow. Some information you have submitted may be discarded.

日本語訳は次に示すとおりです。

これを変更すると、一部のセクションが変更される場合があります。

この変更を行うことで、サインアップの流れの中で適切な部分を調整します。 送信した情報の一部は破棄される場合があります。

必要項目を埋めて完了を押下します。なおアカウント名は文字(A-Za-z)、数字(0~9)、およびダッシュ(-)のみ使用可能ですのでご注意ください。

この工程で Amazon Athena との連携や S3 バケットの指定をしておきましょう。もちろんあとからでもできます。

入力項目に問題がなければ Sign up が完了します。QuickSight のホームへ移動しましょう。

データソースの追加

画面左上のデータソースの追加を押下します。

つづいてデータセットを押下します。

任意のデータソース名を入力します。問題なければ検証するボタンを押下すると検証済みステータスに変わるので、データソースを作成を押下します。

Amazon Athena で作成済みのテーブルを選択します。ここでは前回作成したテーブルを使用しています。

skkskynw.hateblo.jp

SPICE を使用するか問われるのでどちらかを選択します。今回は SPICE を使用するを選択しました。

これで準備は完了です。

データの可視化

あとは好きなようにデータを可視化します。グラフや表、ピボットテーブルなどが用意されているので、どの形式にするかを選択してデータフィールド(VPC FlowLogs の場合は sourceip など)をドラッグアンドドロップするだけできれいな図表が完成します。

ここでは、ACCEPT と REJECT のログ数を円グラフで表示してみました。

その他機能

作成した図表は印刷やキャプチャ(任意の時点でのスナップショットのようなもの)がとれたりします。PDF や PNG で出力可能なのでレポート作成に有用な機能です。

Amazon ES vs Amazon QuickSight

AWS でデータ可視化といえば ElasticSearch のマネージド・サービスである Amazon Elasticsearch Service(Amazon ES)がありますがどのように使い分けたらよいでしょうか。以下に簡単な比較表を用意してみました。

Amazon ES Amazon QuickSight
リアルタイム性
EC2 インスタンス 必要 不要
規模 中規模~大規模 小規模
コスト

Amazon ES はリアルタイムに情報を可視化することに長けています。また、機能も豊富で、中規模~大規模のデータ可視化にも耐えうる製品です。ただし、EC2 インスタンスが必要となってくるためコストはその分かかりますし、パフォーマンスチューニングの必要性を考慮すると運用負荷になる可能性があります。

参考:料金 - Amazon Elasticsearch Service | AWS

一方、Amazon QuickSight は完全なマネージドサービス(SaaS)なので運用負荷は非常に低く、他の AWS サービスとの親和性も高いため導入も簡単です。また、コストも以下に示すとおり安価なことも特徴です。

参考:料金 - Amazon QuickSight | AWS

ただし、Amazon QuickSight は大規模なデータ可視化には不向きなので、ちょっとした BI がしたい場合は QuickSight、本格的なデータ可視化が必要になってきたら Amazon ES という使い分けになると思います。

おわりに

正直お手軽すぎてびっくりしました。

以上