はじめに
Amazon VPC(Amazon Virtual Private Cloud)は、AWS上に自分専用の仮想ネットワークを作るためのサービスです。AWS公式では、論理的に分離された仮想ネットワークとして説明されています。Cloud Practitioner試験では、VPCの細かな設計よりも、「どの部品が何を担当するのか」を正しく区別できるかが重要です。
特に試験で押さえたいのは、次の5点です。
- VPCはリージョン単位、サブネットはAvailability Zone(AZ)単位
- パブリックサブネット / プライベートサブネットはルート設定で決まる
- インターネット接続にはInternet Gateway(IGW)が関わる
- プライベートサブネットから外向き通信したいときはNAT Gatewayを使う
- アクセス制御はSecurity GroupとNetwork ACLを区別して覚える
VPCとは何か
VPCは、AWSクラウド内に作る仮想ネットワークです。オンプレミスのネットワークをAWS上に持ち込んだようなイメージを持つと理解しやすくなります。VPCの中にEC2インスタンスなどのリソースを配置し、通信経路やアクセス制御を自分で設計します。
ここで最初に覚えたいのが、VPCはリージョン全体にまたがる一方、サブネットは1つのAZに属するという点です。つまり、高可用性を意識するなら、複数AZにサブネットを分けて設計するのが基本になります。
サブネットとは何か
サブネットは、VPCのIPアドレス範囲を小分けにした区画です。たとえば、VPC全体を「ネットワーク全体の土地」と考えるなら、サブネットは「その中の区画」です。EC2インスタンスは、どこかのサブネットに配置して起動します。
試験対策としては、次の整理で十分です。
- VPC:ネットワーク全体の箱
- サブネット:VPCの中の区画
- EC2:その区画に置くサーバー
パブリックサブネットとプライベートサブネットの違い
初学者が混乱しやすいのがここです。パブリックサブネットとプライベートサブネットは、名前で決まるのではなく、どのルートテーブルが関連付けられ、どこへ通信を流せるかで決まります。
- パブリックサブネット:インターネットゲートウェイへのルートがあるサブネット
- プライベートサブネット:インターネットゲートウェイへの直接ルートがないサブネット
ただし、EC2を実際にインターネット公開するには、サブネットがパブリックであるだけでは不十分です。一般的には、次の条件が必要です。
- VPCにInternet Gatewayがアタッチされている
- サブネットのルートテーブルに0.0.0.0/0 → IGWのようなルートがある
- EC2にパブリックIPv4アドレスまたはIPv6アドレスがある
- Security Group / Network ACLで必要な通信が許可されている
試験では、「公開したいWebサーバーならパブリックサブネット」、「DBサーバーなど外部公開しないものはプライベートサブネット」という基本の使い分けがよく問われます。
ルートテーブルの役割
ルートテーブルは、通信の行き先を決める設定です。AWS公式でも、ルートテーブルはVPC内のトラフィックコントローラーのような役割だと説明されています。
試験では、次の対応関係を覚えると整理しやすくなります。
- インターネットへ直接出す → Internet Gateway へのルート
- プライベートサブネットから外向き通信だけしたい → NAT Gateway へのルート
- 同じVPC内で通信する → ローカルルート
つまり、ルートテーブルは「そのサブネットの通信をどこへ流すか」を決める中心的な設定です。
Internet Gateway(IGW)とは何か
Internet Gatewayは、VPCとインターネットの出入口です。AWS公式では、IGWは高可用・冗長・水平スケールされたVPCコンポーネントとして説明されています。
ポイントは、IGW自体が単に付いているだけでは不十分で、ルートテーブル側の設定とインスタンス側の公開IP設定がそろって初めてインターネット通信が成立することです。
試験では、次の誤解に注意してください。
- 「IGWを付ければどのサブネットも自動で公開される」 → 誤り
- 「公開サブネットに置けば自動で外部公開される」 → 誤り
NAT Gatewayとは何か
NAT Gatewayは、プライベートサブネット内のインスタンスが外向き通信を行うための仕組みです。たとえば、プライベートサブネットのEC2がOSアップデートを取得したり、外部APIにアクセスしたりする場面で使います。
重要なのは、NAT Gatewayを使っても、外部からそのEC2へ通信を開始することはできない点です。つまり、NAT Gatewayは「内から外へ」のための仕組みです。
試験では次の形で整理すると分かりやすくなります。
- パブリックサブネットのEC2:外から入れる / 外へも出られる
- プライベートサブネットのEC2 + NAT Gateway:外から直接は入れない / 外へは出られる
Security GroupとNetwork ACLの違い
Cloud Practitioner試験で非常によく比較されるのが、Security GroupとNetwork ACLです。どちらもVPC内の通信制御に使いますが、適用単位と挙動が異なります。
Security Group
- 適用対象はインスタンスなどのリソース単位
- ステートフル(戻りの通信を自動的に許可)
- 基本的には許可ルールで考える
Network ACL
- 適用対象はサブネット単位
- ステートレス(戻り通信も別途考える)
- 許可も拒否も設定できる
試験では、まず次のように覚えると解きやすくなります。
- EC2単位で通常の通信制御をしたい → Security Group
- サブネット単位で明示的にdenyしたい → Network ACL
default VPC も押さえておく
AWSでは、多くのリージョンで初期状態のdefault VPCが用意されています。default VPCには、各AZのパブリックサブネット、Internet Gateway、DNS解決に必要な設定などがあらかじめ用意されています。
そのため、学習初期や簡単な検証ではdefault VPCが使いやすい一方で、本番環境では要件に合わせてcustom VPCを設計するケースが一般的です。
VPC Endpoint も試験で出やすい
VPCまわりでは、VPC Endpointも押さえておくと得点しやすくなります。特にS3やDynamoDBについて、インターネットを経由せずにVPCからアクセスしたい場合は、Gateway Endpointが代表的な選択肢です。
これは試験で「S3にプライベート接続したい」「NAT Gatewayを使わずにS3へ到達したい」といった形で問われることがあります。S3とDynamoDBのGateway Endpointは、AWS公式でIGWやNATデバイスなしで接続できると説明されています。
試験での覚え方
時間がないときは、次の5行をまず暗記すると整理しやすくなります。
- VPCはリージョン、サブネットはAZ
- 公開/非公開はルートテーブルで決まる
- インターネットへ直接出すならIGW
- プライベートサブネットから外向き通信ならNAT Gateway
- Security Groupはインスタンス単位・ステートフル、NACLはサブネット単位・ステートレス
よくある誤解
- 「プライベートサブネットなら外へ一切出られない」
→ NAT Gatewayを使えば外向き通信は可能です。 - 「パブリックサブネットに置けば自動で公開される」
→ IGW、ルート、公開IP、Security Groupなどがそろって初めて公開できます。 - 「Security GroupとNACLは同じ」
→ 適用単位も挙動も異なります。 - 「VPC Endpointは全部同じ」
→ S3 / DynamoDB ではGateway Endpointが代表的です。
まとめ
Cloud Practitionerレベルでは、VPCの高度なネットワーク設計よりも、どの部品が何をするかを正しく区別できることが重要です。特に、VPC・サブネット・ルートテーブル・IGW・NAT Gateway・Security Group・Network ACLの関係を図で思い浮かべられるようになると、問題文がかなり読みやすくなります。
VPCは一見難しそうに見えますが、試験では「ネットワーク全体」「区画」「出入口」「外向き専用の出口」「アクセス制御」という役割分担で整理すると理解しやすくなります。まずはこの役割分担を確実に押さえ、そのうえで問題演習に進むのがおすすめです。
参考情報(AWS公式)
- https://aws.amazon.com/jp/certification/certified-cloud-practitioner/
- https://docs.aws.amazon.com/pdfs/aws-certification/latest/cloud-practitioner-02/cloud-practitioner-02.pdf
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-subnet-basics.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/configure-subnets.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Route_Tables.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/vpc-security-groups.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-network-acls.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/default-vpc.html
- https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/gateway-endpoints.html
