🦔

VPC Traffic Mirroring 試してみた。

2022/11/28に公開

はじめに

こんにちは、山田です。
現在関わっている案件で、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ネットワークを超えて移動することが可能になります。
https://www.infraexpert.com/study/virtual3.html

構成図

構成図は以下の通りです。

・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考慮事項に関しては、、以下のページに記載されています。
https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html

終わりに

今回は、VPC Traffic Mirroringについて記載しました。
今回記載した記事が、少しでもだれかの役に立てばと感じています。
ありがとうございました。

以上。

Discussion