AWSを触り始めたとき、
「VPC?サブネット?CIDR?何がどう違うの…?」って完全に迷子でした。
VPCを“ネットワーク全体”って言われてもピンと来ないし、
サブネットが“その中の部分”って言われても抽象的すぎて…。
でもある日、頭の中でふと 「マンションの構造」 と重ねた瞬間、
「あ、そういうことか!」って一気に整理できたんです。
本記事は筆者の理解整理を目的としたもので、
AWS公式ドキュメントの要約ではありません。
🏢 VPC=マンション全体、サブネット=各部屋
VPCを一言でいうなら、AWS上に建てた自分専用のマンション。
他人の住むマンション(=他のVPC)とは完全に隔離されています。
そして、その中にある部屋がサブネットです。
部屋ごとに用途やルールを変えられるんです。
| AWSの概念 | マンションのたとえ | 説明 |
|---|---|---|
| VPC | マンション全体 | 1つの敷地の中に複数の部屋(サブネット)がある。 |
| サブネット | 各部屋(またはフロア) | 住人(EC2など)が暮らす空間。用途ごとに分ける。 |
| Internet Gateway | マンションの正面玄関 | 外の世界(インターネット)とつながる出入口。 |
| ルートテーブル | 各住人が使う道順マップ | 外へ出るときの経路を決める。 |
| セキュリティグループ | 部屋のドアロック | 誰が入って来られるかを制御。 |
| ネットワークACL | 外周ゲートの警備員 | 「この道路から来た人を通す/通さない」を入口全体で決める。 |
🧱 たとえば、こんなマンションを建てる
しみたろさんは、AWS上に自分専用の“しみたろマンション”を建てることにしました。
- 敷地全体(VPC)は「10.0.0.0/16」
- 部屋(サブネット)は「パブリック」と「プライベート」に分ける
つまりこう👇
しみたろマンション
VPC(10.0.0.0/16)
├─ サブネットA(10.0.1.0/24)=パブリック部屋
│ └─ Webサーバー(インターネットに面してる)
│
├─ サブネットB(10.0.2.0/24)=プライベート部屋
│ └─ DBサーバー(外から見えない)
パブリック部屋には玄関(Internet Gateway)があって、
外の世界(インターネット)と直接出入りできます。
一方、プライベート部屋は内側にあり、外から直接は入れません。
必要があれば、共有スペース(NAT Gateway経由)を通って外に出ることができます。
🔒 住人(サーバー)を守る“二重のセキュリティ”
マンションには、
- 各部屋の鍵(セキュリティグループ)
- マンション入口の管理人(ネットワークACL)
の2つの守りがあります。
セキュリティグループは「部屋ごとのルール」。
たとえば、「この部屋(Webサーバー)はHTTPとSSHだけ開けておく」みたいな感じです。
ネットワークACLは「外周ゲートの警備員」。
怪しい人(不正な通信)は門の前でブロックされます。
こうすることで、
“外の人は玄関でチェックされ、部屋に入る前にも鍵がある”という、
二重の防御構造になるわけです。
👟 現実のマンションにたとえると…
-
友達が遊びに来る(=外部からの通信)とき、
まず外周ゲートの警備員が「部屋番号は?」と確認します(ネットワークACL)。 -
許可されたら、エレベーターで部屋の前まで行けます。
でも、部屋のドア(セキュリティグループ)が開かないと入れません。 -
部屋の中にいる住人(DBサーバー)は、
マンションの外には直接出ない。必要なときだけマンションの共有Wi-Fi(NAT)経由で出る。
これがまさに、AWSのVPC+サブネット+セキュリティ構成なんですよね。
💡 まとめ:AWSのVPCは“マンションを建てる感覚”
VPCを作る=マンションを建てる。
サブネットを分ける=部屋を用途別に分ける。
セキュリティグループを設定する=鍵をかける。
つまり、AWSネットワーク設計は、
「自分専用マンションをどう安全に運営するか」 という話なんです。
🏷️ 次回予告
次は、VPCの中に登場する 「EC2(サーバー)」 を、
マンションの部屋に置く家電と住人 のたとえで解説します。
「電源を入れる=起動」「退去する=終了」という感覚がつかめるはずです!
本記事は、生成AIとの対話を通じて構成・推敲を行いました。
たとえや構成のアイデアを生成AIと整理しながら、
読者に「直感的に伝わる説明」を目指しています。
参考
📚 他の記事はこちら
