【AWSの呼吸 伍ノ型】VPC Traffic Mirroringの注意点をまとめました

f:id:wingfair:20210331005311p:plain

VPC Traffic Mirroringは使用上の制約がいくつかありますが、日本語の記事が少ない気がしたので書いておこうと思います。

目次

VPC Traffic Mirroringとは?

VPC内のネットワークトラフィックを任意のターゲットにミラーリングできるAWSマネージドサービスです。

どんなユースケースで使えるの?

ネットワークフォレンジックのようなセキュリティ要件でパケットデータを一か所に集約して保管・解析したい時などに活用できます。 例えば、以下の記事の中でミラーリングを構成している部分をAWSマネージドで代替することができます。

SORACOM Air SIMのトラフィックをSORACOM Junction + Moloch + Amazon ESで可視化する | DevelopersIO

構成イメージ

下図のような構成がとれます。

必要に応じて、Mirror Target側に3rd Party製のパケット解析ツールを入れることでパケットデータを管理できます。

f:id:wingfair:20210330232000p:plain
Traffic Mirroringの構成イメージ

詳細はこちらを参照してみてください。

最新 – VPC トラフィックミラーリング – ネットワークトラフィックを捉えて検査する | Amazon Web Services ブログ

注意点

Mirror Sourceはインスタンスタイプに制約あり

サポート対象はAWSのNitroインスタンス(A1, C5. M5, T3等)または一部の非Nitroインスタンスのみです。

サポート対象の非Nitroインスタンスはこちらをご参照ください。

一部の非 Nitro インスタンスタイプでの Amazon VPC Traffic Mirroring のサポートを開始

Mirror Sessionはインスタンスごとに作成する必要がある

特にAutoScalingを用いて水平スケーリングを実施しているような環境ではインスタンスの起動とともにMirror Sessionを作成する必要があります。 例えば、ユーザデータやLambdaを用いてインスタンス起動を契機に自動作成する方法などが考えられるかと思います。

なお、スケールイン時はインスタンスがTerminateされてENIが削除されるタイミングでMirror Sessionを勝手に削除してくれるため、削除処理を別途用意する必要はありません。

全てのプロトコルミラーリングできるわけではない

以下はミラーリングできないようです。

トラフィックのMTUを考慮する必要あり

Mirror SourceとなるENIのMTUをMirror TargetとなるENIのMTUより54byte小さくする必要があります。 これはVPC Traffic MirroringではパケットがVXLANでカプセル化されて送信されていて、その分のオーバヘッドとして54byteが必要になるためです。 例えば、Mirror SourceのMTUが9001だった場合、54byteを差し引いた8,947byteにMTUを設定します。

出典

今回ご紹介したような考慮点はこちらに書かれていますので、参考にしてみてください。

Traffic Mirroring quotas and considerations - Amazon Virtual Private Cloud

以上。