はじめに
AWS Certified Cloud Practitioner(CLF-C02)では、Amazon VPC の基本コンポーネントを見分けられることが重要です。公式の試験ガイドでも、VPC の構成要素としてサブネットやゲートウェイを識別することが求められています。
その中でも混同しやすいのが Internet Gateway と NAT Gateway です。どちらも「インターネットに出るための仕組み」と捉えられがちですが、役割は同じではありません。試験ではこの違いを正しく言い分けられることが大切です。
先に結論
- Internet Gateway(IGW) は、VPC をインターネットへ直接つなぐ出入口です。
- NAT Gateway は、主にプライベートサブネット内のリソースがインターネットへ外向き通信だけできるようにする中継装置です。
一言でまとめると、IGW は「公開の出入口」、NAT Gateway は「非公開のまま外へ出るための出口」です。
まずは前提:パブリックサブネットとプライベートサブネット
この違いは、ルートテーブルを見ると整理しやすくなります。
- パブリックサブネット:そのサブネットのルートテーブルに Internet Gateway へのルートがあるサブネット
- プライベートサブネット:そのサブネットのルートテーブルに Internet Gateway へのルートがないサブネット
また、パブリックサブネット内の EC2 が Internet Gateway 経由で IPv4 通信するには、ルートだけでなく パブリック IPv4 アドレスまたは Elastic IP も必要です。
違いを表で比較
| 比較項目 | Internet Gateway | NAT Gateway |
|---|---|---|
| 主な役割 | VPC をインターネットへ直接接続する | プライベートサブネットからの外向き通信を中継する |
| 通信の性質 | 双方向の通信が可能 | 基本は送信開始側が VPC 内。外部からの新規接続は受けない |
| 主に使う場所 | パブリックサブネットで使う構成 | プライベートサブネットの出口として使う構成 |
| インターネットから直接アクセス | 可能(ただしルート、パブリック IP、SG/NACL などの条件が必要) | 不可 |
| 典型例 | 公開 Web サーバー、踏み台サーバー | 非公開アプリサーバーの OS 更新、外部 API へのアクセス |
| 課金の考え方 | Internet Gateway 自体に料金はかからない | 利用可能時間と処理データ量で課金される |
Internet Gateway を使う場面
Internet Gateway は、VPC をインターネットと直接つなぐためのコンポーネントです。たとえば、公開 Web サーバーとして使う EC2 を配置し、インターネット上の利用者から HTTPS アクセスを受けたい場合に使います。
このときの考え方は次のとおりです。
- Internet Gateway を VPC にアタッチする
- 対象サブネットのルートテーブルで
0.0.0.0/0を Internet Gateway に向ける - EC2 にパブリック IP または Elastic IP を持たせる
つまり、外から入ってこられる可能性がある構成を作るのが Internet Gateway です。
NAT Gateway を使う場面
NAT Gateway は、主にプライベートサブネット内の EC2 が外部へ通信したいときに使います。代表例は、次のようなケースです。
- アプリサーバーをインターネットへ公開したくない
- ただし、OS パッチ取得やパッケージダウンロードは必要
- 外部 API への送信はしたい
この場合、EC2 自体はプライベートサブネットに置き、外向き通信だけを NAT Gateway 経由にします。外部サービスはその EC2 に対して接続を開始できません。
Cloud Practitioner 学習では、まず パブリック NAT Gateway を理解するのが実用的です。これは通常、パブリックサブネットに作成し、作成時に Elastic IP を関連付けます。そして、プライベートサブネット側のデフォルトルートを NAT Gateway に向けます。
図なしでつかむ通信イメージ
1. Internet Gateway のイメージ
インターネット上の利用者 → Internet Gateway → パブリックサブネットの EC2
この構成では、外部からのアクセスを受けることができます。公開サイトを置くときの基本形です。
2. NAT Gateway のイメージ
プライベートサブネットの EC2 → NAT Gateway → Internet Gateway → インターネット
この構成では、EC2 は外へは出られますが、インターネット側からその EC2 に向けて接続を開始することはできません。
試験でよく引っかかるポイント
- NAT Gateway は「公開サーバーを置くためのもの」ではない
外から入ってくる通信を受ける用途ではありません。 - Internet Gateway が VPC にあっても、全サブネットが自動でインターネット接続できるわけではない
ルートテーブルに Internet Gateway へのルートがあるかどうかが重要です。 - パブリック IP があるだけでは不十分な場合がある
ルートがなければ通信できません。AWS 公式でも、Internet Gateway へのルートがないプライベートサブネット内のインスタンスは、パブリック IP があってもインターネットと通信できないと説明されています。 - NAT Gateway 自体も単独ではインターネット出口にならない
パブリック NAT Gateway は Internet Gateway と組み合わせて使います。
試験向けの覚え方
- 公開したいなら Internet Gateway
- 非公開のまま外へ出したいなら NAT Gateway
- IGW は正面玄関、NAT Gateway は中からだけ使える出口
まとめ
Internet Gateway と NAT Gateway は、どちらもインターネット通信に関係しますが、目的は明確に違います。
- Internet Gateway:VPC をインターネットへ直接つなぐ
- NAT Gateway:プライベートサブネットからの外向き通信を可能にする
AWS Certified Cloud Practitioner では、細かい実装知識よりも、「公開用なのか」「外向き専用なのか」を正しく判断できることが重要です。迷ったら、まずはこの2点で整理すると解きやすくなります。
参考URL(AWS公式)
- https://docs.aws.amazon.com/pdfs/aws-certification/latest/cloud-practitioner-02/cloud-practitioner-02.pdf
- https://docs.aws.amazon.com/aws-certification/latest/cloud-practitioner-02/clf-02-in-scope-services.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Internet_Gateway.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-nat-gateway.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/nat-gateway-pricing.html
- https://aws.amazon.com/jp/vpc/pricing/
