【入門編】 VPCトラフィックミラーリングによるENIパケット抽出とVXLANカプセル化 – クラウドインフラと仮想化ネットワーク実践ガイド

こんにちは!インフラエンジニアとして日々クラウドの裏側を覗き込んでいる筆者です。

今日は、AWSネットワークの「禁断の魔術」とも言える「VPCトラフィックミラーリング」について紐解いていきたいと思います。「パケットをコピーする」「VXLANで包む」なんて聞くと、なんだかSF映画のハッキングシーンみたいでワクワクしませんか?

でも安心してください。仕組みさえ分かってしまえば、これはネットワークにおける「郵便物の転送サービス」と同じくらいシンプルで便利なツールなんです。一緒に一歩ずつ理解していきましょう!

—

1. なぜ「トラフィックミラーリング」が必要なの?

皆さんは、自分のマンションの郵便受けにどんな手紙が届いているか、全部把握できていますか? 普通は「届いた手紙を開ける」まで中身は分かりませんよね。

ネットワークも同じです。ENI(Elastic Network Interface:サーバーのネットワークカードのようなもの)を通過するパケットは、基本的には「サーバーに届いて処理されるだけ」です。しかし、セキュリティ事故の調査や、詳細な通信分析を行いたいとき、「届いた手紙のコピーをもう一部作って、別の専門家に渡したい」という状況が発生します。

これが「トラフィックミラーリング」の役割です。

—

2. 郵便の「転送サービス」で例えるVXLANの仕組み

ここから少しだけ技術的な話をしますが、難しく考えないでください。

パケットをそのまま別のサーバーに送ろうとすると、宛先が変わってしまってネットワークが混乱します。そこで登場するのが「VXLAN(ヴイ・エックス・ラン)」という魔法の封筒です。

1. コピー作成: 目的のENIを通過するパケットをコピーします(元の通信には一切影響しません!)。
2. VXLANカプセル化(封筒に入れる): コピーしたパケットを、新しい「VXLANヘッダー」という特別な封筒に入れます。これにより、元の宛先がどこであれ、目的の監視用サーバーまで安全に届けることができます。
3. 転送: 監視用サーバーは、届いた大きな封筒を開け、中から元のパケットを取り出して分析します。

この「封筒に入れる」作業をカプセル化と呼ぶわけですね。

—

3. さあ、実際に設定してみよう!

AWSでトラフィックミラーリングを設定するには、大きく分けて3つのステップが必要です。ここはCLIでサクッと見ていきましょう。

手順1:ミラーターゲット(受け取り側)を作る

まずは、パケットを受け取る「監視用サーバー」を指定します。

# ミラーターゲットを作成(監視サーバーのENIを指定します)
aws ec2 create-traffic-mirror-target \
    --network-interface-id eni-1234567890abcdef0 \
    --description "分析用サーバーのENIです"

手順2:フィルタリングルールを決める

「全部のパケットをコピーするとサーバーがパンクする!」という時のために、必要な通信だけを選ぶルールを作ります。

# 全てのトラフィック(プロトコル番号-1)を許可するルールを作成
aws ec2 create-traffic-mirror-filter-rule \
    --traffic-mirror-filter-id tmf-0a1b2c3d4e5f6g7h8 \
    --traffic-direction ingress \
    --rule-number 100 \
    --rule-action accept \
    --destination-cidr-block 0.0.0.0/0 \
    --source-cidr-block 0.0.0.0/0 \
    --protocol -1

手順3:ミラーセッションを開始する

最後に、「どのENIのパケットを」「どこへ」送るかを紐付けます。

# セッションの作成(ここが心臓部です!)
aws ec2 create-traffic-mirror-session \
    --traffic-mirror-target-id tmt-11111111111111111 \
    --traffic-mirror-filter-id tmf-0a1b2c3d4e5f6g7h8 \
    --network-interface-id eni-99999999999999999 \
    --session-number 1

—

4. 注意点:SREとしての「現場の知恵」

ここまで設定できれば、あとは分析ツール(WiresharkやZeekなど)でパケットを読み解くだけです。ただ、現場のエンジニアとして一つだけ忠告させてください。

  • 帯域コストにご用心: ミラーリングしたパケット分だけ、当然ながら転送量(データ転送コスト)が発生します。特に高トラフィックな環境では、コストが跳ね上がる可能性があります。
  • MTU(最大転送単位)を意識する: VXLANヘッダーを付与すると、パケットのサイズが少し大きくなります。もし通信経路でパケットサイズ制限が厳しいと、途中でパケットが砕け散る(断片化する)ことがあるので注意してください。

—

まとめ:ネットワークの「見える化」は強力な武器

いかがでしたか? トラフィックミラーリングは、一見すると難解な技術に見えますが、「パケットをコピーして封筒に入れて転送する」というシンプルな仕組みです。

これを使えば、ブラックボックスになりがちなクラウド内の通信を、まるでレントゲン写真のように透かして見ることができます。トラブルシューティングの際、あるいはセキュリティ監査の際、この武器を持っているかどうかで、あなたのエンジニアとしての対応力は大きく変わります。

ぜひ、検証環境で一度試してみてください。最初は小さなパケット一つを追いかけるだけでも、ネットワークの面白さがグッと深まるはずですよ!

それでは、また次回の記事でお会いしましょう!Happy Clouding!

コメント

タイトルとURLをコピーしました