【AWS】VPC Traffic MirroringではUDP4789番の許可必要
隊長@音楽家兼エンジニア#今日はエンジニアです。
タイトルで結論書ききってますが、一応本文で補足。
仕事で発生したエラー調査のため、パケットキャプチャを仕掛けたい、という話が出ました。
ただ、検証機とはいえtcpdumpはサーバ負荷がかかるので、あまり実施したくないとのこと。
VPCフローログでは追い切れなさそうな内容だったので、ひかくてき新しいサービス「VPC Traffic Mirroring」を使用することに。
[新機能] EC2 インスタンス(Nitro)の通信内容をVPC側からミラーする VPC Traffic Mirroring が発表されました!
ただ、上記を参考にやろうとしたところなかなかパケットが流れてこない、、、
小一時間悩んだ結果、ターゲット側インスタンスでこのミラーリングに必要なポートが許可できてませんでした。
(悩んだらとりあえずポート全開放、って大事ですね。もちろん検証環境で、IPは絞ってください)
このTraffic Mirroringは内部的な技術でVXLANを使用しています。
VXLAN ID — The virtual network ID that you can assign to a traffic mirror session. If you do not assign a value, we assign a random value that is unique to all sessions in the account.
Traffic Mirroring packet format
で、このVXLANはRFCによるとUDPの4789番を使用しているらしいです。
- Destination Port: IANA has assigned the value 4789 for the
VXLAN UDP port, and this value SHOULD be used by default as the
destination UDP port.
セキュリティグループで上記UDPポートだけを許可したところ、無事tcpdumpでmirroringを確認できました。
SSHしていると文字打つたびにパケット飛んでいるのが見えて面白いですね。
余談ですがこの辺のサービスは、いつかのVPCフローログの大型Updateで飲み込まれたりするのかな…
re:Inventのウォッチ合間での検証報告でした。