Transit Gatewayによる集約型インターネットエグレス難易度 高無料
20個のスポークVPC(各2AZ構成)からのインターネット向け通信を、コスト最適化とセキュリティ統制のため中央の「エグレスVPC」に集約したNATゲートウェイ経由で行う設計にしたい。要件は次の2点。
- 各AZをまたぐ不要なデータ転送(クロスAZ課金)をできる限り避ける
- NATゲートウェイの単一障害点を作らない
この要件を満たす設計として最も適切なものを選べ。(単一選択)
- AエグレスVPCの1つのAZに単一のNATゲートウェイを配置し、全スポークVPC・全AZからのトラフィックをそのNATゲートウェイへ集約する
- BエグレスVPCの各AZにNATゲートウェイとTGWアタッチメント用サブネットをそれぞれ配置し、各AZのTGWアタッチメントサブネットのルートテーブルは同一AZ内のNATゲートウェイへ
0.0.0.0/0を向ける - C各スポークVPCに個別にNATゲートウェイを配置し、TGWは使わずそれぞれが直接インターネットゲートウェイ経由でアウトバウンド通信する
- DエグレスVPCにNATゲートウェイを2AZに配置しつつ、TGWのルートテーブル側でACTIVE/STANDBYの優先度を設定し、通常時は片方のAZのNATゲートウェイのみを使用する
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:BAI作成・独立検証済
解説
集約型エグレス(centralized egress)では、TGWのアタッチメントとNATゲートウェイの両方をAZごとに用意し、AZアフィニティ(affinity)を維持することが重要である。
- エグレスVPCには各AZにNATゲートウェイを1つずつ配置し、TGWアタッチメント用のサブネットも各AZに1つずつ作成する。
- 各スポークVPCの該当AZのルートテーブルで
0.0.0.0/0をTGWへ向け、TGWのルートテーブルでエグレスVPCアタッチメントへ転送する。 - エグレスVPC側では、TGWアタッチメントサブネット(AZ-a)のルートテーブルで
0.0.0.0/0を同じAZ-aのNATゲートウェイへ向ける(AZ-bも同様に自AZのNATゲートウェイへ)。これによりAZをまたいだNATゲートウェイ利用を避け、クロスAZデータ転送料金の発生を防ぐ。 - 各AZに独立したNATゲートウェイがあるため、1つのAZに障害があっても他AZのスポークVPCの通信には影響しない(単一障害点の排除)。
- A単一のNATゲートウェイは単一障害点になり、かつ別AZのスポークからの通信は必ずクロスAZ扱いとなりデータ転送料金が余分に発生する。両方の要件に反する。
- C中央集約という要件に反し、NATゲートウェイの台数・コストが増え、セキュリティ統制(一元的な出口監視・IP集約)もできなくなる。
- DTGWルートテーブルにはACTIVE/STANDBYの優先度制御という概念はなく、常に稼働AZの片方だけを使う構成はもう一方のAZのスポークにクロスAZ通信を強いることになる。
ひっかけ: 「1つのAZにだけNATゲートウェイを置いて全スポークVPCで共有する」という設計は、コスト削減にはなるが単一障害点になり、かつ他AZからの通信はクロスAZデータ転送料金が発生する。
本問の2要件(クロスAZ回避・単一障害点排除)を同時に満たすには、各AZに独立したNATゲートウェイを配置しAZアフィニティを保つ設計が必要になる点を混同しないこと。
公式ドキュメント・関連AWS Network & Content Delivery Blog ― Building a Scalable and Secure Multi-VPC AWS Network Infrastructure↗Amazon VPC User Guide ― NAT gateways↗
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)