Transit Gateway
用語
アタッチメント
- VPC 等を Transit Gateway とアタッチ
- アタッチメントには、/28などの小さなCIDRの専用サブネットを推奨
ルートテーブル
- Transit Gateway が持つ経路情報
- 複数作成可能
アソシエーション(アソシエイト、関連付け)
- アタッチメント(VPC など)をルートテーブルに紐づける
- 関連付けられたルートテーブルを参照してパケットを送信する = 送信方向のルーティング
- 1つのルートテーブルにしかアソシエイトできない
プロパゲーション(プロパゲート、伝播)
- アタッチメントが持つ CIDR(例:10.0.0.0/16)をルートテーブルに広告する(アドバタイズする、書き込む)
- プロパゲーションされたルートテーブルの内容を参照してパケットが送信される = 経路広告(受信方向の経路配布)
- 複数のルートテーブルにプロパゲート可能(複数のルートテーブルを経由して受信できる)
- プロパゲートしなくても、手動で任意のルートを追加可能(スタティックルート)
概念
機能
- 同一リージョン内の VPC 集約(中央ハブ)
- 異なるリージョン間の接続は、Transit Gatewayどうしをピアリングする必要がある(Inter-region peering)
- 同一リージョンの Transit Gateway もピアリング可能(intra-region peering)
- IPv4/v6 の両方をサポート
アソシエーションとプロパゲーション
- 利用(送信)=アソシエイト
- 配布(広告)=プロパゲート
→ 両者を分離することでより柔軟なネットワーク制御が可能
例)- スポーク VPC 同士は通信させない
- Shared VPC だけが全スポークにアクセス
→ プロパゲートを複数に許すことで実現
Spoke-RT
VPC-Spoke-A、VPC-Spoke-B、VPC-Spoke-C をアソシエーション
| CIDR |
|---|
| VPC-Shared |
Shared-RT
VPC-Shared をアソシエーション
| CIDR |
|---|
| VPC-Spoke-A |
| VPC-Spoke-B |
| VPC-Spoke-C |
Transit Gateway Connect
- SD‑WAN 機器と AWS を GRE + BGP でつなげるようにする
- VPN を使わないので帯域幅が広い
- GRE で高速
GREとは
AWS初学者向けに「Generic Routing Encapsulation (GRE)」について、AWSの文脈で解説します。Generic Routing Encapsulation (GRE) とは?
「Generic Routing Encapsulation (GRE)」は、一言でいうと**「ある種類のデータを、別の種類のデータの中に入れて運ぶための技術」**です。これを「カプセル化」(データの包装)と呼びます。
もう少し具体的に説明しましょう。
インターネットの世界では、データが目的地まで届くために「IPアドレス」という住所情報を使ってルーティング(経路選択)されます。しかし、時にはIPアドレスだけでは扱えない特殊なデータや、特定のネットワーク(例えば会社内ネットワーク)のデータを、別のネットワーク(例えばインターネット)を介して安全に、または特定のルールで運びたい場合があります。
GREは、**「トンネル」**を掘るようなイメージで考えるとわかりやすいです。
- トンネルを掘る前: 自分のデータ(例えば、特定のルールで動かしたい会社のネットワークパケット)があります。
- GREでカプセル化: そのデータをそのままインターネットに流すと、うまく扱われなかったり、情報が足りなかったりします。そこで、そのデータ全体を「別の新しいIPパケット」という箱に詰め込みます。これがGREによるカプセル化です。まるで、大事な手紙(元のデータ)を封筒(GREヘッダ)に入れて、さらにその封筒を大きめの輸送箱(新しいIPパケット)に入れるようなものです。
- トンネルを通す: 新しい箱に詰められたデータは、通常のIPパケットとしてインターネット上を流れます。
- トンネルの出口: 目的地のサーバーやルーターに到達すると、箱が開封され(カプセル化解除)、元のデータが取り出されて処理されます。
この「トンネル」のおかげで、間に挟まれたインターネットからは、単なるIPパケットとして見えるだけで、その中身が何であるか(特別なルールを持つデータであることなど)を意識せずにデータを運ぶことができるようになります。GRE自体にはデータの暗号化機能はありません。
AWSにおけるGREの役割の変化
以前のAWSでは、オンプレミス(自社データセンター)とAWSクラウドを接続する主要なサービスとして、AWS Site-to-Site VPN(インターネットVPN接続で暗号化もされる)や、AWS Direct Connect(専用線接続)がありました。これらの接続では、GREが直接利用される機会はあまり多くありませんでした。
しかし、近年、企業ネットワークの主流となりつつある**SD-WAN(ソフトウェア定義型広域ネットワーク)**という技術が普及し、AWSとSD-WANデバイスをより柔軟に連携させたいというニーズが高まりました。ここでGREの重要性が増しました。
Transit Gateway Connect と GRE
AWSが提供するTransit Gateway(AWS上のネットワークの交通整理をするハブ)には、SD-WAN製品との統合を強化するための機能として「Transit Gateway Connect」があります。このTransit Gateway Connectで、GREが重要な役割を担います。
Transit Gateway Connect と GRE の連携の仕組み:
- SD-WANアプライアンスとの接続: オンプレミスや他のクラウド環境にあるSD-WANデバイス(ルーターや専用ソフトウェアが動くサーバー)とAWS Transit Gatewayの間で、まずは通常のIP接続(Direct ConnectやSite-to-Site VPN経由)を確立します。
- GREトンネルの確立: そのIP接続の上に、GREを使って「トンネル」を確立します。
- BGPによるルーティング: このGREトンネルの中で、**BGP(ルーティングプロトコル)**という仕組みを使って、ネットワークの経路情報(「このIPアドレスはここにあるよ」という情報)を動的に交換します。
この仕組みにより、SD-WANデバイスとAWS Transit Gatewayの間で、ネットワークの経路情報を自動的に学習し、最適な経路で通信できるようになります。
なぜAWSとSD-WANの接続にGREを使うのか?
- 動的ルーティングの実現: GREトンネル内でBGPを利用することで、ネットワークの変更があった場合に、手動で設定し直すことなく、自動的に経路情報が更新されます。これにより、運用負荷が軽減され、ネットワークの可用性が向上します。
- 柔軟なネットワーク設計: SD-WANは非常に柔軟なネットワーク構築を可能にする技術です。GREを使うことで、このSD-WANの柔軟性をAWS環境に持ち込み、より複雑で最適化されたルーティング戦略を実現できます。
- AWS Direct ConnectやVPNの補完: AWS Direct ConnectやSite-to-Site VPNは基本的な接続を提供しますが、その上にGREトンネルを構築することで、SD-WANの高度なルーティングやポリシー制御(特定のトラフィックを優先するなど)をAWS側に拡張することができます。Transit Gateway Connectの場合、GREトンネルの上にさらにIPsec(暗号化技術)を重ねて、セキュアな通信を実現することが推奨されています。
このように、GREはSD-WANのような最新のネットワーク技術とAWSを連携させる上で、非常に重要な「縁の下の力持ち」として機能しているのです。
ミニ用語集
- BGP (Border Gateway Protocol): インターネット上でルーター同士が「このネットワークへ行くにはどういう経路を通ればいいか」という情報を交換するために使われる、標準的なルーティングプロトコルです。大規模なネットワークで動的な経路選択を実現します。
- SD-WAN (Software-Defined Wide Area Network): ソフトウェアの力で広域ネットワーク(WAN)を柔軟に制御・管理する技術です。例えば、どの通信回線(インターネット、専用線など)を使うか、どのアプリケーションのトラフィックを優先するかなどを、集中管理システムで設定できます。
- Transit Gateway: AWSが提供する、複数のAmazon VPC(仮想プライベートクラウド)やオンプレミスネットワーク、AWSアカウント間の接続をシンプルかつ効率的に管理できるネットワークハブサービスです。複雑なネットワーク接続を一元化できます。
- カプセル化: データを別のデータ構造(「箱」や「封筒」のようなもの)の中に包み込む技術です。これにより、元のデータとは異なるプロトコルやネットワーク上でデータを伝送できるようになります。
- IPsec (Internet Protocol Security): インターネットプロトコル(IP)の通信を暗号化し、改ざん防止や認証機能を提供する技術です。主にVPN接続でデータの安全性を確保するために使われます。
※注意: AIの生成結果は必ずしも正しくありません(誤りを含む可能性があります)。
重要な判断は、AWS公式ドキュメント等の一次情報で確認してください。
制限
ENI(アタッチメント) 不足での疎通 NG
- VPCをまたいだ通信時、同一AZにENIがあればそのENIに対して通信する
- 戻りの通信は、送信先リソースと同じAZのENI経由で帰ってくる
-
送信先が別AZの場合、別AZにENIが存在しないと戻り通信が不通になる
→アタッチメント時、すべてのAZにTGWのENIをつけること(必須)
ENI のアタッチ
- AZ内の、1つのサブネットにのみアタッチ可能
MTU
- Transit Gateway の MTU は 8500
- VPC peering (同⼀リージョン) の MTUは 9001
→VPC peeringからTransit Gatewayに移行すると、パケットがドロップする可能性あり
参考文献
(AWS Summit Tokyo 2019) Transit Gateway Deep Dive アーキテクチャガイド