【AWS】VPCフローログとは?設定方法・CloudWatch/Athena連携をわかりやすく解説
生徒
「先生、AWSのVPCフローログって何のためにあるんですか?まだ設定したことがなくて…」
先生
「VPCフローログは、AWS内のネットワークトラフィックを記録できる便利な機能です。トラブルシューティングやセキュリティ監視に使えますよ。」
生徒
「なるほど!ネットワークの動きを可視化できるってことですね。CloudWatchとかAthenaとも関係ありますか?」
先生
「いい質問です。それも含めて、VPCフローログの基本からAthena連携まで一緒に学んでいきましょう!」
1. VPCフローログとは?
VPCフローログ(VPC Flow Logs)は、AWSのVPC内で発生するネットワークトラフィックの情報を記録する機能です。 どのインスタンスが、どこに通信しているのか、どのポートが使用されているのかなどを可視化することができます。
セキュリティの監査、通信のトラブルシューティング、コスト最適化のための分析など、幅広い用途で活用されています。
2. VPCフローログで記録される情報
VPCフローログは以下のような情報を記録します。
- 送信元IPアドレス
- 宛先IPアドレス
- プロトコル(TCP/UDPなど)
- ポート番号(送信元/宛先)
- アクション(許可/拒否)
- 通信の開始/終了時刻
これらの情報により、異常な通信や不正アクセスの検知が可能になります。
3. VPCフローログの設定方法(CloudWatch Logs出力)
VPCフローログをCloudWatch Logsに出力するには、以下のステップで設定します。
- AWSマネジメントコンソールでVPCダッシュボードを開く
- 「フローログ」を選択し、「フローログの作成」をクリック
- ログ出力先に「CloudWatch Logs」を選択
- IAMロール、ロググループ、ログフォーマットを設定
- 対象のVPC・サブネット・ENIを選択して作成
CloudWatchでログを確認すれば、通信内容がリアルタイムでモニタリングできます。
4. S3出力とAthena連携の設定方法
CloudWatch以外にも、VPCフローログをS3バケットに出力することで、Amazon Athenaでのクエリ分析が可能になります。
設定の流れは以下の通りです。
- VPCの「フローログ」から「フローログの作成」
- ログ出力先として「Amazon S3」を選択
- S3バケット名とプレフィックスを指定
- IAMロールとログ形式(パーケット形式またはテキスト)を指定
- 作成後、ログがS3に保存される
Athenaでの分析に備え、Glueクローラでパーティションテーブルを作成するのがおすすめです。
5. AthenaでVPCフローログを分析する方法
VPCフローログのS3出力をAthenaで分析する手順は次の通りです。
- AWS Glueでクローラを作成
- S3ログパスを指定し、データベースに登録
- Athenaでテーブルを選択してクエリ実行
たとえば、特定IPからのアクセス回数を分析するには以下のようなクエリを実行します。
SELECT sourceaddress, COUNT(*) as access_count
FROM vpc_flow_logs
WHERE action = 'ACCEPT'
GROUP BY sourceaddress
ORDER BY access_count DESC
LIMIT 10;
このように、Athenaを使えば、大量のログをサーバレスで効率的に解析できます。
6. VPCフローログのユースケースと活用例
VPCフローログは以下のようなユースケースで活用されています。
- 不正アクセスの検出: 未承認のIPアドレスからのトラフィックを可視化
- ポートスキャンの検知: 不審な複数ポートへのアクセスログから検出
- 通信エラーの原因分析: アクセスが拒否された通信ログからルール誤りを特定
- データ転送量の集計: 通信バイト数を分析してコスト最適化
7. VPCフローログ利用時の注意点
- すべてのトラフィックが記録されるとは限らない: DNSやVPCピアリングなど一部の通信は記録対象外
- ログボリュームが多くなる: 長期間保存するとコストが増加。必要に応じてS3にアーカイブ
- ログフォーマットの理解: 分析や可視化の際は項目順と意味を正しく理解する必要がある
活用の幅が広いVPCフローログですが、設計と運用のバランスが大切です。
8. まとめ
今回は、AWSのVPCフローログとは何かという基礎から始まり、CloudWatch LogsやAthenaとの連携方法まで、実践的な内容を交えて詳しく解説しました。 VPCフローログは、ネットワークの可視化とセキュリティ強化に欠かせない機能であり、特にトラブルシューティングや不正アクセス検知、通信分析など多方面で活躍します。
CloudWatch Logsに出力すれば、リアルタイムの監視ができ、S3 + Athena連携を使えば、大量のログデータを効率よくクエリで分析することが可能です。 Glueとの組み合わせにより、Athenaの利便性がさらに高まります。
また、以下のようなAthenaクエリ例を活用することで、実際のネットワークの状態やトラフィックパターンを把握できます。
-- アクセス拒否された通信ログを抽出
SELECT sourceaddress, destinationaddress, protocol, action
FROM vpc_flow_logs
WHERE action = 'REJECT'
AND protocol = 6
LIMIT 20;
このように、VPCフローログの活用は「AWS セキュリティ監視」「VPC ネットワーク分析」「Athena ログ可視化」など、 検索ユーザーがよく調べるキーワードに非常に関連しています。 今回の知識を活かして、セキュアかつ効率的なクラウドインフラの運用に役立ててください。
生徒
「VPCフローログでネットワークの動きが記録されるって、本当に便利ですね!CloudWatchとAthena両方使えるのもすごいです。」
先生
「そうですね。状況に応じて出力先を選べるのがポイントです。リアルタイムで見たいならCloudWatch、分析したいならAthenaが便利ですよ。」
生徒
「AthenaでSQLを使ってログを調べられるのは、データベース感覚で使えて面白いですね。実際のトラブル解析にも活かせそうです!」
先生
「その通り。特にセキュリティや運用保守の現場では必須の技術になりますよ。実際にログを出力してAthenaでクエリを試してみてくださいね。」
生徒
「はい!VPCフローログの設定もやってみて、自分の環境でも活用してみます!」
先生
「素晴らしい意欲ですね。次はGuardDutyやWAFとの連携も学んでいくと、セキュリティの理解がさらに深まりますよ。」