VPCを複数作ると、次は「VPC同士をつなぎたい」が出てきます。方法はいくつかあるので、代表的な2つを比較します。
なぜVPCをつなぐのか
- 本番用VPCと共有サービス用VPCを分けている
- 部門ごと・システムごとにVPCを分けている
- 別アカウントのVPCと通信したい
VPCは分離されているので、つなぐには明示的な設定が要ります。
VPCピアリング
2つのVPCを1対1で直接つなぐ方法です。
- シンプルで低コスト(データ転送料のみ)
- 双方のルートテーブルに、相手VPCのCIDR宛て経路を追加する
- 推移的な通信ができない: A-B、B-Cをpeeringしても、A-Cは通信できない
VPCが2〜3個なら手軽ですが、数が増えると「全部をメッシュでpeering」する必要があり、管理が爆発します(N個で N×(N-1)/2 本)。
Transit Gateway(TGW)
多数のVPCを、中央のハブに集約してつなぐ方法です。
- 各VPCをTGWにアタッチするだけ
- ハブ&スポーク型で、VPCが増えても管理がシンプル
- オンプレ(VPN/Direct Connect)とも集約できる
- ルーティングを中央で制御でき、推移的な通信も可能
VPCが多い、将来増える、オンプレも含めて集約したい——そんな時はTGWが有力です。
使い分け
- VPCピアリング: 少数(2〜3)のVPCを、シンプル・低コストでつなぎたい
- Transit Gateway: 多数のVPCやオンプレをまとめて、拡張性・集中管理を重視
注意点
- どちらも、CIDRが重複していると繋げない(アドレス設計が重要)
- ルートテーブルとセキュリティグループの両方で、相手への通信を許可する必要がある
まとめ
VPC同士をつなぐなら、少数はピアリング、多数やオンプレ集約はTransit Gateway。規模と将来性で選びます。ここでも「CIDRを重複させない」というアドレス設計の重要さが効いてきます。最初のVPC設計時に、つなぐ将来を見越して範囲を決めておくのがおすすめです。