AWS VPC Flow Logs

AWS VPCフローログとは?

VPCフローログ(Flow Logs)は、Amazon Virtual Private Cloud (VPC) 内のネットワークトラフィックに関する情報をキャプチャして記録する機能です。主にトラブルシューティング、セキュリティ分析、ネットワークモニタリング、コンプライアンス目的で使用されます。

主な特徴

  • VPC内のネットワークインターフェイス(ENI)での送信/受信トラフィックに関するメタデータを記録します。
  • キャプチャの粒度:
    • VPCレベル: VPC全体のトラフィックをキャプチャ
    • サブネットレベル: 特定のサブネット内のトラフィックをキャプチャ
    • ネットワークインターフェイスレベル: 特定のENI(Elastic Network Interface)のトラフィックをキャプチャ
  • 保存場所:
    • Amazon CloudWatch Logs(リアルタイムモニタリングやアラート設定に活用)
    • Amazon S3(長期保存や詳細な分析に使用)

ユースケース

  • トラブルシューティング: 接続エラーやセキュリティグループの設定ミスを診断
  • セキュリティ分析: 不正アクセスの検出やトラフィックパターンの監視
  • パフォーマンス監視: トラフィック負荷やアプリケーションのボトルネックを特定
  • コンプライアンス: 監査ログとして保存し、規制遵守を確認

フローログの形式

フローログのエントリは、スペース区切り形式で以下のように記録されます。

version account-id interface-id srcaddr dstaddr srcport dstport protocol packets bytes start end action log-status

例:

2 123456789012 eni-123abc45 10.0.0.1 10.0.0.2 23456 22 6 10 5000 1618482000 1618482060 ACCEPT OK

設定方法

  • AWSマネジメントコンソール:
    • VPC管理ページからフローログを作成
    • 対象(VPC/サブネット/ENI)と保存先(CloudWatch Logs/S3)を指定
  • AWS CLI: 例
    aws ec2 create-flow-logs \
        --resource-type VPC \
        --resource-ids vpc-123abc45 \
        --traffic-type ALL \
        --log-group-name MyFlowLogs \
        --deliver-logs-permission-arn arn:aws:iam::123456789012:role/MyFlowLogRole
  • AWS CloudFormation:
    • テンプレートを利用して自動化

制限と注意点

  • トラフィック内容(ペイロード)は記録されません
  • 一部のトラフィック(Amazon DNS、VPCエンドポイント、Time Sync Serviceなど)はキャプチャ対象外です
  • フローログ自体の費用は発生しませんが、保存先(S3/CloudWatch)の利用料金がかかります

AWS試験

AWS SOA試験では、以下のような状況が出題されます。

  • VPCフローログに拒否されたトラフィックが表示されないなど要件を満たしておらず、フィルタリング対象を変更する場合、新しいVPCフローログを作成しフィルタを設定する必要があります
    AWS SOA 無料練習問題①

AWSドキュメント

VPC フローログを使用した IP トラフィックのログ記録 - Amazon Virtual Private Cloud
ネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャするため、フローログを作成します。