VPC の設定画面を初めて開くと、VPC・サブネット・ルートテーブル・インターネットゲートウェイ・NAT ゲートウェイ・セキュリティグループ・ネットワーク ACL と、部品が7つ並びます。それぞれの説明は読めても、「どれがどれにつながっていて、パケットがどう通るか」が1枚の絵になっていないと、「なぜつながらないか」が分かりません。この記事は、ネットワークとは何かの「住所・経路・通過」の3つに、VPC の部品を当てはめます。
この記事の結論
- VPC(Virtual Private Cloud)は、AWS の中に作る自分専用の仮想ネットワークです。住所の範囲(CIDR)を自分で決め、その中にサーバーを置きます。
- 部品は「住所・経路・出入口・通過」の4つに分かれます。サブネットが住所の区画、ルートテーブルが経路、インターネットゲートウェイ/NAT ゲートウェイが出入口、セキュリティグループ/ネットワーク ACLが通過の門です。
- パブリックとプライベートの違いは、サブネットの種類ではなく、ルートテーブルにインターネットへの経路があるかどうかです。
- セキュリティグループはインスタンス単位・ステートフル・許可だけ。ネットワーク ACL はサブネット単位・ステートレス・許可と拒否。主に使うのはセキュリティグループです。
- 「つながらない」は、この4つを経路 → 出入口 → 通過の順に確かめます。
VPC は「自分専用の仮想ネットワーク」で、住所の範囲を自分で決める
VPCは、AWS のリージョンの中に作る、自分だけの仮想ネットワークです。会社の LAN を AWS の中に作るものと考えると位置づけが掴めます。EC2 も RDS も、この VPC の中に置きます。
VPC を作るときに決めるのは、住所の範囲です。ネットワークとは何かで扱ったプライベート IP アドレスの範囲から、10.0.0.0/16 のようにCIDRで指定します。
/16 の読み方は「32 ビットのうち先頭 16 ビットがネットワーク部、残り 16 ビットがその中の各機器の番号」で、10.0.0.0/16 なら 10.0.0.0 〜 10.0.255.255 の 65,536 個のアドレスがこの VPC の範囲です。数字が大きいほど範囲が狭く、/24 なら 256 個です。
VPC の範囲は、あとで会社のネットワークや別の VPC とつなぐときに重ならないように決めます。学習用なら 10.0.0.0/16 で構いませんが、「重なると困る」ことだけは知っておいてください。
CHECK 1ここまでの確認
パブリックサブネットとプライベートサブネットは、何で決まる?
答えと解説
答え: 2. ルートテーブルにインターネットゲートウェイへの経路があるかどうか
サブネット自体に種類はありません。ルートテーブルに 0.0.0.0/0 → igw があればパブリック、無ければプライベートと呼んでいるだけです。
5つの部品の関係を1枚で
FOUR ROLES部品を4つの役割で
VPC の部品は住所・経路・出入口・門の4つに分かれる
-
住所
サブネット — VPC の範囲を AZ ごとの区画に分ける
10.0.1.0/24(AZ-a)、10.0.2.0/24(AZ-c)
-
経路
ルートテーブル — 宛先ごとにどこへ送るか
0.0.0.0/0 → igw があればパブリック、無ければプライベート
-
出入口
インターネットゲートウェイ/NAT ゲートウェイ
外と直接やり取り/内側から外へ出るだけ
-
門
セキュリティグループ/ネットワーク ACL
インスタンス単位・許可だけ/サブネット単位・許可と拒否
| 役割 | 部品 | 何を決めるか | 一般のネットワークでの対応 |
|---|---|---|---|
| 住所の区画 | サブネット | VPC の範囲を、AZ ごとに小さく区切る | LAN の中のセグメント |
| 経路 | ルートテーブル | 各サブネットから、宛先ごとにどこへ送るか | ルーター、デフォルトゲートウェイ |
| 出入口 | インターネットゲートウェイ、NAT ゲートウェイ | インターネットとの出入り | ルーターの WAN 側、家の Wi-Fi ルーターの NAT |
| 通過の門 | セキュリティグループ、ネットワーク ACL | 通信を通すか止めるか | ファイアウォール |
サブネット: 住所の区画
サブネットは、VPC の住所の範囲を小さく区切ったものです。1つのサブネットは1つの AZ の中に置かれます。だから、複数の AZ にサーバーを分けて置きたければ、AZ ごとにサブネットを作ります。10.0.0.0/16 の VPC に、10.0.1.0/24(AZ-a)と 10.0.2.0/24(AZ-c)のように切るのが典型です。
各サブネットの先頭4つと末尾1つのアドレスは AWS が予約しているので、/24 で使えるのは 251 個です。
ルートテーブル: 経路
ルートテーブルは、「この宛先へは、ここへ送る」の表です。各サブネットに1つ結び付き、サブネットから出るパケットはこの表で次の行き先が決まります。
| 宛先 | 送り先 | 意味 |
|---|---|---|
| 10.0.0.0/16 | local | VPC の中は、直接届く(既定で入っている) |
| 0.0.0.0/0 | igw-xxxx | それ以外(インターネット)は、インターネットゲートウェイへ |
この2行目があるサブネットがパブリックサブネット、無いサブネットがプライベートサブネットです。パブリックとプライベートはサブネットの種類ではなく、ルートテーブルの中身で決まる。ここが一番の誤解ポイントです。
インターネットゲートウェイと NAT ゲートウェイ: 出入口
インターネットゲートウェイ(IGW)は、VPC とインターネットの間の出入口です。VPC に1つ付け、ルートテーブルからここへ経路を向けると、パブリック IP アドレスを持つインスタンスがインターネットと直接やり取りできます。
NAT ゲートウェイは、プライベートサブネットのインスタンスが「外へ出るだけ」のための出口です。パブリック IP を持たないインスタンスが、OS の更新やパッケージの取得でインターネットに出たいとき、NAT ゲートウェイが内側の住所を外側の住所に書き換えて出してくれます。外からは入れません。家の Wi-Fi ルーターと同じ役割で、NAT ゲートウェイ自体はパブリックサブネットに置きます。
NAT ゲートウェイには時間と転送量の料金がかかります。学習で作ったら、消し忘れに注意する部品の1つです。
セキュリティグループとネットワーク ACL: 通過の門
門は2種類あり、違いを表で持っておきます。
| 項目 | セキュリティグループ | ネットワーク ACL |
|---|---|---|
| 付ける単位 | インスタンス(正確には ENI) | サブネット |
| 書けるルール | 許可だけ | 許可と拒否 |
| 状態 | ステートフル(行きを許可すれば帰りは自動で通る) | ステートレス(行きと帰りを別々に書く) |
| ルールの評価 | 全ルールを見て、1つでも当たれば許可 | 番号の小さい順に見て、最初に当たったルールで決まる |
| 既定 | 外からの通信は全部拒否 | 全部許可 |
日常的に使うのはセキュリティグループです。ネットワーク ACL は、「このサブネット全体で、特定の送信元を拒否する」のように、拒否を書きたいときの道具です。両方を細かく書くと、どちらで止まっているか分からなくなるので、理由がなければネットワーク ACL は既定のままにします。
SG VS NACL2種類の門
日常的に使うのはセキュリティグループ
セキュリティグループ
インスタンス単位
- 許可のルールだけ書く
- ステートフル。行きを許可すれば帰りは自動
- 全ルールを見て、1つでも当たれば許可
- 既定は外からの通信を全部拒否
ネットワーク ACL
サブネット単位
- 許可と拒否を書ける
- ステートレス。行きと帰りを別々に書く
- 番号の小さい順に見て、最初に当たったルールで決まる
- 既定は全部許可。理由がなければ既定のまま
CHECK 2ここまでの確認
プライベートサブネットのサーバーが OS の更新でインターネットへ出るには、何が要る?
答えと解説
答え: 2. NAT ゲートウェイ(パブリックサブネットに置く)
パブリック IP を持たないサーバーが外へ出るだけなら NAT ゲートウェイです。内側の住所を外側に書き換えて出してくれ、外からは入れません。
パケットの通り道で考える
インターネットから、パブリックサブネットの Web サーバーへ HTTPS で来る通信は、次の順に通ります。
- インターネットゲートウェイに届く(出入口)
- サブネットのネットワーク ACL を通る(門1・既定なら素通り)
- インスタンスのセキュリティグループを通る(門2・TCP 443 の許可が要る)
- インスタンスの 443 番で待つプロセスに届く(窓口)
PACKET PATHパケットの通り道
インターネットから Web サーバーへは、この順に通る
-
インターネットゲートウェイ
出入口に届く
-
ネットワーク ACL
門1。既定なら素通り
-
セキュリティグループ
門2。TCP 443 の許可が要る
-
443 番のプロセス
窓口に届く
返事は、セキュリティグループがステートフルなので自動で通り、ルートテーブルの 0.0.0.0/0 → igw に従ってインターネットゲートウェイから出ていきます。
プライベートサブネットのアプリサーバーが外へ出る通信は、ルートテーブルの 0.0.0.0/0 → nat に従って NAT ゲートウェイへ行き、そこで住所を書き換えられてインターネットゲートウェイから出ます。
「つながらない」ときは、ping と DNS で分かる「つながる」の仕組みの順番のうち、経路(ルートテーブルに行き先があるか)→ 出入口(IGW が VPC に付いているか、NAT がパブリックサブネットにあるか)→ 通過(セキュリティグループと ACL)の順に見ます。
CHECK 3ここまでの確認
セキュリティグループについて正しいのはどれ?
答えと解説
答え: 2. 許可だけを書き、行きを許可すれば帰りは自動で通る
セキュリティグループはインスタンス単位・許可だけ・ステートフルです。許可と拒否を番号順に評価するサブネット単位の門は、ネットワーク ACL です。
まとめ
VPC は、住所の範囲を自分で決める専用の仮想ネットワークです。部品は、サブネット(区画)・ルートテーブル(経路)・インターネットゲートウェイと NAT ゲートウェイ(出入口)・セキュリティグループとネットワーク ACL(門)の4つの役割に分かれます。パブリックとプライベートはルートテーブルで決まり、門は主にセキュリティグループを使います。次はS3 とは何かで、VPC の外にある「ファイルの置き場」を扱います。
参照ソース
- Amazon VPC とは(AWS VPC ユーザーガイド) — VPC・サブネット・ルートテーブル・ゲートウェイの定義と関係の根拠。2026年9月時点の記載
- VPC のサブネット(AWS VPC ユーザーガイド) — サブネットが1つの AZ に属すること、各サブネットで5つのアドレスが予約されることの根拠
- ルートテーブルを設定する(AWS VPC ユーザーガイド) — パブリック/プライベートがルートテーブルの経路で決まることの根拠
- セキュリティグループを使用してリソースへのトラフィックを制御する・ネットワーク ACL を使用してサブネットへのトラフィックを制御する(AWS VPC ユーザーガイド) — ステートフル/ステートレス、許可のみ/許可と拒否、評価の順番の根拠
- NAT ゲートウェイ(AWS VPC ユーザーガイド) — NAT ゲートウェイの役割と、パブリックサブネットに置くことの根拠
- RFC 4632 “Classless Inter-domain Routing (CIDR)” — /16・/24 という表記の根拠(2006年)


