導入
2つのVPCをつなぐだけなら、最もシンプルなのは VPCピアリング です。しかしSAPでは「VPCが10個、20個ある」という前提が普通に出てきます。ピアリングだけで組織全体をつなごうとすると、すぐに破綻します。その限界を理解することが、次のレッスンのTransit Gatewayの必然性につながります。
説明
VPCピアリング(VPC Peering) は、2つのVPC間に直接のネットワーク接続を作る機能です。同一アカウント・異なるアカウント、同一リージョン・異なるリージョンのどちらでも作成できます。
最大の制約は「推移的ルーティングができない」ことです。VPC AとVPC Bがピアリングされ、VPC BとVPC Cがピアリングされていても、AはCと直接通信できません。AとCの間にも別途ピアリングが必要です。
flowchart LR
A["VPC A"] -- ピアリング --- B["VPC B"]
B -- ピアリング --- C["VPC C"]
A -. "直接は通信不可<br/>(推移的ルーティング不可)" .-> C
VPCの数が増えるほど、必要なピアリング数は爆発的に増えます。N個のVPCを全部ピアリングで相互接続するには、N×(N-1)/2 本の接続が必要です。
| VPC数 | 全体を相互接続するのに必要なピアリング数 |
|---|---|
| 5 | 10 |
| 10 | 45 |
| 20 | 190 |
| 比較 | VPCピアリング |
|---|---|
| 向いている規模 | 数個のVPCを個別に接続 |
| 推移的ルーティング | 不可(この制約が規模拡大の壁) |
| 帯域制限 | インスタンスのネットワーク性能に依存(追加コストなし) |
| 管理の複雑さ | VPC数の2乗で増える |
具体例
あるスタートアップが、VPCピアリングだけでネットワークを広げていった末路を追いましょう。
- VPCが3つの頃 … 相互接続に必要なピアリングは3本。手作業でも管理できる。快適。
- VPCが10個に増えた頃 … 全部を相互接続するには
10×9/2=45本のピアリングが必要に。さらに推移的ルーティングができないので「AとBをつなぎ、BとCをつないでも、AとCは別途つながないと通信できない」。ルートテーブルの管理も45通り分に膨れ、どこがどことつながっているか誰も把握できなくなった。 - VPCが20個になったら … 190本。もはや破綻。
この「N対Nの組み合わせ爆発」と「推移的ルーティング不可」こそがピアリングの限界です。だから、問題文に「多数のVPCを相互接続」「今後もVPCが増える」とあれば、ピアリングは正解になりにくいサイン。中央ハブ1つで束ねるTransit Gateway(次のレッスン)が本命になります。「数個ならピアリング、多数ならTGW」が判断軸です。
読んでみよう
「VPCが数個で、それぞれを個別につなげば足りる」ならピアリングで十分です。しかし問題文に「多数のVPCを相互に接続したい」「今後もVPCが増えていく」とあれば、ピアリングは正解になりにくいサインです。次のレッスンで学ぶTransit Gatewayが本命候補になります。