カテゴリ: AWS 更新日: 2025/12/09

AWS VPCフローログの有効化とログの確認方法を初心者向けにわかりやすく解説!

AWS VPCフローログの有効化とログの確認方法
AWS VPCフローログの有効化とログの確認方法

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

生徒

「AWSのVPCフローログって、何のために使うんですか?よく分からなくて…」

先生

「VPCフローログ(ブイピーシー・フローログ)は、VPC(仮想ネットワーク)の中でどんな通信があったかを記録する仕組みですよ。セキュリティやトラブルの原因を調べるのに役立ちます。」

生徒

「なるほど。じゃあ、そのログってどうやって有効にして、どこで見るんですか?」

先生

「それでは、VPCフローログの有効化の手順と、ログの確認方法を順番に説明していきましょう!」

1. VPCフローログとは?通信の記録をとる仕組み

1. VPCフローログとは?通信の記録をとる仕組み
1. VPCフローログとは?通信の記録をとる仕組み

AWS(エーダブリューエス)のVPCフローログ(ブイピーシー・フローログ)は、VPC内で行われたネットワーク通信を記録する機能です。

例えば、「どのIPアドレスから」「どのポートを使って」「いつアクセスがあったか」などの情報がログとして残ります。

このログを使うことで、次のようなことが可能になります:

  • セキュリティの確認(不正アクセスの監視)
  • 通信エラーの原因調査
  • システムのトラブル解決

まるで防犯カメラのように、通信の「足あと」を記録するイメージです。

2. ログが記録される対象とは?

2. ログが記録される対象とは?
2. ログが記録される対象とは?

VPCフローログは、次の3つの対象に対して有効にすることができます:

  • VPC(ブイピーシー)全体
  • サブネット(ネットワークの一部)
  • ENI(Elastic Network Interface/エラスティック・ネットワーク・インターフェース)

通常は、VPC単位やサブネット単位で設定すれば十分です。

ENIの読み方はイーエヌアイで、EC2(仮想サーバー)などの通信口を表すものです。

3. VPCフローログの有効化手順

3. VPCフローログの有効化手順
3. VPCフローログの有効化手順

VPCフローログを有効化するには、AWSのマネジメントコンソール(管理画面)を使って次の手順を行います。

  1. VPCサービスにアクセス
  2. 「フローログ」メニューを選択
  3. 「フローログを作成」ボタンをクリック
  4. 対象(VPCまたはサブネット、ENI)を選択
  5. ロググループ(保存先)を設定
    CloudWatch Logs(クラウドウォッチ・ログス)またはS3(エススリー)を選びます。
  6. IAMロールの選択
    ログを出力するために必要な権限を持ったIAM(アイアム)ロールを選びます。
  7. 作成を完了

一度設定すれば、その後自動的にログが記録されていきます。

4. ログの確認方法と見るポイント

4. ログの確認方法と見るポイント
4. ログの確認方法と見るポイント

フローログをCloudWatch Logsに出力した場合、次の手順で確認できます:

  1. CloudWatchサービスにアクセス
  2. 「ロググループ」から対象のログを選択
  3. ログストリームを選んで内容を表示

ログには以下のような情報が出力されます:

  • 送信元IPアドレス
  • 宛先IPアドレス
  • ポート番号
  • プロトコル(通信の種類)
  • アクション(許可されたか、拒否されたか)

ログの内容を見れば、「どこからどこへ」「どの通信が通ったか、拒否されたか」が分かります。

5. よくある活用シーンと注意点

5. よくある活用シーンと注意点
5. よくある活用シーンと注意点

VPCフローログは、特に次のような場面で活躍します:

  • セキュリティの監視:知らないIPアドレスからアクセスがあったか確認
  • 通信トラブルの調査:アクセスできない原因がセキュリティグループなのかACLなのかを調べる
  • ログ保存による内部監査:いつ誰が通信したかを記録として残す

注意点として、フローログは次のような点に気をつけてください:

  • 通信の内容(中身)は記録されません。誰が誰に接続したかの情報のみです。
  • ログを保存するとストレージ料金が発生します。保存期間を設定しましょう。
  • CloudWatch LogsとS3では表示形式が違います。用途に合った保存先を選びましょう。

これらを意識すれば、VPCフローログを活用してネットワークの状態を安全に保つことができます。

まとめ

まとめ
まとめ

AWSのVPCフローログは、クラウド環境で運用されるシステムの通信状況を可視化し、ネットワークの安全性と安定性を向上させるために欠かせない仕組みです。とくに企業システムや大規模なインフラでは、外部からの不正アクセスや内部からの異常通信、特定のアプリケーションがどのポートを利用して通信しているかなど、ネットワークに関する細かな情報を把握することが重要になります。こうした情報を確認するための手段として、VPCフローログは非常に役立ちます。フローログを有効にしてクラウド上の通信経路を把握できれば、セキュリティグループやネットワークACL、IAMロールといったAWS全体の設定をより安全かつ効率的に設計できるようになります。 フローログでは、送信元IPアドレス、宛先IPアドレス、通信に利用されたプロトコル、ポート番号、通信が許可されたのか拒否されたのかといった情報を継続的に記録できます。また、CloudWatch LogsやS3に保存できるため、分析だけでなく長期保存して社内の監査やセキュリティ対策レポートとしても活用できます。運用の現場では「アクセスできない原因の特定」「負荷分散の検証」「マイクロサービス間通信の可視化」「異常な外部接続の検知」など、活用シーンは幅広く存在します。 フローログの設定はVPC単位、サブネット単位、ENI単位で行うことができ、必要な粒度で情報を取得できます。VPC全体で有効化すれば広範囲の通信を記録できますが、特定のシステムだけ記録したい場合にはサブネットやENI単位での設定が有効です。ロググループの作成先としてCloudWatch Logsを選ぶとリアルタイム分析しやすくなり、S3を選ぶと長期保管に適した設計になります。用途によって保存先を選ぶことができる柔軟性もAWSの利点です。 ただし、フローログは通信内容そのもの(ペイロードの中身)までは記録しません。誰がどこへアクセスしたかというメタデータが中心です。そのため、アプリケーションの内部データまで追跡したい場合には別の手法が必要になります。また、保存するログ量が多いほど料金が発生するため、保存期間を制限したり不要なログを削除したりする運用が欠かせません。特に本番環境ではトラフィック量が膨大になることがあるため、必要な期間だけ保持し、古いログは削除するスケジュールを設定しておくことが推奨されます。 以下は今回の内容を整理したサンプルコード風の設定例です。


{
  "flowLogConfig": {
    "resourceType": "VPC",
    "destination": "CloudWatchLogs",
    "logFormat": "srcaddr dstaddr protocol action port instance",
    "iamRole": "vpc-flow-log-role",
    "trafficType": "ALL"
  }
}

さらに、クラウド環境で運用する際には、セキュリティグループやACL、VPCエンドポイント、VPNやDirect Connectといったネットワークサービスと組み合わせることで、より安全で負荷に強いシステムを設計できます。フローログを継続的にチェックすることで、普段は見えていなかった意図しない通信が発生していることに気づくこともあり、内部不正の抑止にもつながります。クラウド基盤上でシステムを動かす企業が増え続ける現代では、監査とネットワーク監視の両方に役立つフローログの知識は欠かせません。 AWSのネットワーク管理は難しい印象を持たれがちですが、フローログを取り入れることでネットワーク構造の理解が深まり、設計や運用に自信を持てるようになります。今回の学習内容をベースに、実際のプロジェクトで活用してネットワークをより安全に保ちましょう。

先生と生徒の振り返り会話

生徒

「VPCフローログを使えば、どの通信が通ってどれが拒否されたのか分かるんですね!ネットワークの状態を把握できるのは便利です。」

先生

「そうですね。CloudWatch LogsだけでなくS3にも保存できるので、監査にも役立ちますよ。」

生徒

「通信内容までは取れないけど、異常アクセスを見つけるには十分役立ちそうですね。」

先生

「そのとおりです。アクセス制御やセキュリティ設定を改善するヒントにもなりますし、運用監視でも大活躍します。次はログを自動解析する方法も学んでみましょう。」

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

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

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

AWSのVPCフローログとは何ですか?

VPCフローログは、AWSのVPC内で行われたネットワーク通信を記録する機能で、「どのIPからどこへ通信があったか」「ポート番号やプロトコル」「通信が許可されたか拒否されたか」などを確認できます。
関連記事:
カテゴリの一覧へ
新着記事
New1
シェルとターミナル基礎
Linuxのシェルとは?初心者でもわかる役割と基本を完全解説
New3
Linux ディストリビューション
Linuxディストリビューションの選び方完全ガイド!初心者でも失敗しない選択基準とおすすめの選び方
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
S3(オブジェクトストレージ)
AWS S3イベント通知を設定してLambdaをトリガーする方法を初心者向けに解説!
No.4
Java&Spring記事人気No4
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
No.5
Java&Spring記事人気No5
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.6
Java&Spring記事人気No6
Direct Connect(専用線接続)
AWS Direct Connect Gatewayの使い方と制限事項を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.8
Java&Spring記事人気No8
Linux 基礎概要
Linuxとは何か?初心者向けに意味・特徴をわかりやすく解説