Cloud Service
AWS Transit Gateway
多数の VPC とオンプレ網をハブ&スポークで束ねる広域マネージドルータで、複雑な相互接続を集約する。
- 1.VPC やオンプレ網をハブ&スポーク型で接続し、ピアリングのフルメッシュ配線を解消する中継ルータ
- 2.アタッチメント単位で接続し、複数のルートテーブルでセグメント分離やルーティング制御を柔軟に行える
- 3.リージョン間ピアリングや RAM によるアカウント共有でグローバルかつマルチアカウントなネットワークを構築できる
AWS Transit Gateway は、多数の VPC とオンプレミスネットワークをハブ&スポーク構成で相互接続する、リージョン単位のマネージド中継ルータです。各ネットワークを Transit Gateway という一点に接続するだけで相互到達性を確立でき、接続数の増加に伴って配線が爆発的に複雑化する問題を解消します。
解決する課題
VPC を VPC ピアリングだけで相互接続すると、接続関係はフルメッシュとなり、VPC が N 個あれば必要なピアリング数は N かける N から 1 を引いた数を 2 で割った数に達します。VPC が増えるほど設定・管理・ルートテーブルの維持が指数的に煩雑になり、しかも VPC ピアリングは推移的ルーティングに対応しないため、A と B、B と C をつないでも A から C へは通信できません。
オンプレミスとの接続も同様で、各 VPC に個別の Virtual Private Gateway を立てて VPN や Direct Connect を張ると、拠点側の管理対象が VPC の数だけ増えていきます。
Transit Gateway はこれらをハブに集約することで、各ネットワークを 1 本だけハブへ接続すればよい構成に変え、推移的なルーティングと一元的なルート管理を実現します。
主要概念と用語
- アタッチメント: Transit Gateway に接続する対象を表す単位。VPC、VPN、Direct Connect ゲートウェイ、別の Transit Gateway とのピアリング、Connect などの種類がある。
- Transit Gateway ルートテーブル: アタッチメントごとに関連付けるルーティングテーブル。複数持てるため、アタッチメントを別々のルートテーブルに割り当てることでネットワークをセグメント分離できる。
- アソシエーション: アタッチメントを 1 つのルートテーブルに関連付ける設定。あるアタッチメントからの通信がどのルートテーブルを参照するかを決める。
- ルートプロパゲーション: アタッチメント側のルート情報を Transit Gateway ルートテーブルへ自動的に伝播させる仕組み。VPN や Direct Connect では動的ルーティングと組み合わせて使う。
- アプライアンスモード: ステートフルなインスペクション用アプライアンスを経由させる際に、同一フローを同じアベイラビリティーゾーンへ固定し、非対称ルーティングによる通信断を防ぐオプション。
- Transit Gateway ピアリング: 異なるリージョンやアカウントの Transit Gateway 同士を接続し、グローバルなネットワークを構成する機能。
- Transit Gateway Connect: GRE と動的ルーティングプロトコルを用いて、SD-WAN 機器などのサードパーティ仮想アプライアンスを高帯域で接続するアタッチメント種別。
仕様・制限・クォータ
Transit Gateway はリージョン単位のリソースで、同一リージョン内の VPC を高い帯域で接続します。VPC アタッチメントは VPC のサブネット内に配置され、アタッチメントが存在するアベイラビリティーゾーン内のリソースへルーティングされるため、可用性を確保するには複数のアベイラビリティーゾーンにアタッチメントのサブネットを用意することが推奨されます。
1 つの Transit Gateway に接続できるアタッチメント数や、ルートテーブルあたりのルート数、ピアリング数などにはアカウント単位のクォータが定められています。多くは Service Quotas から緩和申請が可能なものと、ハードリミットとして固定されているものがあるため、大規模設計時には最新のドキュメントで上限を確認してください。帯域はアタッチメント単位で上限があり、より高い帯域が必要な場合は等コストマルチパスを利用して複数経路に分散します。
なお、VPC アタッチメント経由のフレームではジャンボフレームに関する上限があり、想定するパケットサイズが対応範囲に収まるかを設計段階で確認することが重要です。
内部の仕組み
Transit Gateway は AWS が運用するスケーラブルな分散ルータとして実装され、利用者はルーティングの論理構成だけを管理します。VPC アタッチメントを作成すると、指定したサブネット内に Transit Gateway 用のネットワークインターフェースが配置され、そのアベイラビリティーゾーンのトラフィックがここを通って Transit Gateway へ入ります。
各アタッチメントは 1 つのルートテーブルにアソシエートされ、通信が発生すると送信元アタッチメントに関連付いたルートテーブルを参照して次の転送先アタッチメントが決定されます。ルートは静的に登録するか、VPN や Direct Connect、ピアリングからプロパゲーションによって動的に学習します。
ルートテーブルを複数に分けてアソシエーションとプロパゲーションを設計することで、たとえば本番系と検証系を相互に到達不可にしたり、共有サービス用 VPC だけは全セグメントから到達可能にする、といったセグメンテーションを表現できます。これがフラットな単一ルートテーブルとの大きな違いです。
設計パターン / ベストプラクティス
代表的な構成は、すべての VPC を 1 つの Transit Gateway に接続し、共有サービス VPC やインスペクション用 VPC を中央に置くハブ&スポークです。トラフィックを集中点で検査したい場合は、中央 VPC にファイアウォールや NAT を配置し、Transit Gateway ルートテーブルで通信を強制的にそこへ通します。
マルチアカウント環境では、AWS Resource Access Manager を使って Transit Gateway を組織内の他アカウントへ共有し、各アカウントの VPC を同一ハブへアタッチします。ネットワークの所有と運用を一元化しつつ、アカウント境界を保てます。
セグメント分離が必要なら、用途ごとにルートテーブルを分け、アソシエーションとプロパゲーションを明示的に設計します。ステートフルなインスペクションアプライアンスを経由させる構成では、アプライアンスモードを有効化して同一フローを同一アベイラビリティーゾーンに固定し、非対称ルーティングを防ぎます。
VPC アタッチメントは、サブネットを配置したアベイラビリティーゾーン内のリソースにしかルーティングしません。複数の AZ にアタッチメント用サブネットを用意し、各 AZ のワークロードがローカルの Transit Gateway インターフェースを使えるようにしておくことで、AZ 障害時の影響と AZ 間のデータ転送を抑えられます。
運用・監視
Transit Gateway はアタッチメントやルートテーブルの状態、データ転送量などのメトリクスを Amazon CloudWatch に発行します。アタッチメント単位の受信・送信バイト数やパケットドロップを監視し、帯域上限への到達やルーティング不一致によるドロップを早期に検知することが運用上重要です。
通信フローの可視化やトラブルシューティングには Transit Gateway のフローログを利用し、どのアタッチメント間でどれだけの通信が行われているかを把握します。ルーティングの問題切り分けには Reachability Analyzer や、Transit Gateway ルートテーブルの経路検索機能が役立ちます。
ルート構成は Infrastructure as Code で管理し、アソシエーションとプロパゲーションの変更を履歴として残すと、セグメント間の到達性が意図せず変わる事故を防げます。
コスト
Transit Gateway の課金は大きく分けて、アタッチメントが接続されている時間に対する時間課金と、処理したデータ量に対するデータ処理課金の 2 種類で構成されます。VPC ピアリングがピアリング自体に時間課金を持たないのに対し、Transit Gateway はアタッチメントごとに継続的な時間課金が発生する点が設計上の判断材料になります。
そのため、ごく少数の VPC を恒常的に接続するだけなら VPC ピアリングの方が安価になることがあり、接続数が増えて管理性や推移的ルーティングの価値が上回る規模で Transit Gateway が有利になります。リージョン間ピアリングではリージョンをまたぐデータ転送料も加わるため、トラフィック量を見積もって比較してください。具体的な単価は変動するため、最新の料金ページで確認することが前提です。
セキュリティ
Transit Gateway 自体はセキュリティグループを持たないため、アクセス制御は接続される各 VPC のセキュリティグループ、ネットワーク ACL、そして Transit Gateway ルートテーブルによる経路制御の組み合わせで実現します。あるセグメントから別セグメントへの到達を遮断したい場合は、ルートを登録しないか、ルートテーブルを分離して相互にプロパゲーションしないことで論理的に分離します。
中央でのトラフィック検査が要件であれば、インスペクション VPC を経由させてファイアウォールでフィルタリングします。複数アカウントへ共有する際は、RAM の共有範囲を組織や組織単位に限定し、不要なアカウントからアタッチメントが作られないよう IAM ポリシーで権限を絞ります。すべてのアタッチメントとルート変更は CloudTrail で記録し、監査可能にしておきます。
Well-Architected の観点
信頼性の観点では、アタッチメントを複数のアベイラビリティーゾーンに分散させ、VPN や Direct Connect を冗長化することで単一障害点を排除します。Transit Gateway 自体はリージョン内で可用性が確保されたマネージドサービスであり、利用者は接続側の冗長化に注力します。
運用上の優秀性の観点では、ハブに集約することでルーティングと接続の管理点が 1 か所にまとまり、変更とトラブルシューティングが容易になります。ルート構成をコード化し、メトリクスとフローログで継続的に状態を可視化することが、運用負荷を下げる鍵になります。
試験で問われるポイント
- VPC ピアリングが推移的ルーティング非対応かつフルメッシュ配線になるのに対し、Transit Gateway はハブ&スポークで推移的に到達でき、接続数が多い場合の標準解になる点。
- 複数の Transit Gateway ルートテーブルにアタッチメントを割り当てることで、本番と検証の分離や共有サービスへの片方向到達などのセグメンテーションを実現する設計。
- RAM を使って Transit Gateway を複数アカウントへ共有し、マルチアカウントのネットワークを一元管理する構成。
- リージョン間ピアリングでグローバルネットワークを構成し、リージョンをまたぐ到達性を確保する点。
- ステートフルアプライアンス経由の構成では、非対称ルーティングを防ぐためにアプライアンスモードを有効化する必要がある点。
- VPC アタッチメントが、サブネットを置いた AZ 内のリソースにのみルーティングするため、AZ 冗長にはマルチ AZ 配置が必要である点。
関連サービス・比較
最も比較されるのは VPC ピアリングです。少数の VPC を 1 対 1 で恒久接続するなら VPC ピアリングが簡潔かつ低コストですが、接続数が増えて推移的ルーティングや一元管理が必要になると Transit Gateway が適します。
| 観点 | Transit Gateway | VPC ピアリング |
|---|---|---|
| 接続形態 | ハブ&スポークで集約 | 1 対 1 のフルメッシュ |
| 推移的ルーティング | 対応 | 非対応 |
| スケール性 | 多数の接続を一元管理 | 接続数増で配線が爆発 |
| オンプレ接続 | ハブに集約して共有 | 各 VPC ごとに個別接続 |
| 課金の特徴 | アタッチメント時間課金とデータ処理課金 | ピアリング自体は時間課金なし |
ハンズオン / CLI例
以下は Transit Gateway を作成し、VPC をアタッチして、別ネットワークへの静的ルートを 1 本登録する最小の流れの例です。リソース ID は実際の値に置き換えてください。
# Transit Gateway を作成
aws ec2 create-transit-gateway \
--description "hub-tgw" \
--options DefaultRouteTableAssociation=enable,DefaultRouteTablePropagation=enable
# VPC をアタッチ(複数 AZ のサブネットを指定して冗長化)
aws ec2 create-transit-gateway-vpc-attachment \
--transit-gateway-id tgw-0123456789abcdef0 \
--vpc-id vpc-0123456789abcdef0 \
--subnet-ids subnet-0aaa subnet-0bbb
# Transit Gateway ルートテーブルへ静的ルートを 1 本追加
aws ec2 create-transit-gateway-route \
--transit-gateway-route-table-id tgw-rtb-0123456789abcdef0 \
--destination-cidr-block 10.20.0.0/16 \
--transit-gateway-attachment-id tgw-attach-0123456789abcdef0
AWS Service
AWS Transit Gatewayを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ネットワーキング
比較で見る軸
クラウド: AWS / カテゴリ: ネットワーキング / 難易度: intermediate
導入後に効く点
アタッチメント単位で接続し、複数のルートテーブルでセグメント分離やルーティング制御を柔軟に行える
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- ネットワーキング
- 難易度
- intermediate
- 関連資格
- SAA-C03 / ANS-C01
- 設計柱
- reliability / operational
判断チェックリスト
- 自社の用途が「ネットワーキング / reliability」に近いか確認する。
- 強みである「VPC やオンプレ網をハブ&スポーク型で接続し、ピアリングのフルメッシュ配線を解消する中継ルータ」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。