ある企業はAWS Transit Gatewayを用いたハブ・アンド・スポーク構成を構築しています。同一リージョンに本番VPC(VPC-A)、開発VPC(VPC-B)、共有サービスVPC(VPC-C:DNS・監視サーバー)の3つがあります。要件は以下のとおりです。 ①VPC-AとVPC-Bは相互に通信できない ②VPC-AとVPC-Bはそれぞれ独立してVPC-Cへ通信できる ③将来追加されるVPCにも同じ分離ポリシーを最小限の設定変更で適用できること ルートテーブル数を最小にしながらこの要件を満たすTransit Gateway設定はどれですか?
Transit GatewayのIsolated VPC設計パターンでは、「分離テーブル」と「共有テーブル」の2つのルートテーブルを使うことで、最小構成でスポーク間の通信隔離を実現できる。 分離テーブルにVPC-AとVPC-Bのアタッチメントを関連付け、VPC-Cのルートのみを伝播させる。これによりVPC-AおよびVPC-BはVPC-Cへのルートを持つが、互いのルートが存在しないため通信できない。 共有テーブルにVPC-Cのアタッチメントを関連付け、VPC-AとVPC-Bのルートを伝播させることでVPC-Cは両スポークと通信できる。 将来VPCを追加する際は分離テーブルに関連付けるだけでよく、自動的に同じポリシーが適用されるため拡張性も高い。 選択肢AのNACLは、Transit Gatewayルーティングレベルではなくサブネットレベルで動作するため、1つのルートテーブルに全VPCのルートが共存していればTGW上で通信が到達してしまい、スポーク間の通信をルート分離の代替として制御することはできない。 選択肢Cの3ルートテーブル構成は機能的には要件を満たせるが、「最少のルートテーブル数」という条件を満たさず、新規VPC追加時に複数テーブルへの設定が必要となり拡張性も低い。 選択肢DのアプライアンスモードはEC2ベースのNATデバイスやファイアウォールを経由するトラフィックのフロー対称性を保つ機能であり、ルートテーブルによる通信隔離とは別の概念のため、VPC-A↔VPC-B間の通信を単純に遮断することはできない。