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

防犯カメラシステムで理解する!ネットワーク監視の完全ガイド

🔍 ネットワークの「見える化」を実現!

VPCトラフィックミラーリング = ネットワークの防犯カメラ

お店に防犯カメラを設置するように、
VPC内のネットワークトラフィックを コピーして別の場所で分析 できる機能です。

実際のトラフィックに 影響を与えずに
セキュリティ監視やトラブルシューティングが可能になります✨

🏬 防犯カメラシステムで完全理解!

🏪

実世界の例:コンビニの防犯カメラ

📷 お店の状況:
コンビニでは、お客様の動きを防犯カメラで録画しています。
🎥 カメラの仕組み:
• お客様の買い物を 邪魔せずに 録画
• 映像を バックヤードのモニター に送信
• 不審な動きがあれば アラート を出す
• 後から 映像を確認 して分析
💡 ポイント:
カメラがあっても、お客様の買い物体験には影響なし!
でもセキュリティはしっかり確保できる。
☁️

AWSの例:トラフィックミラーリング

🌐 VPCの状況:
EC2インスタンス間のネットワーク通信を監視したい。
📡 ミラーリングの仕組み:
• 実際の通信に 影響を与えずに コピー
• トラフィックを 分析用サーバー に送信
• 不正アクセスを 検知 する
• 後から パケットを分析 して調査
💡 ポイント:
ミラーリングしても、本番の通信には影響なし!
でもセキュリティ監視はバッチリ。

📚 トラフィックミラーリングの基本

🤔 そもそもトラフィックミラーリングとは?

ENI(Elastic Network Interface)を通過するトラフィックをコピーして、別の場所に送信する機能 です。

防犯カメラが店内の映像をコピーしてモニターに送るように、
ネットワークの通信データをコピーして分析ツールに送ります。

重要なのは、 元のトラフィックには一切影響を与えない こと!
お客様(ユーザー)は通常通りサービスを利用でき、
裏側でセキュリティチームが監視・分析を行えます。

🧩 4つの主要コンポーネント

📹
ミラーソース
Mirror Source(監視対象)
監視したいトラフィックの発生元

• EC2インスタンスのENI(ネットワークインターフェース)
• 複数のENIを1つのセッションで指定可能
• Nitroベースのインスタンスが対象
🏪 たとえ: 防犯カメラを設置する場所 (レジ前、入口など)
🖥️
ミラーターゲット
Mirror Target(送信先)
コピーしたトラフィックの送信先

• ENI(単一インスタンス)
• NLB(Network Load Balancer)
• GWLB(Gateway Load Balancer)
🏪 たとえ: モニタールーム (映像を見る場所)
🔍
ミラーフィルター
Mirror Filter(選別ルール)
どのトラフィックをコピーするかのルール

• インバウンド/アウトバウンドで別々に設定
• プロトコル、ポート、IPで絞り込み
• Accept/Rejectで許可・拒否
🏪 たとえ: どのエリアを撮影するか (レジだけ?全体?)
🔗
ミラーセッション
Mirror Session(設定の組み合わせ)
ソース・ターゲット・フィルターを紐づけ

• 1つのENIにつき最大3セッション
• セッション番号で優先度を管理
• VXLAN形式でカプセル化して送信
🏪 たとえ: カメラの設定プロファイル (どこを・どこへ・何を)

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

💻
EC2インスタンス
ソース(監視対象)
➡️
📋
ENI
トラフィック発生点
➡️
🔍
フィルター適用
条件に合致するものだけ
➡️
📦
VXLANカプセル化
パケットを包む
➡️
🖥️
ターゲット
分析ツール
1 トラフィック発生
EC2インスタンス間で通常の通信が発生。Webサーバーへのリクエストなど。
2 ENIでコピー
ミラーソースに設定されたENIを通過するトラフィックがコピーされる。
3 フィルター適用
設定されたルールに基づき、必要なトラフィックだけを選別。
4 カプセル化
VXLANプロトコルでパケットをカプセル化。UDPポート4789を使用。
5 ターゲットへ送信
NLBやENI経由で分析ツール(Wireshark、Zeekなど)に送信。
6 分析・検知
セキュリティ分析、不正検知、トラブルシューティングを実施。

💼 ユースケース:こんな時に使う!

🛡️

セキュリティ監視・IDS/IPS

不正アクセスや攻撃パターンをリアルタイムで検知。侵入検知システム(IDS)や侵入防止システム(IPS)と連携。
例: SuricataやZeekでマルウェア通信を検知
🔬

フォレンジック分析

セキュリティインシデント発生時に、過去のトラフィックを詳細に分析して原因を特定。
例: データ漏洩の経路を特定
🔧

ネットワークトラブルシューティング

アプリケーションの通信問題やパフォーマンス低下の原因を調査。パケットレベルで分析。
例: Wiresharkで遅延の原因を特定
📊

コンプライアンス監査

規制要件に基づいたネットワークアクティビティの記録と監査。証跡の保存。
例: PCI DSS要件のための通信記録
📈

アプリケーション性能監視

マイクロサービス間の通信パターンを分析し、ボトルネックを発見。
例: API呼び出しのレイテンシ分析
🧪

開発・テスト環境での検証

本番トラフィックを開発環境に送り、新機能やセキュリティツールをテスト。
例: 新しいWAFルールの検証

📊 他のモニタリング方法との比較

項目 トラフィックミラーリング VPC Flow Logs CloudWatch
データの詳細度 ✅ フルパケット メタデータのみ メトリクスのみ
パケットの中身 ✅ 確認可能 ❌ 不可 ❌ 不可
リアルタイム分析 ✅ 可能 遅延あり ✅ 可能
コスト データ転送量に依存 ログ保存量に依存 メトリクス数に依存
セットアップ やや複雑 ✅ 簡単 ✅ 簡単
主な用途 深い分析・セキュリティ トラフィック傾向把握 性能監視
防犯カメラで例えると 🎥 フルHD録画 📋 入退室記録 📊 来客数カウンター

⚙️ 設定の手順

1
ミラーターゲットを作成
まず受け入れ先を準備!

• 分析ツール用のEC2インスタンスを起動
• または NLB/GWLB を設定
• セキュリティグループでUDP 4789を許可
2
ミラーフィルターを作成
何をコピーするかルールを定義!

• インバウンド/アウトバウンドルール
• プロトコル、ポート範囲、CIDR
• Accept(コピー)/ Reject(除外)
3
ミラーセッションを作成
ソース・ターゲット・フィルターを紐づけ!

• ミラーソースのENIを選択
• 作成したターゲットを指定
• 作成したフィルターを適用
• セッション番号(優先度)を設定
4
分析ツールを設定
受け取ったトラフィックを分析!

• VXLAN デカプセル化の設定
• Wireshark、Zeek、Suricata など
• アラート設定やダッシュボード作成
AWS CLI でのミラーセッション作成例
# 1. ミラーターゲットを作成(ENIの場合)
aws ec2 create-traffic-mirror-target \
    --network-interface-id eni-0123456789abcdef0 \
    --description "セキュリティ分析用ターゲット"

# 2. ミラーフィルターを作成
aws ec2 create-traffic-mirror-filter \
    --description "HTTPとHTTPSトラフィック"

# 3. フィルタールールを追加(HTTPをAccept)
aws ec2 create-traffic-mirror-filter-rule \
    --traffic-mirror-filter-id tmf-0123456789abcdef0 \
    --traffic-direction ingress \
    --rule-number 100 \
    --rule-action accept \
    --destination-port-range FromPort=80,ToPort=80 \
    --protocol 6 \
    --destination-cidr-block 0.0.0.0/0 \
    --source-cidr-block 0.0.0.0/0

# 4. ミラーセッションを作成
aws ec2 create-traffic-mirror-session \
    --network-interface-id eni-source123456789 \
    --traffic-mirror-target-id tmt-0123456789abcdef0 \
    --traffic-mirror-filter-id tmf-0123456789abcdef0 \
    --session-number 1 \
    --description "Webサーバー監視セッション"

💰 料金について

🆓
ミラーリング機能自体
追加料金なし!
機能の利用自体は無料です
📡
データ転送料金
ミラーしたトラフィック分の
データ転送料金が発生
🖥️
分析インスタンス
ターゲットのEC2や
NLBの利用料金が発生
💾
ストレージ
キャプチャデータを保存する
S3やEBSの料金が発生
⚠️ 知っておくべき制限事項
1. 対応インスタンスタイプ:
Nitroベースのインスタンスのみ対応。T2、M4などの旧世代は非対応。

2. セッション数の制限:
1つのENIにつき最大3つのミラーセッションまで。

3. 帯域幅の考慮:
ミラーリングされたトラフィックはソースENIの帯域幅を消費する場合あり。

4. クロスリージョン不可:
ソースとターゲットは同じVPC内、または同じリージョンのピアリングVPC内である必要。

5. MTUサイズ:
VXLANヘッダー追加により54バイト増加。ジャンボフレーム使用時は注意。
💡 ベストプラクティス
1. フィルターで絞り込む:
すべてのトラフィックをミラーリングするとコストと負荷が増大。必要なトラフィックだけを選択しよう。

2. NLBでスケール:
大規模環境では単一ENIターゲットではなく、NLB配下に複数の分析インスタンスを配置。

3. 段階的に導入:
最初は1つのENIから始めて、影響を確認しながら拡大していこう。

4. VPC Flow Logsと併用:
全体の傾向把握にはFlow Logs、深い分析にはトラフィックミラーリングと使い分け。

5. セキュリティグループ設定:
ターゲットのセキュリティグループでUDPポート4789(VXLAN)を忘れずに許可!

6. 暗号化トラフィックの考慮:
HTTPS等の暗号化トラフィックは中身を見れない。メタデータ分析や証明書情報の確認に活用。

🎓 まとめ

📹 防犯カメラ = トラフィックミラーリング

ネットワークトラフィックを コピーして別の場所で分析 する機能!
本番環境に 影響を与えずに セキュリティ監視が可能

📹
ソース
監視対象のENI
🖥️
ターゲット
分析ツールへ送信
🔍
フィルター
必要なものだけ選別
🔗
セッション
全体を紐づけ

🎯 こんな時に使おう:

🛡️ セキュリティ監視 - 不正アクセスを検知
🔬 フォレンジック - インシデント調査
🔧 トラブルシューティング - 通信問題の解析
📊 コンプライアンス - 監査証跡の取得

VPC Flow Logsが「入退室記録」なら、
トラフィックミラーリングは「フルHD防犯カメラ」📹

深い分析が必要なときの強力な味方です!🎉

Created by SSuzuki1063

AWS SAP Learning Resources