🎯 結論ファースト:30秒でわかるまとめ

📹 トラフィックミラーリング

パケットの中身(ペイロード)まで丸ごとコピーして分析ツールに送る。マルウェアの検出や詳細なフォレンジック調査に使う「ディープ分析」機能。

📋 VPC Flow Logs

通信のメタデータ(誰が・どこへ・いつ)だけを記録する。日常的なトラフィック監視やセキュリティグループのトラブルシューティングに使う「概要ログ」機能。

💡 中身を見たいなら「ミラーリング」、通信記録を残したいなら「Flow Logs」

🏢 たとえ話:オフィスビルのセキュリティで理解しよう

VPCトラフィックミラーリングとVPC Flow Logsの違いは、
オフィスビルの「防犯カメラ」「入退室記録ノート」の違いに似ています。

防犯カメラ(映像録画)

= トラフィックミラーリング
  • 人の動き・持ち物・表情まですべて映像で記録
  • 「何を持ち込んだか」の中身まで確認できる
  • 不審な行動の詳細な分析が可能
  • 設備費・保管費が高い(大量データ)
  • 重要エリアに絞って設置するのが現実的

入退室記録ノート

= VPC Flow Logs
  • 「誰が・いつ・どの部屋に」入退室したかの記録だけ
  • 持ち物の中身は記録しない
  • 傾向分析や「許可/拒否」の確認に便利
  • コストが安い(テキストログのみ)
  • ビル全体に広く導入しやすい

🔄 たとえ話 → AWSへの対応表

オフィスビルのたとえ 📹 トラフィックミラーリング 📋 VPC Flow Logs
記録するもの 映像(すべての動き)→ パケット全体(ヘッダー+ペイロード) 入退室ノート(名前・時刻)→ メタデータ(IP・ポート・バイト数)
設置場所 特定フロアのカメラ → ENI(EC2・NLB等) 全館の入退室システム → VPC / サブネット / ENI
録画の送り先 警備室のモニター → NLB / ENI / GLBエンドポイント 記録簿の保管庫 → CloudWatch / S3 / Firehose
フィルタ 「3階のエレベーター前だけ録画」→ プロトコル / ポート / IP 「許可された入室だけ記録」→ ACCEPT / REJECT フィルタ
コスト感 高い(大容量映像ストレージ) 安い(テキストログのみ)

🏗️ 仕組みの図解:データの流れを見てみよう

📹 トラフィックミラーリングの流れ

🖥️ EC2 インスタンス ミラーソース(ENI) 🌐 通信先 実際のトラフィック パケットのコピー 🔧 ミラーフィルタ ポート/IP/プロトコル 🎯 ミラーターゲット NLB / ENI / GLBエンドポイント 🔬 セキュリティ分析ツール Suricata / Zeek / IDS/IPS 取得できるデータ ✅ IPヘッダー情報 ✅ TCPヘッダー情報 ✅ HTTPヘッダー ✅ ペイロード(中身) ✅ DNS クエリ内容 ✅ SQLインジェクション検出 ✅ マルウェア通信パターン

📋 VPC Flow Logs の流れ

🌐 VPC 🖥️ EC2 ENI-1 🖥️ EC2 ENI-2 ⚖️ ALB ENI-3 🗄️ RDS ENI-4 メタデータ自動収集 ↓ 📝 Flow Log レコード src-ip dst-ip port protocol packets bytes ACCEPT/REJECT ☁️ CloudWatch Logs 🪣 S3 Bucket 取得できるデータ ✅ 送信元 IP ✅ 宛先 IP ✅ 送信元ポート ✅ 宛先ポート ✅ プロトコル番号 ✅ パケット数 ✅ バイト数 ✅ タイムスタンプ ✅ ACCEPT / REJECT ✅ VPC / サブネット ID ❌ ペイロード(中身) ❌ HTTPリクエスト内容

🎯 ユースケース:どんな場面で使う?

📹 トラフィックミラーリングが適する場面

🦠 マルウェア・不正通信の検出

パケットの中身を分析し、既知のマルウェアシグネチャや不審なパターンを検出する

🔬 フォレンジック調査

セキュリティインシデント発生後に、通信内容を詳細に調査して攻撃手法を特定する

🛡️ IDS/IPS(侵入検知/防御)

SuricataやZeekなどのツールにミラーパケットを送り、リアルタイムで脅威を検知する

🐛 アプリケーションのデバッグ

実際の通信内容を見て、APIリクエスト/レスポンスの問題を特定する

📋 VPC Flow Logs が適する場面

🔒 セキュリティグループの検証

「REJECT」されたトラフィックを確認し、セキュリティグループやNACLの設定ミスを発見する

📊 トラフィックの傾向分析

どのIPアドレス間でどれくらいの通信が発生しているか、傾向を可視化する

📜 コンプライアンス・監査対応

「いつ・誰が・どこに通信した」の記録を保持し、監査要件を満たす

🔧 接続トラブルシューティング

「EC2に接続できない」問題の原因が、セキュリティグループかNACLか特定する

🧭 使い分け判断フロー

「どちらを使えばいいか迷ったら」このフローで判断できます。

パケットの中身 (ペイロード)が必要? Yes 📹 ミラーリング ディープ分析 No リアルタイムの 脅威検知が必要? Yes 📹 ミラーリング IDS/IPS連携 No 通信パターン・傾向の 把握で十分? Yes 📋 Flow Logs コスト効率◎ No(両方必要) 📹📋 両方を併用 💡 多くの場合 まずはFlow Logsから始めて 必要に応じてミラーリング追加 ⚠️ ミラーリングの注意 Nitroベースの インスタンスタイプが必要

📊 詳細比較テーブル

比較項目 📹 トラフィックミラーリング 📋 VPC Flow Logs
取得データ パケット全体(ヘッダー+ペイロード) メタデータのみ(ヘッダー情報に基づく)
対象レベル ENI(EC2・NLB単位) VPC / サブネット / ENI
データ送信先 NLB / ENI / Gateway LBエンドポイント CloudWatch Logs / S3 / Firehose
フィルタリング プロトコル / ポート / IPアドレス ACCEPT / REJECT / カスタムフォーマット
コスト 高い(大容量データ転送+分析基盤が必要) 安い(ログストレージ料金のみ)
セットアップ 中〜高(分析ツールの構築も必要) 低い(数クリックで有効化)
代表的な用途 IDS/IPS、フォレンジック、マルウェア検出 監査、トラブルシュート、傾向分析
制限事項 Nitroベースのインスタンスが必要 パケット中身は見えない

⚠️ 運用時の注意ポイント

💰 コストに関する注意

トラフィックミラーリングはパケット全体をコピーするため、大量のデータ転送が発生します。本番環境の全トラフィックをミラーリングすると、コストが急増する可能性があります。

対策として、ミラーフィルタで対象を特定のポートやプロトコルに絞ったり、重要なインスタンスのみに適用するのが現実的です。

Flow Logsはテキストベースのログなので比較的安価ですが、VPC全体に有効化すると保管コストが蓄積します。S3のライフサイクルポリシーで古いログの自動削除を設定しましょう。

🔧 セットアップに関する注意

トラフィックミラーリングは、ミラー先の分析ツール(Suricata、Zeek等)を自分で構築・運用する必要があります。AWSはパケットのコピーを届けるまでが役割で、分析は利用者側の責任です。

また、Nitroベースのインスタンスタイプが必要です。旧世代のインスタンス(t2、m4等)ではミラーリングが使えません。

Flow LogsはAWSコンソールから数クリックで有効化でき、CloudWatch LogsやS3にそのまま保存できるため導入ハードルは低いです。

🎓 まとめ

📹 トラフィックミラーリング

パケットの中身まで丸ごと分析する「防犯カメラ」。IDS/IPSやフォレンジック調査に使う高度なセキュリティ機能。コストと構築の手間は大きいが、ディープな脅威分析が可能。

📋 VPC Flow Logs

通信の概要を記録する「入退室ノート」。トラフィック監視・トラブルシューティング・コンプライアンスの基本ツール。安価で導入が簡単。まず最初に有効化すべき機能。

🏆 ベストプラクティス:まず Flow Logs を全VPCに有効化し、高度なセキュリティ要件があるワークロードにのみミラーリングを追加する

Created by SSuzuki1063

AWS SAP Learning Resources