EC2を作ろうとしたら「VPCを選択」と出てきて、手が止まってしまった
パブリックサブネットとプライベートサブネットの違いが、何度読んでも分からない
VPCの構成図を見ても、どこが何を表しているのか読み取れない
こんな悩みを解決していきます!

現在はCIerで、クラウドの設計・構築をしているインフラエンジニアです。
AWSの資格は、SAA(ソリューションアーキテクト アソシエイト)とSAP(ソリューションアーキテクト プロフェッショナル)を持っています。
結論からお伝えすると、VPCは「塀で囲った自分の街」です。
そして、パブリックかプライベートかは、区画の出口の標識(ルートテーブル)に、正門(インターネットゲートウェイ)への行があるかどうかで決まります。
サクッと動画で見たい人は、
こちらで確認してみてください!
\ 図で分かったら、次は手を動かして覚える /
VPCとは?AWSの中にある「自分専用の街」

VPCは、AWSの中に作る自分専用のネットワークの範囲です。

この記事では、最初から最後までこの「街」の地図1枚で説明していきます。
塀で囲った範囲がVPC、中の点線の区切りがサブネット、家の形をしたものがEC2(サーバー)です。
AWSという大きな土地の上に、塀で囲った自分だけの街を作るイメージを持ってください。
塀の外には、ほかの利用者が作った街がいくつもあり、自分の街とは塀で分かれています。
これから建てる建物(EC2)は、この塀の内側に建てることになります。
EC2の作成画面で「VPCを選択」と聞かれる理由
EC2を作る画面でVPCやサブネットを聞かれるのは、建物を建てる前に「どの街の、どの区画に建てるか」を決める必要があるからです。
AWSの公式ドキュメントでも、インスタンス(EC2)を起動するときはリージョンとVPCを選ぶ、と説明されています。
| 画面で聞かれること | 街で言うと | なぜ聞かれるか |
| リージョン | 土地がある地域 | どの地域のAWSに作るかを決めるため |
| VPC | 塀で囲った街 | どの街の中に建てるかを決めるため |
| サブネット | 街の中の区画 | 街の中の、どの区画に建てるかを決めるため |
3つとも、建物を建てる「場所」を聞いているだけです。
広い範囲から狭い範囲へ、建てる場所を絞り込んでいると読みかえると、画面の意味が見えてきます。
最初から「デフォルトVPC」が用意されている
AWSのアカウントには、各リージョンに「デフォルトVPC」という街が最初から用意されています。
自分でVPCを作った覚えがないのに選択肢に出てくるのは、このためです。
デフォルトVPCは、インターネットとつながるための部品が最初からそろっている、お試し用の街です。
自分で作るVPCとの違いは、パブリックIP(建物に付く、インターネットで通じる住所)の章で表にして比べますね。
厳密には
- VPCは公式には「AWSアカウント専用の仮想ネットワークで、AWSクラウドのほかの仮想ネットワークから論理的に分離されたもの」です。
- 塀は物理的な壁ではなく、ネットワークとして論理的に分けられている、という意味です。
- VPCそのものを使うのに追加料金はかかりません。ただし、NAT(ナット)ゲートウェイなど一部の部品には料金がかかります。
VPCの4つの部品を街で例えると

VPCの部品は、街に置きかえると「区画・出口の標識・正門・建物」の4つで、同じ配置のままAWSの名前に読みかえられます。

上の図は、さきほどの街の地図と同じ配置のまま、名前だけをAWSの言葉に置きかえた構成図です。
塀がVPC、区画がサブネット、標識がルートテーブル、正門がインターネットゲートウェイ、建物がEC2に変わりました。
AWSの構成図は四角と矢印とアイコンで描かれるので、初めて見ると記号の集まりにしか見えません。
構成図を見たら、頭の中で街の地図に戻して読むと、どこに何があるのかが分かるようになります。
| 街 | AWSの名前 | ひとことで言うと | 詳しくは |
| 塀で囲った街 | VPC | 自分専用のネットワークの範囲 | VPCとはの章 |
| 区画 | サブネット | VPCの中を区切った範囲 | サブネットの章 |
| 出口の標識 | ルートテーブル | 出ていく通信の行き先を書いた表 | ルートテーブルの章 |
| 正門 | インターネットゲートウェイ | VPCとインターネットをつなぐ出入口 | パブリックとプライベートの章 |
| 建物 | EC2 | 区画の中に建てるサーバー | パブリックIPの章 |
この4つのうち、記事の核心になるのは出口の標識(ルートテーブル)になります。
パブリックかプライベートかの違いも、この標識の書き方ひとつで決まるからです。
ただし、どんな例えにも限界はあります。
街の例えで言い過ぎになる所を先に3つ挙げておき、各章の終わりにある「厳密には」の箱で、正しい言い方に戻していきます。
厳密には(例えの限界を先に3つ)
- 正門は1つの街に1つだけ:1つのVPCに同時に付けられるインターネットゲートウェイは1つです。
- 標識は出ていくときに見るもの:ルートテーブルは、サブネットから出ていく通信の経路を決めます。
- 区画は地図の上では平らに並んでいますが、実際は1つのアベイラビリティゾーン(AZ:リージョンの中にある、互いに分離された場所)の中にしか作れません。
サブネットとは?VPCを区切った「区画」

サブネットは、VPCという街の中をさらに区切った区画で、EC2はこの区画のどれかに建てます。
街を作ったら、次は中を区画に分けていきます。
たとえば「表通りに面した区画」と「奥まった区画」を分けておき、建物はどちらかに建てる、というイメージです。
区画を分けておくと、区画ごとに出口のルールを変えられます。
表通りの区画からは外へ出られるようにして、奥の区画からは外へ直接は出られないようにする、といった分け方ができるわけです。
| 比べること | VPC | サブネット |
| 街で言うと | 塀で囲った街 | 街の中の区画 |
| 中に置くもの | サブネット(区画) | EC2などの建物 |
| 広がる範囲 | リージョンの中のすべてのAZにまたがる | 1つのAZの中だけ |
| いくつ作るか | まずは1つ | AZごとに1つ以上作れる |
VPCの中にEC2などを作るには、先にサブネットが要る
AWSの公式ドキュメントにも、VPCの中にリソース(EC2などのサーバーや部品)を作る前に、サブネットやルートテーブル、ゲートウェイといった部品が必要だと書かれています。
VPCを作っただけの状態は、塀を立てただけで、建物を建てる区画がまだ1つも無い状態だと思ってください。
EC2の作成画面で、VPCの次にサブネットを聞かれるのもこのためでした。
街を選んだあとに「その街のどの区画に建てますか」と聞かれている、と読みかえると迷いません。
区画ごとに、出口の標識が1枚ずつ付く
区画にはそれぞれ、出口の標識(ルートテーブル)が1枚ずつ付きます。
1つの区画に同時に付けられる標識は1枚だけですが、同じ標識を複数の区画で使い回すことはできます。
| 標識の付け方 | どうなるか |
| 区画に標識を自分で付けた | その標識の行き先に従う |
| 区画に標識を付けていない | 街全体の標準の標識(メインルートテーブル)が使われる |
| 同じ標識を2つの区画に付けた | 2つの区画は同じ行き先に従う |
どの標識が付いていて、そこに何が書いてあるかで、その区画の性格が決まります。
次の章では、いよいよ標識の中身を読んでいきましょう。
厳密には
- サブネットは公式には「VPCの中のIPアドレス(ネットワーク上の住所にあたる番号)の範囲」です。区画の広さは、IPアドレスの範囲で決まります。
- 1つのサブネットに関連付けられるルートテーブルは、同時に1つです。1つのルートテーブルは複数のサブネットで共有できます。
- 明示的に関連付けていないサブネットは、メインルートテーブルに暗黙的に関連付けられます。
ルートテーブルとは?区画の出口にある「標識」

ルートテーブルは、区画から出ていく通信が「どこ行きなら、どこを通るか」を書いた標識です。

区画の出口に、案内板が1枚立っているところを想像してみてください。
案内板には「街の中行きは、そのまま進む」「それ以外の行き先は、正門へ」のように、行き先ごとに1行ずつ書いてあります。
区画から出ていく通信は、この案内板を見て進む道を決めます。
標識の読み方さえ分かれば、通信がどこへ向かうかは表を見るだけで分かるようになります。
| 送信先 | ターゲット | 街で言うと | 意味 |
| 10.0.0.0/16 | local | 街の中行きは、そのまま進む | VPCの中どうしの通信 |
| 0.0.0.0/0 | igw-xxxx | それ以外ぜんぶは、正門へ | インターネット行きの通信 |
左の列の「送信先」が行き先、右の列の「ターゲット」が通り道です。
1行目の10.0.0.0/16は、この例でのVPC全体の範囲を表しています。数字の計算の仕方は、この記事では覚えなくて大丈夫です。
2行目の0.0.0.0/0は、ひとことで言うと「外の全部」のこと。正確には「すべてのIPv4アドレス(10.0.0.0 のように、数字を4つ並べて書く住所)」、つまりインターネットのどこへでも、という意味です。
igw-xxxxは、この例でのインターネットゲートウェイを指しています。
local の行は最初から入っている
1行目の local の行は、どのルートテーブルにも最初から入っています。
自分で書き足さなくても、同じ街の中で通信するための道は最初から用意されている、ということです。
自分で作ったVPCの場合、最初の標準の標識(メインルートテーブル)には、この local の行しかありません。
正門へ向かう行は、最初は入っていないので、ここを知らないと「外へ出られない」で止まります。
区画どうしをつないでいるのは「暗黙のルーター」
では、区画から区画へ向かう通信は、何が運んでいるのでしょうか。
公式ドキュメントでは、VPCには「暗黙のルーター」があり、ルートテーブルを使って通信の行き先を制御すると説明されています。
街で例えるなら、目に見えない交差点のようなものです。
建物も看板もありませんが、標識に書かれたとおりに通信を振り分けてくれます(交差点という呼び方は、この記事での例えです)。
厳密には
- ルートテーブルの1行(ルート)は、「送信先(CIDRブロック=10.0.0.0/16 のような、IPアドレスの範囲の書き方など)」と「ターゲット(インターネットゲートウェイなど)」の組です。
- ルートテーブルは、サブネットから出ていく通信の経路を決めるものです。
- 0.0.0.0/0 は「すべてのIPv4アドレス」を表します。
- この記事の10.0.0.0/16とigw-xxxxは、説明のための例です。
ルートテーブルの行を自分で足したり消したりして、通信がどう変わるかを確かめながら詳しく学びたい方は、AWSを実際に操作しながら学べるCloudTech(クラウドテック)が向いています。
\ VPCもハンズオンで、実際に作りながら学べる /
パブリックとプライベートサブネットの違いは1行だけ

パブリックかプライベートかは、作るときに選ぶスイッチではなく、その区画の標識に、正門(インターネットゲートウェイ)へ向かう行があるかどうかで決まります。よく使うのは「0.0.0.0/0(外の全部)→ インターネットゲートウェイ」の行です。

表通りの区画の標識には「外へ行くなら正門へ」の行があり、奥の区画の標識にはその行がありません。
区画の種類を分けているのはこの1行だけで、区画の形は変わりません(建物の側に要る「住所」は次の章で説明します)。
区画そのものに「公開」「非公開」の札が掛かっているわけではないんです。
標識に正門への道が書いてある区画を、パブリックサブネットと呼んでいるだけなのです。
| 比べること | パブリックサブネット | プライベートサブネット |
| 標識の中身 | インターネットゲートウェイへ向かう行がある(例:0.0.0.0/0 → インターネットゲートウェイ) | その行が無い |
| インターネットへ直接出られるか | 出られる(建物にパブリックIPがあれば) | 出られない |
| 外へ出る別の道 | いらない | NAT(ナット)などの装置を通る |
| 置くものの例 | Webサーバー、NATゲートウェイ | 外から守りたいもの(公式もプライベートサブネットの利用を勧めている) |
よくある誤解:作るときにパブリックかプライベートかを選ぶ
- VPCを作る画面(「VPCなど」)で選ぶパブリックサブネットの数
→ インターネットゲートウェイへの行を持つルートテーブルを、自動で作ってくれる設定 - サブネットの「パブリックIPを自動で割り当てる」設定
→ 建物に付く住所(IP)の設定で、区画の種類を決める設定ではない - どちらも、決め手は標識の中身
→ サブネットの種類は、ルーティング(=標識)の設定で決まる
この誤解がやっかいなのは、画面の言葉どおりに覚えても、最初はちゃんと動いてしまうところにあります。
標識の中身を知らないままだと、自分で区画や標識を作り直したときに「なぜか外へ出られない」で手が止まってしまいます。
パブリックかどうかを「作るときのスイッチ」と覚えるのは危険です。
区画の性格を確かめたいときは、名前ではなく、その区画に付いている標識の行を見てください。
厳密には
- 公式の定義では、サブネットの種類は「サブネットのルーティングをどう設定するか」で決まります。
- パブリックサブネットは、インターネットゲートウェイへの直接の経路があるサブネットです。
- プライベートサブネットは、インターネットゲートウェイへの直接の経路が無いサブネットで、インターネットへ出るにはNAT装置が必要です。
つながらない原因はパブリックIPの付け忘れ

正門と標識の行があっても、建物(EC2)に外で通じる住所、つまりパブリックIPが無いと、インターネットとは通信できません。

図のように、通信は建物を出て、出口の標識を見て、正門を通ってインターネットへ出ていきます。
そして返事は、点線の矢印のように建物へ戻ってきます。
例えるなら、建物に外の世界で通じる住所が無いと、外からの返事をどこへ届ければいいのかが決まらない状態です。
道がつながっていても、住所の無い家には手紙が届かないのと同じことです。
もうひとつ、つまずきやすいのが、デフォルトVPCと自分で作ったVPCの違いです。
公式ドキュメントには、インターネットとつながるための部品が最初から付いているかどうかの表があり、デフォルトVPCと自分で作ったVPCで答えが逆になっています。
| 最初から付いているもの | デフォルトVPC | 自分で作ったVPC |
| 正門(インターネットゲートウェイ) | ある | 無い |
| 標識の「0.0.0.0/0 → 正門」の行 | ある | 無い |
| 建物へのパブリックIPの自動割り当て | ある(デフォルトサブネット) | 無い |
デフォルトVPCでは、この3つが最初からそろっています。だから、仕事で自分のVPCを作ったとたんにつながらなくなる、ということが起きます。
自分でVPCを作ったら、3つがそろっているかを自分で確かめる(作成画面の「VPCなど」を使えば一部は自動で作られます)と覚えておくと、つながらない原因をすぐに思い出せます。
自分で作ったサブネットでは、パブリックIPは最初は付かない
自分で作ったサブネットにEC2を建てると、プライベートIPは付きますが、パブリックIPは付きません。
パブリックIPが付くのは、起動するときに付けると指定したときか、サブネットの「パブリックIPを自動で割り当てる」設定を変えたときです。
正門を付けて、標識に行を書いて、それでもつながらないときは、まずここを疑ってみてください。
パブリックIPの代わりにElastic IPという住所を付ける方法もありますが、この記事では名前だけ覚えておけば十分です。
つながらない時に確かめる順番
- VPCに正門(インターネットゲートウェイ)が付いているか
- 区画の標識に「0.0.0.0/0(外の全部)→ インターネットゲートウェイ」の行があるか
- 建物(EC2)にパブリックIPかElastic IPが付いているか
- 建物の鍵(セキュリティグループ)が、その通信を通しているか
上から順に、街の外側から建物の内側へ確かめていくと、どこで止まっているかを切り分けられます。
4つ目のセキュリティグループは、ほかの仕組みの章で名前と役割だけ紹介します。
厳密には
- パブリックサブネットのインスタンスがインターネットゲートウェイ経由でインターネットと通信するには、パブリックIPアドレスかElastic IPアドレスが必要です。
- 逆に、プライベートサブネットのインスタンスは、パブリックIPアドレスを持っていてもインターネットとは通信できません(インターネットゲートウェイへの経路が無いため)。
- パブリックIPv4アドレスは、インターネットからIPv4で直接届くために必要です。
- VPCがインターネットゲートウェイを使うには、VPCに付ける(アタッチする)ことと、経路を設定することの両方が必要です。
「つながらない」を実際に起こして直す練習まで含めて詳しく学びたい方は、手を動かして学べるCloudTech(クラウドテック)の教材を見てみてください。
\ 座学だけでなく、手を動かして身につける /
サブネットとAZの関係|1つのAZの中に収まる

街の地図では区画が平面に並んでいますが、実際のサブネットはそれぞれ1つのアベイラビリティゾーン(AZ)の中にしか作れません。

地図の上ではとなりに並んで見える区画でも、実際には別の場所にあることがあります。
街(VPC)は地域(リージョン)の中に広げられますが、区画はその中の1つの場所(AZ)に収まるのです。
AZは、1つのリージョンの中にある、互いに分離された複数の場所のことを言います。
街は複数の場所にまたがれるけれど、区画は1つの場所をまたげない、と覚えてください。
| 名前 | 何か | どこに収まるか |
| リージョン | AWSを使う地域 | いちばん外側 |
| AZ(アベイラビリティゾーン) | リージョンの中の、互いに分離された場所 | 1つのリージョンの中 |
| VPC | 塀で囲った自分の街 | 1つのリージョンの中(すべてのAZにまたがる) |
| サブネット | 街の中の区画 | 1つのAZの中だけ |
そのため、構成図で同じ役割の区画が2つ並んでいたら、AZが分かれていないかを見てみてください。
区画を別々のAZに分けて、1つの場所の障害に備えていることがあります。
厳密には
- AZは、各リージョンの中にある、互いに分離された複数の場所です。
- VPCはリージョン内のすべてのAZにまたがり、作ったあとで各AZに1つ以上のサブネットを追加できます。
- サブネットは1つのAZの中に完全に収まり、AZをまたぐことはできません。
- 別々のAZにリソースを置くと、1つのAZの障害からアプリを守れます。
NATは裏口、セキュリティグループは建物の鍵

ここまでの4つのほかに、プライベートサブネットから外へ出る裏口=NAT(ナット)と、建物ごとの鍵=セキュリティグループがあることだけ覚えておけば十分です。
奥の区画の建物は、正門へ直接は出られません。
そこで表通りの区画に裏口を作っておき、そこを通って外へお使いに出られるようにします。
裏口は内側から外へ出るためのもので、外からは裏口を通って入ってこられません。
そして建物ごとの出入りは、それぞれの建物に付けた鍵で絞ります。
| 名前 | 街で言うと | 何をするか | この記事では |
| NAT(ナット)ゲートウェイ | 裏口 | プライベートサブネットのEC2が外へ接続できる。外からはそのEC2へ接続を始められない | 名前だけ |
| セキュリティグループ | 建物の鍵 | EC2などに届く通信・出ていく通信を許可する | 名前だけ |
| ネットワークACL | 区画の門番(この記事での例え) | サブネットの単位で通信を絞る。最初から用意されているものは、すべて許可 | 名前だけ |
外へ出るためのNAT(ナット)ゲートウェイ(パブリックNATゲートウェイ)は、表通りの区画(パブリックサブネット)に作ります。
NATゲートウェイには料金がかかるので、練習で作ったときは、使い終わったら消し忘れないようにしてください。
厳密には
- パブリックNATゲートウェイはパブリックサブネットに作り、作るときにElastic IPアドレスを関連付けます。
- セキュリティグループは、関連付けたリソースに届く通信と出ていく通信を制御し、仮想ファイアウォールとして働きます。
- セキュリティグループはステートフルです。インスタンスから出したリクエストの返事は、受信のルールに関係なくインスタンスに戻ってこられます。
- 最初から用意されているネットワークACLは、すべての受信・送信の通信を許可しています。
NATやセキュリティグループまで、構成図を作りながら詳しく学びたい方は、CloudTech(クラウドテック)で順番に学べます。
\ 割引クーポンを使って、お得に始める /
まとめ|VPCは街、パブリックは標識の1行で決まる

塀で囲った街=VPC、区画=サブネット、出口の標識=ルートテーブル、正門=インターネットゲートウェイ。この4つの図が頭に入れば、VPCの構成図は読めます。
この記事のまとめ
- VPC=塀で囲った自分の街
→ AWSの中の、自分専用のネットワークの範囲 - サブネット=街の中の区画
→ EC2はこの中に建てる。1つのAZの中だけ - ルートテーブル=区画の出口の標識
→ 出ていく通信の行き先を書いた表 - インターネットゲートウェイ=正門
→ VPCとインターネットの出入口。1つの街に同時に付けられるのは1つ - パブリックサブネット=標識に正門へ向かう行(例:0.0.0.0/0)がある区画
→ 外と通信するには、建物にパブリックIPも必要
パブリックかプライベートかを「作るときのスイッチ」と覚えてしまうと、自分でVPCを作ったときにつまずきやすくなります。
標識の1行と、建物の住所の2つを確かめる習慣があれば、つながらないときも落ち着いて切り分けられるはずです。
図が分かったら、あとは実際に手を動かして確かめるのがいちばんの近道です。
独学で進めるかスクールを使うかなど、AWSの学び方そのものから整理したい方は、【AWSを学べば稼げる⁈】現役エンジニアが最適な学習方法を解説!をご覧ください。
AWSの環境を実際に操作しながら学べる教材が気になる方は、【割引クーポン/コードあり】CloudTech(クラウドテック)とは?評判と現受講生の感想をご覧ください。
\ 読んだ内容を、ハンズオンで定着させる /
人に教わりながら進めたい方は、【実践で使える】AWSが学べるおすすめスクール7選!現役エンジニアが解説をご覧ください。