VPCを作ったら、次はサブネットとルートテーブルです。ここがVPC設計の心臓部なので、初心者向けに丁寧に解説します。
サブネットはVPCの「区画」
VPCのCIDR(例 10.0.0.0/16)を、用途ごとに小さく区切ったのがサブネットです。
10.0.1.0/24 … Web用(外に公開したい)
10.0.2.0/24 … DB用(隠したい)
各サブネットは、1つのAZに属します。AZをまたぐには、AZごとにサブネットを作ります。
ルートテーブルが「公開/非公開」を決める
サブネットの性格(公開か非公開か)を実際に決めているのは、ルートテーブルです。ルートテーブルには「この宛先はここへ送る」という経路を書きます。
パブリックサブネットのルートテーブル:
10.0.0.0/16 → local (VPC内は直接)
0.0.0.0/0 → igw-xxxx (それ以外はインターネットゲートウェイへ)
0.0.0.0/0 → IGW があると、そのサブネットはインターネットに出られます。これが「パブリック」の正体です。
プライベートサブネットのルートテーブル:
10.0.0.0/16 → local
0.0.0.0/0 → nat-xxxx (NATゲートウェイ経由で外へ出るだけ、外からは入れない)
IGWへの直接経路がないので、外から直接アクセスされません。
「パブリック/プライベート」は設定で決まる
重要なのは、サブネットに"公開"という属性があるわけではないこと。IGWへのルートを持つルートテーブルが関連づいているかどうかで、公開/非公開が決まります。ここを理解すると、VPCの動きが一気に読めるようになります。
サブネット分割の設計
- Web層(公開)、AP層・DB層(非公開)で分ける
- AZごとに分けて冗長化
- 将来の拡張分のCIDRを空けておく
オンプレのセグメント設計と全く同じ発想です。
まとめ
サブネットはVPCの区画、ルートテーブルがその性格(公開/非公開)を決めます。「パブリックサブネット=IGWへのルートを持つサブネット」と理解するのが、VPCマスターへの近道です。まずはWeb公開・DB非公開の2層を作るところから始めましょう。