Upgrade to Pro — share decks privately, control downloads, hide ads and more …

1800秒でわかる! VPCトラフィックミラーリング機能

Avatar for NRI Netcom NRI Netcom PRO
September 29, 2025

1800秒でわかる! VPCトラフィックミラーリング機能

Avatar for NRI Netcom

NRI Netcom PRO

September 29, 2025
Tweet

More Decks by NRI Netcom

Other Decks in Technology

Transcript

  1. 1 Copyright(C) NRI Netcom, Ltd. All rights reserved. ごあいさつ 00

    VPCトラフィックミラーリングとは 01 VPCトラフィックミラーリングのセットアップの流れ 02 まとめ 03
  2. 3 Copyright(C) NRI Netcom, Ltd. All rights reserved. 本日の勉強会について ◼

    概要 ⚫ VPCトラフィックミラーリング機能はご存じの方も多いと思いますが、ネットワークの脅威検出などの 明確な目的がない限り使うことがない機能でもあります。 ⚫ 今回はVPCトラフィックミラーリング機能のセットアップの流れを30分で解説します。 ◼ こんな方にオススメ ⚫ tcpdumpが好きな方 ⚫ VPCトラフィックミラーリングに興味がある方 ◼ アジェンダ ⚫ VPCトラフィックミラーリングとは ⚫ VPCトラフィックミラーリングのセットアップの流れ ⚫ まとめ 0章 ごあいさつ
  3. 4 Copyright(C) NRI Netcom, Ltd. All rights reserved. プロフィール(和田 将利)

    0章 ごあいさつ 【配属履歴】 ◼ 2020年06月 NRIネットコム株式会社入社 ◼ 2024年01月 デロイト トーマツ ウェブサービス株式会社入社 ◼ 2025年02月 NRIネットコム株式会社入社 ⚫ 以降、プリセールス、CCoE業務に従事 ⚫ 現在 クラウドテクニカルセンター 課長代理 【スキル、取得資格】 ◼ バックエンド、バッチ処理のパフォーマンスチューニング ◼ 上記スキルを軸とした提案活動、プロジェクト立ち上げ ◼ 情報処理技術者試験(応用情報技術者、ネットワークスペ シャリスト) ◼ AWS認定 ⚫ 2022 APN ALL AWS Certifications Engineers 【主な業務経歴】 ◼ EC ⚫ 大手動画配信サービス データ基盤構築、運用 ⚫ 大手動画配信サービス Webアプリケーション基盤運用 ⚫ 大手動画配信サービス 動画配信基盤運用 ◼ 公共 ⚫ 政令指定都市 ガバメントクラウド運用管理補助者 提案、プロジェクト マネージャ、テックリード ◼ エンターテイメント ⚫ 大手ゲーム会社 決済システム構築、運用、改善 ⚫ 大手ゲーム会社 社内向けシステム構築、運用、改善 ⚫ 大手ゲーム会社 スマートフォンゲーム バックエンド基盤構築、運用 ◼ その他 ⚫ AWS MSP認定監査対応
  4. 6 Copyright(C) NRI Netcom, Ltd. All rights reserved. VPCトラフィックミラーリングとは ◼

    特定のENIに出入りするパケットそのものをミラーし、別の場所に転送する ⚫ ENI: EC2やRDS等に紐づく仮想ネットワークインターフェース ◼ VPCトラフィックミラーリングの構成要素 ⚫ ソース • パケットをミラーするENIを指定 ⚫ ターゲット • ミラーしたパケットの転送先 • ENI, NetworkLoadBalancer, GatewayLoadBalancerを指定可能 ⚫ フィルタ • ミラーするパケットの条件を指定する ⚫ セッション • ソース、ターゲット、フィルタを指定し、トラフィックミラーリングを実行 1章 VPCトラフィックミラーリングとは
  5. 7 Copyright(C) NRI Netcom, Ltd. All rights reserved. VPCトラフィックミラーリングとは 1章

    VPCトラフィックミラーリングとは AWS Cloud Region Virtual private cloud (VPC) EC2 Instance (ソース) Internet User Elastic network interface EC2 Instance (ターゲット) Traffic mirroring (セッション) フィルタ設定に応じて Targetにミラー トラフィックミラーリングは 同一リージョン内のみ対応 VXLANパケットとして UDP 4789番ポートに転送 同一VPCまたはVPC Peering したVPCにミラーを可能
  6. 8 Copyright(C) NRI Netcom, Ltd. All rights reserved. VPCトラフィックミラーリングのユースケース ◼

    ディープパケットインスペクションによるネットワーク内の脅威の検出 ⚫ 例 TrendMicro Deep Discovery Inspector • AMIで提供される仮想アプライアンス ◼ トラブルシューティング ◼ テスト ⚫ 「本番環境へのリクエストを開発環境に転送し、追加した機能にデグレがないかを確認」 ⚫ GitHub - aws-samples/http-requests-mirroring ◼ VPC Flowlogとの違い ⚫ 送信元IP, 送信先IP, 許可or拒否, 時刻, 転送データサイズが記録される ⚫ パケットの中身そのものは見られない 1章 VPCトラフィックミラーリングとは
  7. 10 Copyright(C) NRI Netcom, Ltd. All rights reserved. トラフィックミラーリングのセットアップの流れ 1.

    ミラーターゲットの作成 2. ミラーフィルタの作成 3. ミラーセッションの作成 4. (任意)VXLANパケットからTCPパケットの取り出し 2章 トラフィックミラーリングのセットアップの流れ
  8. 11 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1 ミラーターゲットの作成

    2章 トラフィックミラーリングのセットアップの流れ VPCの一番下 ターゲットとする EC2インスタンスの ENIを確認して入力 ターゲットインスタンスの SecurityGroupで UDP 4789番ポートを許可 ◼ ターゲットインスタンスでUDP 4789番ポートを許可する必要があることに注意
  9. 12 Copyright(C) NRI Netcom, Ltd. All rights reserved. 2 ミラーフィルタの作成

    2章 トラフィックミラーリングのセットアップの流れ ◼ ミラーフィルタでインバウンドルールとアウトバウンドルールを指定する ◼ 今回はHTTPサーバのトラフィックミラーリングを想定 ⚫ リクエストの内容を見たい場合 • インバウンドルールのみを設定 ⚫ リクエストの内容に加えてレスポンスの内容も見たい場合 • インバウンドルールとアウトバウンドルールを設定 • 送信元ポート番号を80を指定し、「HTTPリクエストの戻り」のパケットのみ取得するようにする
  10. 13 Copyright(C) NRI Netcom, Ltd. All rights reserved. 3 ミラーセッションの作成

    2章 トラフィックミラーリングのセットアップの流れ ◼ 先に作成したターゲット、フィルタ、およびソースENIを指定してミラーセッションを作成する VNI(VXLAN ID)は わかりやすいIDがオススメ
  11. 14 Copyright(C) NRI Netcom, Ltd. All rights reserved. トラフィックミラーリングの確認 2章

    トラフィックミラーリングのセットアップの流れ ◼ ターゲットインスタンスでtcpdump実行 ⚫ tcpdump –i eth0 port 4789 -A 02:02:36.768244 IP ip-10-8-1-71.ap-northeast-1.compute.internal.65504 > ip-10-8-1-30.ap-northeast-1.compute.internal.4789: VXLAN, flags [I] (0x08), vni 1234 IP xxx.xxx.xxx.xxx.47274 > ip-10-8-1-71.ap-northeast-1.compute.internal.http: Flags [P.], seq 1:498, ack 1, win 229, options [nop,nop,TS val 862956292 ecr 3588024290], length 497: HTTP: GET / HTTP/1.1 E..W.......! ..G ........C.......... h.... ]...3..E..%[email protected]..]yS.. ..G...PR."F.){.....L...... 3o......GET / HTTP/1.1 Host: 13.114.180.185 Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: identity Accept-Language: ja,en;q=0.9,en-GB;q=0.8,en-US;q=0.7 Connection: close
  12. 15 Copyright(C) NRI Netcom, Ltd. All rights reserved. トラフィックミラーリングの確認 2章

    トラフィックミラーリングのセットアップの流れ ◼ フィルタのアウトバウンド側ルールで戻りのパケットについても指定すると、レスポンス内容についても取得可能 02:02:36.768489 IP ip-10-8-1-71.ap-northeast-1.compute.internal.65504 > ip-10-8-1-30.ap-northeast-1.compute.internal.4789: VXLAN, flags [I] (0x08), vni 1234 IP ip-10-8-1-71.ap-northeast-1.compute.internal.http >xxx.xxx.xxx.xxx.47274: Flags [FP.], seq 1:235, ack 498, win 486, options [nop,nop,TS val 3588024299 ecr 862956292], length 234: HTTP: HTTP/1.1 200 OK E..P.......( ..G ........<.......... ]...3 [email protected] ..GyS...P...){.R.$7........... ....3o..HTTP/1.1 200 OK Server: nginx/1.28.0 Date: Wed, 10 Sep 2025 02:02:36 GMT Content-Type: text/html Content-Length: 5 Last-Modified: Thu, 28 Aug 2025 07:55:05 GMT Connection: close ETag: "68b00b59-5" Accept-Ranges: bytes TEST
  13. 16 Copyright(C) NRI Netcom, Ltd. All rights reserved. 4 (任意)VXLANパケットからTCPパケットの取り出し

    2章 トラフィックミラーリングのセットアップの流れ ◼ tcpdump結果からわかるように、ミラーされたパケットはVXLANパケットにカプセル化されている。 ◼ tcpdumpの結果を眺めるだけであればこのままでも支障がないが、TCPパケットとして扱いたい場合は VXLANパケットからTCPパケットの取り出しを行う必要がある。 02:02:36.768244 IP ip-10-8-1-71.ap-northeast-1.compute.internal.65504 > ip-10-8-1-30.ap-northeast-1.compute.internal.4789: VXLAN, flags [I] (0x08), vni 1234 IP xxx.xxx.xxx.xxx.47274 > ip-10-8-1-71.ap-northeast-1.compute.internal.http: Flags [P.], seq 1:498, ack 1, win 229, options [nop,nop,TS val 862956292 ecr 3588024290], length 497: HTTP: GET / HTTP/1.1 E..W.......! ..G ........C.......... h.... ]...3..E..%[email protected]..]yS.. ..G...PR."F.){.....L...... 3o......GET / HTTP/1.1 Host: 13.114.180.185 Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: identity Accept-Language: ja,en;q=0.9,en-GB;q=0.8,en-US;q=0.7 Connection: close
  14. 17 Copyright(C) NRI Netcom, Ltd. All rights reserved. 4 (任意)VXLANパケットからTCPパケットの取り出し

    2章 トラフィックミラーリングのセットアップの流れ ◼ ターゲットインスタンスで以下のコマンドを実行し、サーバ内にVXLANインターフェースを作成する ◼ vxlan0インターフェースには取り出されたTCPパケットが流れるため、 tcpdump –i vxlan0 port 80 のように、tcpdumpコマンド側でフィルタが可能 # ip link add vxlan0 type vxlan id <VXLANID> dev eth0 dstport 4789 # ip link set vxlan0 up 02:28:33.076943 IP xxx.xxx.xxx.xxx.32806 > ip-10-8-1-71.ap-northeast-1.compute.internal.http: Flags [P.], seq 1:560, ack 1, win 229, options [nop,nop,TS val 864512597 ecr 3589580599], length 559: HTTP: GET / HTTP/1.1 E..c'[email protected].. ..G.&.P.d..0..e.....{..... 3.jU...7GET / HTTP/1.1 Host: 13.114.180.185 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: identity Accept-Language: ja,en;q=0.9,en-GB;q=0.8,en-US;q=0.7 If-None-Match: "68b00b59-5" If-Modified-Since: Thu, 28 Aug 2025 07:55:05 GMT Connection: close
  15. 19 Copyright(C) NRI Netcom, Ltd. All rights reserved. まとめ ◼

    VPCトラフィックミラーリングを利用すると、同一リージョン内において 同一VPC、またはVPC Peering済みのVPCに対してENIの通信をENIにミラーリングすることができる。 ◼ トラフィックミラーリングは以下の用途で活用可能。 ⚫ 仮想アプライアンスを用いたディープパケットインスペクション ⚫ トラブルシューティング ⚫ HTTPリクエストのミラーリング ◼ ミラーフィルタを設定することで、リクエストのみ、リクエスト+レスポンスのミラーリングといった制御が可能。 ◼ ターゲットにはVXLANパケットとして転送されるため、TCPパケットとして扱うには工夫が必要。