変更要約: in-scope サービス網羅: サービスメッシュ/発見/端末VPN(App Mesh/Cloud Map/Client VPN)を追加
1.2サブネットとルーティングの設計
トラフィックの通り道——パブリック/プライベートサブネット、ルートテーブル、インターネットゲートウェイ、NAT ゲートウェイ——を理解します。ルートテーブルが「公開かどうか」を決めます。
サブネットが「パブリック」か「プライベート」かを決めるのは、付与された ルートテーブルです。インターネットへの経路をどこに向けるかが分かれ目になります。
1.2.1パブリックとプライベートの違い
- パブリックサブネット:ルート 0.0.0.0/0 → IGW(インターネットゲートウェイ)。ALB や NAT ゲートウェイを置く。
- プライベートサブネット:ルート 0.0.0.0/0 → NAT ゲートウェイ。外向き通信のみ可、インターネットからの着信は不可。
- NAT ゲートウェイ:プライベートの外向き通信を中継。NAT 自体はパブリックサブネットに置く。
- 1 サブネット = 1 ルートテーブル:サブネットには 1 つのルートテーブルが関連付く(明示しなければメイン)。
「IGW へ向くルートがあればパブリック」「プライベートの外向きは NAT ゲートウェイ(NAT 自体はパブリックに置く)」「NAT はインバウンドを許可しない」 は ANS-C01 で頻出です。プライベートサブネットへの直接の着信は IGW では実現できません。
IPv6 の外向き専用通信には NAT ではなく「Egress-Only インターネットゲートウェイ」を使います。NAT ゲートウェイは IPv4 用です。
ANS-C01 のルーティング設計は「ルートテーブルの評価とゲートウェイの役割」を正確に問います。ルートは最長プレフィックス一致(ロンゲストマッチ)で選ばれ、より具体的な経路が優先されます。サブネットには 1 つのルートテーブルが関連付き、明示しなければメインルートテーブルが使われます。インターネットゲートウェイ(IGW)は VPC にアタッチする水平スケールの冗長コンポーネントで、パブリック IP/EIP を持つリソースの双方向インターネット通信を可能にします。NAT ゲートウェイはマネージドでAZ 単位(高可用性には各 AZ に配置)、外向き専用でインバウンド開始不可、IPv4 用です(自前の NAT インスタンスより推奨)。IPv6 の外向き専用は Egress-Only IGW。VPC 内のトラフィックは、VPC エンドポイント(ゲートウェイ型=S3/DynamoDB、ルートテーブルにプレフィックスリストで経路追加/インターフェイス型=ENI・PrivateLink・DNS で解決)でインターネットを経由せず AWS サービスへ。ルートのターゲットには IGW/NAT/ピアリング接続/TGW アタッチメント/VPC エンドポイント/Gateway Load Balancer エンドポイント(インライン検査)などを指定でき、ミドルボックスルーティング(エッジ関連付け)で IGW 着信を検査アプライアンスへ迂回もできます。設計の要は、「IGW へのルート=パブリック」「NAT は外向き専用・各 AZ 配置」「最長一致でルート選択」「AWS サービスは VPC エンドポイント」を正確に押さえることです。
| ゲートウェイ/経路 | 役割 | 要点 |
|---|---|---|
| IGW | 双方向インターネット | パブリック IP/EIP・冗長・水平スケール |
| NAT ゲートウェイ | IPv4 外向き専用 | 各 AZ に配置・着信開始不可 |
| Egress-Only IGW | IPv6 外向き専用 | IPv6 用の NAT 相当 |
| VPC エンドポイント | AWS サービスへ私的接続 | ゲートウェイ型(S3/DDB)/インターフェイス型 |
シナリオ:プライベートサブネットの数百インスタンスが OS パッチと S3 アクセスを行う。可用性とコスト/性能を両立したい。→ 外向きの一般通信は各 AZ に NAT ゲートウェイを置き(AZ 障害時も継続、クロス AZ データ転送料も抑制)、各サブネットのルートを同 AZ の NAT に向ける。S3 へはゲートウェイ型 VPC エンドポイント(無料・ルートテーブルにプレフィックスリスト)でインターネットと NAT を経由させず、転送コストとセキュリティを改善します。
FAQ:NAT ゲートウェイは 1 つで足りる? 機能的には 1 つでも動きますが、単一 AZ の NAT はその AZ 障害時に他 AZ の外向き通信も止まり、さらに別 AZ からの通信はクロス AZ データ転送料がかかります。高可用性とコスト最適化のため、各 AZ に NAT ゲートウェイを配置し、各サブネットを同一 AZ の NAT にルーティングするのがベストプラクティスです。
ひっかけ:プライベートサブネットのインスタンスに「インターネットからの着信」を与えるのに NAT ゲートウェイを使う、という選択は誤り——NAT は外向き専用で着信を開始できません。インターネットからの着信が必要ならパブリックサブネット+IGW(や ALB 経由)です。また NAT をプライベートサブネットに置くのも誤りで、NAT は IGW へのルートを持つパブリックサブネットに配置します。
1.2.2この節のまとめ
- 公開判定=ルートが IGW を向くか
- プライベートの外向き=NAT ゲートウェイ(パブリックに配置)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. あるサブネットを「パブリックサブネット」にする決定的な条件はどれですか?
Q2. プライベートサブネットのインスタンスが OS パッチをインターネットから取得(外向き)したい。着信は受けたくない。何を使いますか?
Q3. NAT ゲートウェイはどのサブネットに配置しますか?

