カテゴリ: AWS VPC 更新日: 2026/03/23

【AWS】VPCフローログとは?設定方法・CloudWatch/Athena連携をわかりやすく解説

201
【AWS】VPCフローログとは?設定方法・CloudWatch/Athena連携をわかりやすく解説

先生と生徒の会話形式で理解しよう

生徒

「先生、AWSのVPCフローログって何のためにあるんですか?まだ設定したことがなくて…」

先生

「VPCフローログは、AWS内のネットワークトラフィックを記録できる便利な機能です。トラブルシューティングやセキュリティ監視に使えますよ。」

生徒

「なるほど!ネットワークの動きを可視化できるってことですね。CloudWatchとかAthenaとも関係ありますか?」

先生

「いい質問です。それも含めて、VPCフローログの基本からAthena連携まで一緒に学んでいきましょう!」

1. VPCフローログとは?

1. VPCフローログとは?
1. VPCフローログとは?

VPCフローログ(VPC Flow Logs)とは、AWSの仮想ネットワーク(VPC)内を流れる「通信の記録」をキャッチして保存する機能です。 簡単に言えば、ネットワーク上の「誰が(IPアドレス)」「どこへ(送信先)」「どんな方法で(プロトコル)」「通信を許可されたか、拒否されたか(アクション)」という情報を記した「通話履歴」のようなものです。

この機能の最大の特徴は、エージェント(専用のソフト)をサーバーにインストールすることなく、AWSのインフラ側で自動的にログを収集できる点にあります。そのため、システムのパフォーマンスに影響を与えることなく、ネットワーク全体の動きを手に取るように把握できます。

未経験者向けの「防犯カメラ」の例え

VPCフローログの役割を身近なものに例えると、「建物の廊下に設置された防犯カメラ」が非常に近いです。

  • 防犯カメラ(VPCフローログ): 誰がどの部屋に入ろうとしたか、その結果(入室許可か拒絶か)をすべて記録します。
  • 実際の通信(パケット): カメラは「誰が通ったか」を記録しますが、その人が持っている「カバンの中身(メールの内容やファイルの中身)」までは映しません。

このように、中身までは見ない代わりに「通信のルールが正しく機能しているか」をチェックするための、最も信頼できるデータとなります。

このログを活用することで、具体的には以下のようなメリットが得られます。

セキュリティの強化

不審な海外IPアドレスからのアクセスや、深夜の異常な通信を早期に発見できます。

トラブル解決の迅速化

「なぜか通信がつながらない」という時、セキュリティ設定で拒否(REJECT)されていないか即座に確認可能です。

2026年現在のクラウド運用において、VPCフローログの有効化は「セキュリティの基本(ベストプラクティス)」とされており、万が一の事態が起きた際の原因究明には欠かせない存在となっています。

2. VPCフローログで記録される情報

2. VPCフローログで記録される情報
2. VPCフローログで記録される情報

VPCフローログは、ネットワーク上を流れるパケット一つひとつの中身(ペイロード)を見るのではなく、通信の「メタデータ」を記録します。これにより、プライバシーを保護しつつ、「誰が・どこに・どのくらいのデータを送ったか」を正確に把握できます。

具体的には、デフォルトのログ形式で以下のような主要な項目が記録されます。

項目名 説明
srcaddr 送信元IPアドレス 10.0.1.5
dstaddr 宛先IPアドレス 203.0.113.10
srcport / dstport 送信元と宛先のポート番号(通信の窓口) 443 (HTTPS) など
protocol 通信プロトコル番号(TCPは6、UDPは17) 6
packets / bytes 転送されたパケット数とデータサイズ 1000 bytes
action 通信の結果(許可または拒否) ACCEPT / REJECT
log-status ログの記録状態 OK / NODATA
プログラミング未経験者向け:ログの読み解き方

VPCフローログの1行は、Javaのオブジェクトのように「データの塊」として考えると分かりやすくなります。例えば、「10.0.1.5から外部サーバーへアクセスしたが拒否された」というログは、以下のようなイメージで管理されています。


public class FlowLogEntry {
    String srcAddr = "10.0.1.5";
    String dstAddr = "203.0.113.10";
    int dstPort = 80;
    String action = "REJECT"; // ここが最重要!通信がブロックされたことを示す
    
    public void checkSecurity() {
        if (this.action.equals("REJECT")) {
            System.out.println("警告:不正なアクセス、または設定ミスにより通信が遮断されました。");
        }
    }
}

警告:不正なアクセス、または設定ミスにより通信が遮断されました。

実際のログはスペース区切りのテキスト形式で出力されますが、このように「action(結果)」と「addr(住所)」をセットで見ることで、異常な通信を即座に特定できるようになります。

これらの情報が蓄積されることで、「特定のIPアドレスから大量の拒否ログが出ている=攻撃を受けている可能性がある」といった高度なセキュリティ分析が可能になるのです。

3. VPCフローログの設定方法(CloudWatch Logs出力)

3. VPCフローログの設定方法(CloudWatch Logs出力)
3. VPCフローログの設定方法(CloudWatch Logs出力)

VPCフローログをCloudWatch Logsに出力するには、以下のステップで設定します。

  1. AWSマネジメントコンソールでVPCダッシュボードを開く
  2. 「フローログ」を選択し、「フローログの作成」をクリック
  3. ログ出力先に「CloudWatch Logs」を選択
  4. IAMロール、ロググループ、ログフォーマットを設定
  5. 対象のVPC・サブネット・ENIを選択して作成

CloudWatchでログを確認すれば、通信内容がリアルタイムでモニタリングできます。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. S3出力とAthena連携の設定方法

4. S3出力とAthena連携の設定方法
4. S3出力とAthena連携の設定方法

CloudWatch以外にも、VPCフローログをS3バケットに出力することで、Amazon Athenaでのクエリ分析が可能になります。

設定の流れは以下の通りです。

  1. VPCの「フローログ」から「フローログの作成」
  2. ログ出力先として「Amazon S3」を選択
  3. S3バケット名とプレフィックスを指定
  4. IAMロールとログ形式(パーケット形式またはテキスト)を指定
  5. 作成後、ログがS3に保存される

Athenaでの分析に備え、Glueクローラでパーティションテーブルを作成するのがおすすめです。

5. AthenaでVPCフローログを分析する方法

5. AthenaでVPCフローログを分析する方法
5. AthenaでVPCフローログを分析する方法

VPCフローログのS3出力をAthenaで分析する手順は次の通りです。

  1. AWS Glueでクローラを作成
  2. S3ログパスを指定し、データベースに登録
  3. 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フローログのユースケースと活用例

6. VPCフローログのユースケースと活用例
6. VPCフローログのユースケースと活用例

VPCフローログは以下のようなユースケースで活用されています。

  • 不正アクセスの検出: 未承認のIPアドレスからのトラフィックを可視化
  • ポートスキャンの検知: 不審な複数ポートへのアクセスログから検出
  • 通信エラーの原因分析: アクセスが拒否された通信ログからルール誤りを特定
  • データ転送量の集計: 通信バイト数を分析してコスト最適化

7. VPCフローログ利用時の注意点

7. VPCフローログ利用時の注意点
7. VPCフローログ利用時の注意点
  • すべてのトラフィックが記録されるとは限らない: DNSやVPCピアリングなど一部の通信は記録対象外
  • ログボリュームが多くなる: 長期間保存するとコストが増加。必要に応じてS3にアーカイブ
  • ログフォーマットの理解: 分析や可視化の際は項目順と意味を正しく理解する必要がある

活用の幅が広いVPCフローログですが、設計と運用のバランスが大切です。

まとめ

まとめ
まとめ

今回は、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との連携も学んでいくと、セキュリティの理解がさらに深まりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

AWSのVPCフローログとは具体的にどのような機能で、なぜ初心者でも知っておくべきなのですか?

AWSのVPCフローログ(VPC Flow Logs)は、Amazon Virtual Private Cloud(VPC)内のネットワークインターフェイスを行き来するIPトラフィックの情報をキャプチャして記録する非常に重要な機能です。プログラミング初心者やインフラ初学者が知っておくべき理由は、自分が構築したシステムが「正しく通信できているか」「どこで通信が拒否されているか」を視覚的に確認できるからです。ネットワークの動きを可視化することで、アプリケーションのデバッグやセキュリティの脆弱性特定がスムーズになります。
AWS VPCの一覧へ
新着記事
Flutter
Flutterでのリポジトリパターンの実装例
Flutterでリポジトリパターンを実装する方法を完全解説!初心者向けアーキテクチャ設計入門
Java
Java の Objects クラスを使って null チェックを簡単にする方法
JavaのObjectsクラスの使い方を完全ガイド!nullチェックを簡単・安全に行う方法
Java
Java の UUID クラスを使って一意の識別子を作成する方法
JavaのUUIDクラスの使い方を完全ガイド!初心者でもわかる一意な識別子の作成方法
Java
Java の古い日付クラス(Date, Calendar)と新しい日付 API の違い
JavaのDateとCalendarと新しい日付APIの違いとは?初心者向け完全ガイド
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク