こんにちは!AWSを触り始めると、EC2やセキュリティグループと一緒に出てくる「VPC (Virtual Private Cloud)」。
「なんとなくネットワークを分離するもの?」
「サブネットって何?」
「10.0.0.0/16 っていう呪文がわからない…」
VPCは、AWSでインフラを構築する上での**大前提となる「土台」**です。ここを理解すると、AWSの全体像が一気にクリアになります。
この記事では、VPCとは何か、なぜ必要なのか、そしてどうやって使うのかを、公式マニュアルをベースに「土地と建物の例え」を使ってわかりやすく解説します!
VPCとは? 3つのポイントで理解する
VPCをひと言でいうと、「AWSクラウド内に論理的に分離された、あなた専用のプライベートネットワーク空間」です。
よくわからないと思うので、3つのポイントで覚えましょう。
1. 役割:あなた専用の「土地」
VPCは、AWSという広大な土地(クラウド)の中に確保する、**あなた専用の「土地(敷地)」**です。
- この「土地」は、他の人の土地とは完全に隔離されています。
- この「土地」の中に、EC2インスタンス(家)を建てたり、データベース(倉庫)を置いたりします。
- VPC = 仮想ネットワーク と覚えてOKです。
2. 設定:IPアドレスの範囲(CIDR)を決める
「土地」を確保するとき、その「広さ(住所の範囲)」を決める必要があります。これが CIDR (サイダー) と呼ばれるIPアドレスの範囲指定です。
例:
10.0.0.0/16
- これは、「10.0.〜〜〜」という住所をまとめて使うよ、という意味です。
- この範囲をVPCの「敷地」として確保します。
- この設定(
10.0.0.0/16)で、約65,000個のIPアドレスが使える土地を確保したことになります。
3. 性質:リージョンをまたげない
VPC(土地)は、「東京リージョン」「大阪リージョン」といったリージョンに属します。東京リージョンに作ったVPCを、大阪リージョンに広げることはできません。
VPCの主要な部品たち 🛠️
VPCという「土地」だけでは家(EC2)は建てられません。土地を整備し、インフラを整えるための「部品」が必要です。
1. サブネット (Subnet) ★超重要
- 例え:土地の「区画」
- VPC(
10.0.0.0/16)という大きな土地を、「Webサーバーを置く区画(10.0.1.0/24)」や「データベースを置く区画(10.0.2.0/24)」のように、使いやすく分割したものがサブネットです。 - EC2インスタンスなどのリソースは、必ずこのサブネット(区画)の中に作成されます。
📍 サブネットの重要ルール
サブネットは、必ず1つのアベイラビリティゾーン (AZ) の中に作成されます。AZ(物理的に離れたデータセンター)をまたぐことはできません。
- 耐障害性のため:システムを止めないために、複数のAZ(例:AZ-a, AZ-c)にまたがってサブネットを配置し、EC2を分散させることが基本です。
2. ルートテーブル (Route Table)
- 例え:交通標識・GPS
- サブネット(区画)から出ていく通信が、「どこへ向かうべきか」を指示するルールブックです。
- 「インターネットへの通信はこっち」「あのサブネットへの通信はあっち」といった指示が書かれています。
- 各サブネットは、必ず1つのルートテーブルに関連付けられます。
3. インターネットゲートウェイ (IGW)
- 例え:土地の「正門」(インターネットへの出入り口)
- VPC(土地)と外部のインターネットを接続するための「門」です。
- これをVPCに取り付けないと、VPCはインターネットから完全に隔離されます。
パブリックサブネット vs プライベートサブネット
この2つの区別が、VPCを理解する上で最大の山場です!
「パブリック」や「プライベート」という設定ボタンがあるわけではありません。ルートテーブル(交通標識)の設定によって、サブネットの「性格」が決まります。
🏙️ パブリックサブネット (Public Subnet)
- 性格:インターネットと直接通信できる「表通り」の区画。
- 例え:誰でもアクセスできる「お店」や「会社の受付」を置くエリア。
-
条件:
- ルートテーブルに「インターネットゲートウェイ(IGW)へのルート(
0.0.0.0/0 -> igw-xxx)」が設定されている。 - そこに置くEC2にパブリックIPアドレスが割り当てられている。
- ルートテーブルに「インターネットゲートウェイ(IGW)へのルート(
- 用途:Webサーバー、ELB(ロードバランサー)など。
🏡 プライベートサブネット (Private Subnet)
- 性格:インターネットから直接アクセスできない「敷地の奥」の区画。
- 例え:部外者が入ってこれない「自宅の寝室」や「金庫室」。
-
条件:
- ルートテーブルに「インターネットゲートウェイ(IGW)へのルート」が設定されていない。
- 用途:データベース(RDS)、機密情報を扱うバックエンドサーバーなど。
- 補足:プライベートサブネットから「外(インターネット)」にだけ通信したい場合(例:OSのアップデート)は、NATゲートウェイという別の部品を使います。
デフォルトVPC vs カスタムVPC
VPCには、最初から用意されているものと、自分で作るものの2種類があります。
1. デフォルトVPC (Default VPC)
- AWSアカウントを作成すると、各リージョンに自動で「
default」という名前のVPCが作られています。 -
特徴:
- すぐにEC2を起動できるよう、設定がすべて済んでいる。
- すべてのサブネットが「デフォルトサブネット」になっており、これらは「パブリックサブネット」として動作する。(IGWへのルートが自動設定済み)
-
注意点:
- 簡単ですが、意図せずリソースがインターネットに公開されるリスクもあります。
- 学習やテストには便利ですが、本番環境での使用は非推奨です。
2. カスタムVPC (Custom VPC)
-
特徴:
- 自分でIPアドレスの範囲(CIDR)からサブネット、ルートテーブルまですべてを設計して作成するVPC。
- パブリック/プライベートの区画を自由に設計できます。
-
ベストプラクティス:
- 本番環境では、必ずカスタムVPCを設計して使いましょう。
- まずは「VPCとサブネットなどを作成」ウィキッド(VPC ウィザード)を使うと、パブリック/プライベート構成を簡単に作成できるのでオススメです。
VPCの作成と管理
🚀 VPCの作成
- AWSマネジメントコンソールのVPCダッシュボードから作成できます。
- 「VPCなどを作成」(VPC ウィザード)を使うと、VPC本体、サブネット(パブリック/プライベート)、ルートテーブル、IGW、NATゲートウェイまでを一気に作成してくれます。初心者はまずこれがオススメです。
🗺️ VPC リソースマップ
- VPCのコンソールには「リソースマップ」という機能があります。
- これを使うと、自分のVPC、サブネット、ルートテーブル、IGWなどがどのように関連付いているかを視覚的に確認できて非常に便利です。
➕ IP範囲の追加
- VPC(土地)が手狭になった場合、後からセカンダリCIDRとしてIPアドレスの範囲(追加の土地)を関連付けることも可能です。
まとめ
VPCを「土地」に例えてまとめます。
- VPC:AWS上に確保する「土地」。IP範囲(CIDR)で広さを決める。
- サブネット:VPC(土地)を分割した「区画」。必ず1つのAZ内に作る。
- IGW:インターネットとつなぐ「正門」。
- ルートテーブル:「交通標識」。
- パブリックサブネット:IGW(正門)への道が書かれた「表通りの区画」。
- プライベートサブネット:IGWへの道がない「敷地の奥の区画」。
VPCはAWSの「土台」です。この土台の上に、前回解説したセキュリティグループ(門番)を配置して、安全なインフラを構築していきましょう!
VPCの設計は奥が深いですが、まずは「パブリックとプライベートを分ける」ことの重要性だけでも覚えて帰ってくださいね! 🔒
