SSM Automation Runbook “AWSSupport-ConfigureTrafficMirroring” を利用して VPC Traffic Mirroring を設定してみた
はじめに
テクニカルサポートの 片方 です。
今回は、NLB + EC2 インスタンス構成で SSM Automation Runbook “AWSSupport-ConfigureTrafficMirroring” を利用して VPC Traffic Mirroring を設定してみました。
やってみた
NLB + EC2 インスタンスの環境を作成した後、ランブックを実行します。
※ Traffic Mirroring 用の UDP 4789 リスナーも作成しており、ヘルスチェックは正常の状態です。



準備が完了したので、該当のランブックを実行するための設定を行います。
1. SSM マネジメントコンソール画面へアクセス
2. 下部の左ペイン [共有リソース] セクションの ドキュメントをクリック
3. Amazon が所有を選択 ⇒ 検索窓に "AWSSupport-ConfigureTrafficMirroring" を記載

4. ドキュメントを選択
5. 右上 [オートメーションを実行する] を選択

6. シンプルな実行 (Simple execution) を選択
7. 入力パラメータ (Input parameters) に以下を記載します。
- Target : ミラーリングされたトラフィックの宛先 例: NLB ARN や ENI ID
- SourceENI : トラフィックをミラーリングしたい ENI
- SessionNumber : 使用するミラーセッションの番号 (有効な値: 1 - 32766)
- AutomationAssumeRole (オプション) : SSMがユーザーに代わってアクションを実行できるようにする IAM ロール
※ 当該設定をしている IAM ユーザーに ドキュメント 記載の権限許可が存在しない場合は、当該権限を有するロール作成をしてください。その後、AutomationAssumeRole に当該ロールを設定してください。
検証では、以下のように記載しました。

8. 右下の [Execute] をクリック
設定は以上です。完了するまでしばらく待ちます。
以下のようになれば、正常に完了しています。

今回の検証では、CreateTarget.TargetId : tmt-01fa8622a92ffbcb7 が作成されています。
そのため、ランブックを実行した対象 NLB のマネジメントコンソール画面でも統合されていることが確認できました。

トラフィックミラーリング側の状況を確認します。




この結果、ドキュメント記載の通り Amazon DNS を除くすべてのプロトコルのすべてのインバウンドトラフィックとアウトバウンドトラフィックのミラーリングを設定していました。
なお、送信先からのトラフィックをミラーリングする場合は、自動化が完了した後にインバウンドルールとアウトバウンドルールを変更できます。
補足
ミラートラフィックの実動確認(tcpdump)を行いました。
Traffic Mirroring の設定が完了したあとは、実際にミラートラフィックがミラー先へ届いているかを確認します。
今回は、ミラー先として指定した NLB 配下の EC2 インスタンス上で tcpdump を用いて確認しました。
ミラー先 EC2 インスタンスに SSH 接続し、以下のコマンドを実行します。
$ sudo tcpdump -i any udp port 4789
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65467 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65460 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65467 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65460 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65467 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65460 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65467 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65460 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65467 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65460 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP truncated-ip - 50 bytes missing! ip-10-0-25-230.ap-northeast-1.compute.internal.65467 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
[|ether]
15:46:12.733188 ens5 In IP ip-10-0-25-230.ap-northeast-1.compute.internal.65464 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65432 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65530 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65415 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65477 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65453 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65485 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65496 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65512 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65450 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.65520 > ip-10-0-25-230.ap-northeast-1.compute.internal.vxlan: VXLAN, flags [I] (0x08), vni 9488860
IP ip-10-0-25-230.ap-northeast-1.compute.internal.47090 > ec2-52-195-202-255.ap-northeast-1.compute.amazonaws.com.https: Flags [P.], seq 0:186, ack 1, win 2594, options [nop,nop,TS val 2355896877 ecr 1688541878], length 186
20 packets captured
11300 packets received by filter
10645 packets dropped by kernel
sh-5.2$ ^C
VXLAN, flags [I] (0x08), vni 9488860 といった出力が確認できたので、ミラーセッションが確立し、実際に転送されていることが認識可能です。
まとめ
本ブログが誰かの参考になれば幸いです。
参考資料
- AWSSupport-ConfigureTrafficMirroring - AWS Systems Manager Automation Runbook Reference
- What is Traffic Mirroring? - Amazon Virtual Private Cloud
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました






