Public SubnetとPrivate Subnetの違いとは?Route TableとInternet Gatewayまで図解
VPCとSubnetの関係を理解すると、次に気になるのがPublic SubnetとPrivate Subnetは何が違うのかという点です。
名前だけを見ると「Publicという種類のSubnet」「Privateという種類のSubnet」が最初から存在するように感じます。しかし実際には、普通のSubnetにどのような通信経路を設定したかによって呼び方が変わります。
この記事では、Public / Privateの違いを理解するために、Route TableとInternet Gatewayを順番につなげます。
Public SubnetとPrivate Subnetは「経路」で決まる
最初に結論を書くと、AWSではInternet Gatewayへの直接のルートを持つSubnetをPublic Subnetと呼びます。逆にInternet Gatewayへの直接ルートを持たないSubnetはPrivate Subnetとして扱われます。
Subnet
│
├─ Internet Gatewayへの直接ルートあり
│ → Public Subnet
│
└─ Internet Gatewayへの直接ルートなし
→ Private Subnet
つまり「Public Subnet」という専用製品を選ぶのではありません。同じSubnetでも、そのSubnetに関連付けた経路設定によって役割が変わります。
Route Tableは通信の「道路標識」
Route Table = 経路表です。Routeは「経路」、Tableは「表」なので、英語の意味をそのまま捉えると分かりやすい用語です。
Route Tableには、「この宛先への通信は、この行き先へ送る」というルールを書きます。車のナビや道路標識にたとえると、目的地ごとに使う道を決めているイメージです。
| Destination(宛先) | Target(送り先) | 意味 |
|---|---|---|
| 10.0.0.0/16 | local | VPC内部の通信 |
| 0.0.0.0/0 | Internet Gateway | それ以外のIPv4通信をインターネット側へ送る |
AWS公式では、各Subnetは必ず何らかのRoute Tableと関連付けられます。明示的に指定しなければ、そのVPCのMain Route Tableが使われます。

出典: AWS公式。Public Subnetに関連付くRoute TableにはInternet Gatewayへの経路があります。
Internet GatewayはVPCとインターネットをつなぐ門
Internet Gatewayは、名前の通りVPCとインターネットの間にある出入口です。略してIGWと書かれることがあります。
ただし、Internet GatewayをVPCに付けただけで、VPC内のすべてのリソースが自動的にインターネットへ出られるわけではありません。Route Tableに「この通信はInternet Gatewayへ送る」という経路が必要です。
Internet │ ▼ Internet Gateway ← 門 ▲ │ Route Table ← 門までの道案内 │ Public Subnet
この「門」と「道」を分けて考えると理解しやすくなります。Internet Gatewayは門、Route Tableはどの門へ進むかを決める道路標識です。
0.0.0.0/0は「すべてのIPv4宛先」
Route Tableで頻繁に見るのが0.0.0.0/0です。これはCIDRという表記で、すべてのIPv4アドレスを表します。
そのため、次のルートがある場合は「VPC内部などのより具体的な経路に該当しないIPv4通信は、Internet Gatewayへ送る」という意味になります。
Destination : 0.0.0.0/0 Target : igw-xxxxx
ここで出てきたCIDRや/0の意味は、次の記事であらためて基礎から説明します。
Webシステムでは「入口だけPublic」にする構成も多い
初心者のうちは「ユーザーからアクセスされるAPIサーバーだからPublic Subnetに置く」と考えやすいですが、実際にはAPIサーバー本体をPrivate Subnetに置き、外から見える入口だけをPublic側へ出す構成もよく使われます。
Internet │ Internet Gateway │ Public Subnet │ Load Balancer ← 外から見える入口 │ Private Subnet │ API Server │ Private Subnet │ Database
この構成では、利用者はWebサイトやAPIを利用できますが、APIサーバーやDBへインターネットから直接アクセスさせる必要はありません。

出典: AWS Prescriptive Guidance。インターネットからALBを経由してPrivate SubnetのEC2へ到達する例です。
まとめ:Public / PrivateはSubnetの名前ではなく設計結果
今回のポイントは、SubnetをPublicまたはPrivateにする専用スイッチがあるわけではないということです。
| 用語 | 役割 |
|---|---|
| Route Table | 通信をどこへ送るか決める経路表 |
| Internet Gateway | VPCとインターネットを接続する出入口 |
| Public Subnet | Internet Gatewayへの直接ルートを持つSubnet |
| Private Subnet | Internet Gatewayへの直接ルートを持たないSubnet |
次は、Route TableにもSubnetにも登場した10.0.0.0/16や0.0.0.0/0を読めるようにするため、CIDRの基本を整理します。
