🔍 ネットワークの「見える化」を実現!
VPCトラフィックミラーリング = ネットワークの防犯カメラ
お店に防犯カメラを設置するように、
VPC内のネットワークトラフィックを
コピーして別の場所で分析
できる機能です。
実際のトラフィックに
影響を与えずに
、
セキュリティ監視やトラブルシューティングが可能になります✨
🏬 防犯カメラシステムで完全理解!
実世界の例:コンビニの防犯カメラ
コンビニでは、お客様の動きを防犯カメラで録画しています。
• お客様の買い物を 邪魔せずに 録画
• 映像を バックヤードのモニター に送信
• 不審な動きがあれば アラート を出す
• 後から 映像を確認 して分析
カメラがあっても、お客様の買い物体験には影響なし!
でもセキュリティはしっかり確保できる。
AWSの例:トラフィックミラーリング
EC2インスタンス間のネットワーク通信を監視したい。
• 実際の通信に 影響を与えずに コピー
• トラフィックを 分析用サーバー に送信
• 不正アクセスを 検知 する
• 後から パケットを分析 して調査
ミラーリングしても、本番の通信には影響なし!
でもセキュリティ監視はバッチリ。
📚 トラフィックミラーリングの基本
🤔 そもそもトラフィックミラーリングとは?
ENI(Elastic Network Interface)を通過するトラフィックをコピーして、別の場所に送信する機能
です。
防犯カメラが店内の映像をコピーしてモニターに送るように、
ネットワークの通信データをコピーして分析ツールに送ります。
重要なのは、
元のトラフィックには一切影響を与えない
こと!
お客様(ユーザー)は通常通りサービスを利用でき、
裏側でセキュリティチームが監視・分析を行えます。
🧩 4つの主要コンポーネント
• EC2インスタンスのENI(ネットワークインターフェース)
• 複数のENIを1つのセッションで指定可能
• Nitroベースのインスタンスが対象
• ENI(単一インスタンス)
• NLB(Network Load Balancer)
• GWLB(Gateway Load Balancer)
• インバウンド/アウトバウンドで別々に設定
• プロトコル、ポート、IPで絞り込み
• Accept/Rejectで許可・拒否
• 1つのENIにつき最大3セッション
• セッション番号で優先度を管理
• VXLAN形式でカプセル化して送信
🔄 トラフィックミラーリングの流れ
💼 ユースケース:こんな時に使う!
セキュリティ監視・IDS/IPS
フォレンジック分析
ネットワークトラブルシューティング
コンプライアンス監査
アプリケーション性能監視
開発・テスト環境での検証
📊 他のモニタリング方法との比較
| 項目 | トラフィックミラーリング | VPC Flow Logs | CloudWatch |
|---|---|---|---|
| データの詳細度 | ✅ フルパケット | メタデータのみ | メトリクスのみ |
| パケットの中身 | ✅ 確認可能 | ❌ 不可 | ❌ 不可 |
| リアルタイム分析 | ✅ 可能 | 遅延あり | ✅ 可能 |
| コスト | データ転送量に依存 | ログ保存量に依存 | メトリクス数に依存 |
| セットアップ | やや複雑 | ✅ 簡単 | ✅ 簡単 |
| 主な用途 | 深い分析・セキュリティ | トラフィック傾向把握 | 性能監視 |
| 防犯カメラで例えると | 🎥 フルHD録画 | 📋 入退室記録 | 📊 来客数カウンター |
⚙️ 設定の手順
• 分析ツール用のEC2インスタンスを起動
• または NLB/GWLB を設定
• セキュリティグループでUDP 4789を許可
• インバウンド/アウトバウンドルール
• プロトコル、ポート範囲、CIDR
• Accept(コピー)/ Reject(除外)
• ミラーソースのENIを選択
• 作成したターゲットを指定
• 作成したフィルターを適用
• セッション番号(優先度)を設定
• VXLAN デカプセル化の設定
• Wireshark、Zeek、Suricata など
• アラート設定やダッシュボード作成
# 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サーバー監視セッション"
💰 料金について
機能の利用自体は無料です
データ転送料金が発生
NLBの利用料金が発生
S3やEBSの料金が発生
Nitroベースのインスタンスのみ対応。T2、M4などの旧世代は非対応。
2. セッション数の制限:
1つのENIにつき最大3つのミラーセッションまで。
3. 帯域幅の考慮:
ミラーリングされたトラフィックはソースENIの帯域幅を消費する場合あり。
4. クロスリージョン不可:
ソースとターゲットは同じVPC内、または同じリージョンのピアリングVPC内である必要。
5. MTUサイズ:
VXLANヘッダー追加により54バイト増加。ジャンボフレーム使用時は注意。
すべてのトラフィックをミラーリングするとコストと負荷が増大。必要なトラフィックだけを選択しよう。
2. NLBでスケール:
大規模環境では単一ENIターゲットではなく、NLB配下に複数の分析インスタンスを配置。
3. 段階的に導入:
最初は1つのENIから始めて、影響を確認しながら拡大していこう。
4. VPC Flow Logsと併用:
全体の傾向把握にはFlow Logs、深い分析にはトラフィックミラーリングと使い分け。
5. セキュリティグループ設定:
ターゲットのセキュリティグループでUDPポート4789(VXLAN)を忘れずに許可!
6. 暗号化トラフィックの考慮:
HTTPS等の暗号化トラフィックは中身を見れない。メタデータ分析や証明書情報の確認に活用。
🎓 まとめ
📹 防犯カメラ = トラフィックミラーリング
ネットワークトラフィックを
コピーして別の場所で分析
する機能!
本番環境に
影響を与えずに
セキュリティ監視が可能
監視対象のENI
分析ツールへ送信
必要なものだけ選別
全体を紐づけ
🎯 こんな時に使おう:
🛡️
セキュリティ監視
- 不正アクセスを検知
🔬
フォレンジック
- インシデント調査
🔧
トラブルシューティング
- 通信問題の解析
📊
コンプライアンス
- 監査証跡の取得
VPC Flow Logsが「入退室記録」なら、
トラフィックミラーリングは「フルHD防犯カメラ」📹
深い分析が必要なときの強力な味方です!🎉