AWS VPCフローログ Athena統合をお試し

AWS
この記事は約6分で読めます。
記事内に広告が含まれています。

始めに

今回はAthena統合を使ってVPCフローログの解析を行ってみます。

Athena統合

Athena を使用して、このセクションにリストされている AWS のサービスからのデータをクエリすることができます。

AWS のサービス における Athena との統合 - Amazon Athena
AWS の Athena との統合の詳細について学びます。

VPCフローログの解析でAthena統合を使うと何がうれしいの?

Athenaでクエリを実行するまでの手間が軽減されます。具体的にはAthenaでのテーブル作成やパーティション操作が不要になります。また、代表的なクエリが事前定義されているため、すぐにクエリを実行できるようになります。

Athena統合は、CloudFormationを使います。テンプレートが自動で用意されるため、全体的な操作は簡単です。

では早速、AWSマネジメントコンソールより操作していきます。

全体的な流れ

  1. VPCフローログをS3に取得します
  2. Athena統合を行うます(CloudFormationテンプレート&スタック作成)
  3. Enjoy Athena!

手順詳細

VPCフローログの設定は、デフォルト設定&保存先S3で、仕掛け済みとします。(手順がわからない場合は以下の前回記事を参考にします)

1. Athena統合を実行

フローログを選択して「アクション」→「Athena統合を生成」をクリックします。

Athena統合を生成を選択します。

Athena統合の設定画面が開くため、次のように入力します。

  • ロード頻度のパーティション:毎日
  • CloudFormationテンプレートS3バケット:S3バケットのARNを入力
  • クエリ結果S3バケット:S3バケットのARNを入力

本設定ではCloudFormationテンプレートやクエリ結果はS3バケットの直下に作成されます。もしフォルダで分けたい場合は別途オプションで「/define」とか「/result」を入力します。

設定を進めます。

Athena統合の作成を押下すると、画面上部に「正常に作成されました」と表示されます。この段階でS3バケットにはCloudFormationテンプレートファイルが作成されます。

2. CloudFormationスタックの作成

次に、画面上部の「CloudFormationスタックの生成」をクリックします。

CloudFormationテンプレートのスタックの作成画面が表示されます。テンプレートの場所は自動で入力反映されています(クリック時のURLに含まれている仕組み)。

今回はまず動かしてみたいので、明示的に入力すべき項目は「スタックの名前」のみです。他はデフォルト値から変更しなくてOKです。

<以下画面は変更なし>

スタックの作成(変更なし)

<以下画面はスタックの名前を入力>

スタックの詳細を指定。

<以下画面は変更なし>

スタックオプションの設定(変更なし)

<以下画面はチェックを押下して「スタックの作成」をクリック>

確認してスタックの作成。

スタックの作成は2分程度で終わるため、完了後(CREATE_COMPLETE)にAthenaを開きます。

3. Athenaでクエリを実行

Athenaサービスにアクセスして、クエリエディタを開きます。
ワークグループはCloudFormationで作成された「なんちゃらWorkgroup」を選択します。

最近のクエリタブを開いてみると、既に色々とあります。

クエリ
  • vpcFlowLogsShrdpTraffic — SSH および RDP トラフィック。
  • vpcFlowLogStrafficFrmsrcaddr — 特定の送信元 IP アドレスについて記録されたトラフィック。
  • vpcFlowLogStopTalkingSubnets — 記録されたトラフィックが最も多くある 50 個のサブネットの ID。
  • vpcFlowLogstotalBytestRansFerred — 記録されたバイト数が最も多い送信元と送信先 IP アドレスの 50 個のペア。
  • vpcFlowLogsRejectedTraffic — セキュリティグループまたはネットワーク ACL に基づいて拒否されたトラフィック。
  • vpcFlowLogStrafficFrmsrcaddr — 特定の送信元 IP アドレスについて記録されたトラフィック。
  • vpcFlowLogsAdminPortTraffic — 管理用 ウェブアプリポートに記録されたトラフィック。
Amazon Athena を使用したフローログのクエリ - Amazon Virtual Private Cloud
Amazon Athena は、標準の SQL を使用して、フローログなどの Amazon S3 内のデータを分析できる対話型のクエリサービスです。VPC フローログで Athena を使用すると、VPC を通過するトラフィックに関する実用...

ここでは「vpcFlowLogStopTalkingSubnet」を選択して、クエリを実行してみます。

クエリを実行。

このように結果が表示されます。実行した段階で結果はS3バケット内に保存され、Athena画面からもCSV形式でダウンロード可能です。

事前定義クエリは代表的なものに限られていますが、目的に対するSQL文がわかるため、これをベースにアレンジを加えていくのもありかと思います。

後片付け

Athena統合によるVPCフローログを確認した後、後片付けを行います。仕掛けておいたVPCフローログやログ自体も消して構わない場合は、次のステップで実施します。

  1. CloudFormationのスタックを削除
    【注意】Athena内のワークグループが削除できずに失敗することがあります。その際はAthena内のワークグループを手動で削除し、再度スタックの削除を実行すると成功します。
  2. VPCフローログの設定を削除
  3. S3バケット内の不要ファイルを削除
    → 削除対象は「CloudFormation定義ファイル」「Athenaクエリ結果」「VPCフローログ」です。S3バケット自体が不要であれば、丸ごと削除しちゃいます。
Athena内のワークグループの手動削除

ワークグループメニューより、該当ワークグループ(なんちゃらWorkGroup)を選択して、「アクション」→「削除する」で削除できます。

エラー時に手動で削除して再試行。

まとめ

Athena統合を使って、VPCフローログのクエリを実行してみました。代表的なクエリで結果を見たい場合は、簡単な設定で数分後には実行できる手頃さがあります。利用してみる価値は十分にあると感じました。

最後までご覧いただき、ありがとうございました。

コメント

Top
タイトルとURLをコピーしました