【入門編】 ポート4789番(VXLAN)を利用したAWS Transit Gatewayのパケットカプセル化 – クラウド&コンテナネットワーク実践ガイド

AWS Transit Gatewayの「魔法の小包」:UDP 4789番とVXLANの仕組みを紐解く

こんにちは!クラウドインフラの現場で日々パケットと格闘しているSREです。

AWSで複数のVPCをつなぐ際、欠かせない存在が「AWS Transit Gateway(TGW)」ですよね。これを使うと、まるでハブ&スポークのように複数のネットワークを一つにまとめ上げることができます。

でも、ふと疑問に思ったことはありませんか?「別々のVPCにあるサーバー同士が、どうやってお互いの存在を隠したままパケットを送り合っているんだろう?」と。

実はその裏側で、ネットワーク界の「魔法の小包」ことVXLAN(Virtual Extensible LAN)が重要な役割を果たしています。今回は、この技術を郵便配達の仕組みに例えて、優しく解説していきます。

—

1. なぜ「カプセル化」が必要なの?

まず、なぜパケットを包み直す必要があるのか、現実世界で考えてみましょう。

例えば、あなたが海外の友人に手紙を送る時を想像してください。手紙をそのまま郵便ポストに入れることはできませんよね。必ず「封筒」に入れて、住所や宛先を書くはずです。

ネットワークの世界でも同じです。VPC AからVPC Bへデータを送る際、それぞれのVPCには独自のルール(IPアドレス体系)があります。もしパケットをそのまま送ったら、途中の巨大なAWSのネットワーク網で「これ、どこの誰宛てだよ!」と迷子になってしまいます。

そこで登場するのがVXLANです。これは、元のパケットを一旦「別の封筒(カプセル)」に入れて、配送業者(AWSのインフラ)が確実に届けられるように宛先を書き直す技術なんです。

2. 郵便配達員もビックリ!「UDP 4789番」という宛先

このカプセル化で使われるのが、UDPポート 4789番です。

郵便配達で例えるなら、この「4789」は「これはカプセル化された配送物ですよ」という特別なスタンプのようなものです。AWSの物理的なネットワーク機器は、パケットの宛先に「4789」という数字を見つけると、「あ、これは中身を開封せずに、まずはTransit Gatewayという宛先まで運べばいいんだな!」と即座に理解します。

VXLANの仕組みを整理しよう

1. 元のパケット:大切な手紙(アプリケーションの通信データ)
2. VXLANヘッダー:封筒の中に同梱された「どのVPCの誰宛てか」を示すメモ
3. UDPヘッダー(ポート4789):封筒の表面に押された「これはVXLAN通信です」というスタンプ
4. 外側のIPヘッダー:配送業者が読み取るための「Transit Gatewayの住所」

こうして、中身のプライベートな情報を守りつつ、巨大なAWS網を高速で駆け抜けることができるのです。

3. 現場での確認方法:TCPDumpで覗いてみる

実際にSREの現場では、通信がうまくいかない時にパケットを覗く(キャプチャする)ことがあります。もし皆さんがトラブルシューティングでパケットをキャプチャしたら、以下のようなコマンドで「4789」を探すことになります。

# tcpdumpを使って、UDP 4789番のポート宛ての通信をモニタリングする例
# -i any: すべてのネットワークインターフェースを対象にする
# port 4789: VXLANの通信だけをフィルタリングする
sudo tcpdump -i any udp port 4789 -v

もしこのコマンドを叩いて、何も反応がなければ「そもそもTransit Gatewayまでパケットが届いていない」ということが分かります。逆に反応があれば、「カプセル化までは成功しているから、次は中身のルーティング設定(ルートテーブル)を疑おう」といった具合に、問題の切り分けができるわけです。

4. 注意点:MTUサイズに気をつけよう!

ここだけは、インフラエンジニアとして覚えておいてほしい「落とし穴」があります。

カプセル化するということは、元のパケットの外側に新しいヘッダー情報を追加するということです。つまり、パケットのサイズが少しだけ太ります。

現実の郵便でも、分厚い封筒に詰め込みすぎると郵便受けに入らないことがありますよね。ネットワークも同じで、この「太ったパケット」がネットワーク機器の許容サイズ(MTU)を超えると、パケットが途中で破棄されてしまいます。

AWS環境では、以下のような設定を気にかけるようにしましょう。

# EC2インスタンスのインターフェースMTU設定例(参考)
# VXLANによるオーバーヘッドを考慮して、通常より少し小さく設定することがあります
sudo ip link set dev eth0 mtu 8900

最後に:一歩ずつ理解を深めよう

「UDP 4789番」や「VXLAN」という言葉を聞くと難しく感じますが、要は「配送網の中でパケットを安全に迷子にさせないための、賢い梱包技術」です。

最初は仕組みの全貌を完璧に理解できなくても大丈夫です。まずは、「Transit Gatewayはパケットを特別な封筒に入れて運んでいるんだな。その封筒には4789というスタンプが押されているんだな」とイメージするだけで、トラブルに遭遇した時の視界がグッと開けるはずです。

ネットワークは目に見えないからこそ、こうして現実世界に例えて想像してみるのが一番の近道です。これからも一緒に、クラウドネットワークの奥深い世界を楽しんでいきましょう!

コメント

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