AWS SAA(Solutions Architect - Associate)対策

PeeringとTransit Gateway

このレッスンでできるようになること。VPC 間をつなぐ要件で、ピアリングと Transit Gateway のどちらが答えかを、つなぐ数と「推移」の一語から判断できるようになります。

要件の文から入る

ある企業が VPC-A と VPC-B をピアリングし、VPC-B と VPC-C もピアリングしています。開発チームから「VPC-A から VPC-C へ通信できない」と報告がありました。ルートテーブルもセキュリティグループも正しく書かれています。原因は何でしょうか。

原因は設定ミスではありません。VPC ピアリングは推移的ルーティングをしないという仕様です。A と B、B と C がつながっていても、B を中継して A から C へは届きません。届かせたければ A と C の間にもピアリングを張るしかありません。この一文が答えの決め手になる問題が繰り返し出ます。

つなぐ数で崩れる

ピアリングは 1 対 1 の接続です。n 個の VPC を全部つなぐには、n × (n - 1) ÷ 2 本が要ります。

VPC の数必要なピアリング接続ルートテーブルの管理
33 本まだ手で追える
510 本追加のたびに全 VPC を触る
1045 本現実的でない
20190 本破綻する

「今後 VPC が増えていく」「拠点や部門ごとに VPC を作る」と書かれていたら、この表の右下へ向かう話です。ここで Transit Gateway が答えになります。Transit Gateway は中央のハブで、各 VPC はハブへ 1 本アタッチするだけで済みます。n 個なら n 本です。しかもハブなので推移的にルーティングできます。VPN や Direct Connect のゲートウェイもハブへ寄せられるので、オンプレミスを含む構成でもきれいにまとまります。

線引き

VPC ピアリングTransit Gateway
1 対 1 のフルメッシュハブアンドスポーク
推移的ルーティングしないする
接続数n × (n - 1) ÷ 2n
リージョンまたぎできる (リージョン間ピアリング)できる (ピアリングアタッチメント)
オンプレミス接続の集約できないVPN と Direct Connect を集約できる
料金データ転送料のみアタッチメントの時間課金 + データ処理料
CIDR の重複重複していると張れない重複していると同様に扱えない

最終行は両方に共通する制約です。CIDR が重複している VPC 同士は、どちらの方式でもそのままつなげません。「合併した会社の VPC がどちらも 10.0.0.0/16 だった」というシナリオでは、Transit Gateway を出しても解決しません。設計し直すか、PrivateLink のように個別サービスだけを公開する方式へ寄せます。

料金の行も効きます。VPC が 2 つか 3 つしかないのに Transit Gateway を選ぶと、アタッチメントの時間課金が無駄になります。「最も低コストで」と書かれた少数 VPC の問題では、ピアリングが正解です。

要件語から構成への対応表

要件文の言い回し選ぶもの
2 つの VPC を最も低コストでつなぐVPC ピアリング
多数の VPC を相互に、今後も増えるTransit Gateway
A から B 経由で C へ届かせたいTransit Gateway (ピアリングでは不可能)
VPN と Direct Connect も 1 か所に集約Transit Gateway
特定のサービスだけを他 VPC へ公開するPrivateLink (VPC 全体をつながない)
CIDR が重複しているどちらでも不可。設計変更か PrivateLink

よくある引っ掛け

1 つめは、中継用の EC2 やルーティング設定でピアリングを推移させようとする選択肢です。ピアリング接続そのものを他 VPC の中継に使うことはできません。仕様として不可能なので、もっともらしく見えても落とします。

2 つめは、VPC が 2 つしかない構成に Transit Gateway を出すものです。動きますし将来にも強いのですが、「最も低コストで」という制約語があると負けます。要件語がコストなのか拡張性なのかを読み分けます。

まとめ

  • ピアリングは推移しません。A-B と B-C があっても A-C は届きません
  • 全部つなぐには n × (n - 1) ÷ 2 本が要り、数が増えると破綻します
  • Transit Gateway はハブで、推移的にルーティングでき、接続は n 本で済みます
  • Transit Gateway は VPN と Direct Connect も集約できます
  • 少数 VPC でコストが要件ならピアリング。増えていくなら Transit Gateway です
  • CIDR が重複していると、どちらの方式でも接続できません
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部

復習ミニクイズ

ある企業が VPC-A と VPC-B、VPC-B と VPC-C をそれぞれ VPC ピアリングで接続しています。新たに「VPC-A のアプリから VPC-C のデータベースへ到達させたい」という要件が出ました。今後 VPC は部門ごとに 10 個以上へ増える予定です。CIDR は重複していません。最も適切な構成はどれですか。