VPC Traffic Mirroring 試してみた。
はじめに
こんにちは、山田です。
現在関わっている案件で、VPC Traffic Mirroringを使用する機会があったので、ここに使用方法をまとめていきます。
VPC Traffic Mirrorring概要
VPC Traffic Mirroringは、EC2インスタンスからのネットワークトラフィックをミラーリングする機能になります。
ネットワークトラフィックをコピーして、VXLANでカプセル化
して宛先に送信します。
VXLANとは
VXLAN(Virtual eXtensible Local Area Network)とは、L3ネットワーク上に論理的なL2ネットワークを構築するトンネリングプロトコルのことです。VXLANでは、VXLAN IDを使用してイーサネットフレームをカプセル化することでトンネリングを実現しています。
VXLANを使用すると、Layer3ネットワークを超えて移動することが可能になります。
構成図
構成図は以下の通りです。
・Mirrorソースは、EC2(1号機)、MirrorターゲットはEC2(2号機)を指定します。
・フィルターするトラフィックは、Mirrorソースからの80番ポートのTCP通信とする。
VPC Traffic Mirrorring構築
実際の構築手順を以下に記載していきます。
ミラーターゲット作成
VPCのコンソール画面を開き、「ミラーターゲット」→「トラフィックミラーターゲットの作成」をクリックする。
名前、説明を入力し、ターゲットタイプは「ネットワークインターフェース」選択し、ターゲットは対象のENIを選択します。
トラフィックミラーフィルター作成
VPCのコンソール画面を開き、「ミラーフィルター」→「トラフィックミラーフィルタの作成」をクリックする。
名前、説明を入力し、インバウンドルールに送信元ポート範囲に80番を指定し、送信元CIDRブロック、送信先CIDRブロックを指定する。
トラフィックミラーセッション作成
VPCのコンソール画面を開き、「ミラーフィルター」→「トラフィックミラーセッションの作成」をクリックする。
名前、説明を入力しミラーソースのENIを選択し、ミラーターゲットは先ほど作成したミラーターゲットを指定する。
フィルタも先程作成したミラーフィルターを指定する。
動作確認
ターゲットインスタンスにて、 tcpdump を使ってパケットキャプチャーします。
$ sudo tcpdump -i eth0 -n port 4789
ソースインスタンスにて、curlコマンドを実行した際、ターゲットインスタンスにてパケットがキャプチャーされることを確認します。
↓
Wiresharkで確認
Wiresharkにて確認できるように、pcap 形式でパケットを保存します。
$ sudo tcpdump -i eth0 -n port 4789 -w testdump.pcap
保存したパケットをWiresharkにて確認します。
VPC Traffic Mirrorring考慮事項
VPC Traffic Mirrorring考慮事項に関しては、、以下のページに記載されています。
終わりに
今回は、VPC Traffic Mirroringについて記載しました。
今回記載した記事が、少しでもだれかの役に立てばと感じています。
ありがとうございました。
以上。
Discussion