AWS Transit Gatewayを使用して複数アカウントのVPCを相互接続しています。新しくアタッチした本番環境のVPC Aと開発環境のVPC B間でトラフィックをルーティングする必要がありますが、両VPCのCIDRブロックは完全に重複しています(どちらも 10.0.0.0/16 を使用)。この重複したCIDR環境下で、特定のリソース間でのみ双方向の安全な通信を実現するために、アーキテクチャ的に最も推奨されるアプローチはどれですか。
ネットワークCIDRが完全に重複しているVPC間で通信を行う場合、従来のルーティング(Transit GatewayやVPCピアリング)でIPパケットを直接ルーティングすることは不可能です(戻りトラフィックが自分自身のネットワークを向いてしまいルーティングループやドロップが発生するため)。このようなIPアドレスの重複(IP Collision)環境において、特定のサービス間通信を安全に実現するAWSのベストプラクティスは「AWS PrivateLink」の利用です。提供側のVPCにNetwork Load Balancer(NLB)とVPCエンドポイントサービスを作成し、消費側のVPCにインターフェイスエンドポイントを作成します。これにより、消費側VPCのローカルIPアドレス(エンドポイントENIのIP)に向けて通信するだけでプロバイダーVPCのリソースにアクセスでき、複雑なNATやルーティングの競合を完全に回避できます。 選択肢AはAWS PrivateLinkを使用する方法であり、IPアドレス空間に依存しないNLBとエンドポイント経由の通信を実現するため、CIDRが完全に重複する環境でも特定サービス間の安全な双方向通信を確立できます。 選択肢BはTransit Gatewayのロンゲストマッチルーティングを利用する提案ですが、両VPCのCIDRが完全に重複している場合、より詳細なサブネットプレフィックス(/24)を追加しても同一CIDR範囲内のルーティング競合は解消されず、トラフィックを正しく振り分けることはできません。 選択肢CはVPCピアリング+NATゲートウェイによるIPマスカレードを提案していますが、CIDRが重複するVPC間ではVPCピアリング接続自体を作成できません。VPCピアリングはCIDR重複を許可しない制約があります。 選択肢DはEC2上のVPNサーバーによるオーバーレイネットワーク構築を提案しており技術的には機能しますが、EC2インスタンスの管理・運用コストが高く、AWSのマネージドサービスを活用した推奨アーキテクチャとは言えません。