はじめに
AWS Certified Cloud Practitioner では、VPC・サブネット・ルートテーブル・NAT Gateway・Internet Gateway(IGW)の関係を問う問題がよく出ます。特に「プライベートサブネット内のEC2インスタンスをインターネットに出したい」という場面は、構成の理解が曖昧だと選択肢に惑わされやすい典型例です。
この記事では、試験で必要な範囲に絞って、正しい構成と間違えやすいポイントを整理します。
先に結論
プライベートサブネットにあるEC2インスタンスからインターネットへ送信方向の通信を行いたい場合は、次の構成が基本です。
- NAT Gateway はパブリックサブネットに配置する
- そのパブリックサブネットのルートテーブルは
0.0.0.0/0を Internet Gateway に向ける - プライベートサブネットのルートテーブルは
0.0.0.0/0を NAT Gateway に向ける
試験問題の選択肢で表すなら、「NATゲートウェイをパブリックサブネットに設置し、プライベートサブネットのルートテーブルにNATゲートウェイへの経路情報を追加する」という内容が正解です。
まず用語を短く整理
パブリックサブネット
ルートテーブルに 0.0.0.0/0 の宛先で Internet Gateway へのルートを持つサブネットです。AWS公式ドキュメントでも、このルートがあることでサブネットはパブリックになります。
プライベートサブネット
Internet Gateway への直接ルートを持たないサブネットです。外部から直接到達されにくい構成にしたいEC2やデータベースを置くときによく使います。
Internet Gateway(IGW)
VPC がインターネットと通信するための出入口です。ただし、各サブネットがIGWを使えるかどうかはルートテーブルの設定で決まります。
NAT Gateway
プライベートサブネット内のリソースが、外部へ発信するための中継装置です。重要なのは、インターネット向けに使う NAT Gateway はパブリックサブネットに置くという点です。
通信の流れを図式で理解する
正しい通信の流れは次のようになります。
Private Subnet の EC2 → ルートテーブル → NAT Gateway(Public Subnet)→ Internet Gateway → Internet
ここで大事なのは、プライベートサブネットのEC2が直接IGWへ出るわけではないことです。まず NAT Gateway に渡し、NAT Gateway 側がインターネットへの出口になります。
なぜこの構成になるのか
理由1:プライベートサブネットはIGWを直接向かない
プライベートサブネットのルートテーブルで 0.0.0.0/0 をIGWへ向けてしまうと、そのサブネットは実質的にパブリックサブネットの性質を持つことになります。試験ではここがよくひっかけになります。
理由2:NAT Gateway 自体がインターネットへ出られる場所に必要
インターネット向けの NAT Gateway は、外へ出るための経路を持つ必要があります。そのため、NAT Gateway はパブリックサブネットに配置します。
理由3:外向き通信はできるが、外部からの新規接続は受けない
NAT Gateway を使う目的は、プライベートサブネット内インスタンスのアウトバウンド通信を許可しつつ、インターネット側からの未承諾のインバウンド接続を受けないようにすることです。OSアップデート取得、パッケージダウンロード、外部API呼び出しなどでよく使います。
典型的な誤答パターン
誤答パターン1:プライベートサブネットのルートテーブルをIGWへ向ける
これは最も多い誤りです。プライベートサブネットからインターネットに出したい気持ちは合っていますが、出口として指定すべき相手は IGW ではなく NAT Gateway です。
誤答パターン2:NAT Gateway をプライベートサブネットに置く
これも誤りです。AWS公式ドキュメントでは、インターネットアクセス用には public NAT gateway を使い、プライベートサブネットのインスタンスがインターネットへ送信できるようにすると説明されています。反対に、private NAT gateway は主に他のVPCやオンプレミス向けであり、インターネットゲートウェイへ流す用途ではありません。
誤答パターン3:NAT Gateway を置いたら自動で全部つながると思う
NAT Gateway を作るだけでは不十分です。どのサブネットのルートテーブルが、どこを向いているかまでセットで見ないと正誤判定できません。
試験での覚え方
- パブリックサブネットは IGW を向く
- プライベートサブネットは NAT Gateway を向く
- インターネット向け NAT Gateway は パブリックサブネットに置く
この3点をセットで覚えると、かなり迷いにくくなります。
一問一答で確認
Q1. プライベートサブネット内のEC2がインターネットへ出るには、ルートテーブルはどこを向くべきか?
A. NAT Gateway です。IGWではありません。
Q2. NAT Gateway はどこに配置するか?
A. パブリックサブネットです。
Q3. プライベートサブネットのEC2は、インターネットから直接アクセスされるか?
A. NAT Gateway 経由の構成では、外部からの未承諾の新規接続は受けません。
Cloud Practitioner試験向けのまとめ
Cloud Practitioner では、細かな実装よりも「役割の違い」を正しく区別できることが重要です。
- IGW:VPC のインターネット出入口
- パブリックサブネット:IGW へのルートを持つ
- プライベートサブネット:IGW への直接ルートを持たない
- NAT Gateway:プライベートサブネットの外向き通信を中継する
問題文に「プライベートサブネットのEC2からインターネットアクセス」とあれば、まず “NAT Gateway をパブリックサブネットに配置し、プライベートサブネットのデフォルトルートを NAT Gateway に向ける” という基本形を思い出すのが近道です。
参考URL(AWS公式)
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-nat-gateway.html
- https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-scenarios.html
- https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html
- https://docs.aws.amazon.com/vpc/latest/userguide/route-table-options.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-example-private-subnets-nat.html
