VPCとは、AWSの中に作る自分専用の仮想ネットワーク(Virtual Private Cloud)のことです。結論から言うと、VPCはEC2やデータベースを置くための「区切られた敷地」で、どの通信を通しどの通信を止めるかを自分で決められる場所です。この記事では、VPCの意味と仕組み、サブネットやルートテーブルなどの構成要素、よく混同されるVPNとの違いまでを、現役インフラエンジニアが未経験向けに整理します。
VPCとは?AWSの中の「自分専用の敷地」
VPC(Virtual Private Cloud)を一言で言うと、AWSという広い土地の中に区切られた、自分だけが使える仮想的なネットワークです。他の利用者のネットワークとは論理的に分離されており、その中にサーバー(EC2)やデータベースを配置していきます。
オンプレミスの世界でたとえるなら、VPCは「自社のオフィスに敷いたLAN」に近いものです。オフィスのLANでIPアドレスの範囲を決め、部署ごとにネットワークを分けるように、VPCでも最初にIPアドレスの範囲(CIDR)を決め、その中を用途ごとに区切って使います。
VPCの特徴を整理すると次のとおりです。
- 作る単位: リージョンごとに作る(東京リージョンなど)。1つのVPCは複数のアベイラビリティゾーン(AZ)にまたがれる
- IPアドレスの範囲: 作成時に「10.0.0.0/16」のようなCIDRで指定する
- 分離のされ方: 何も設定しなければ、他のVPCやインターネットとは通信できない
- 料金: VPCそのものの作成は無料。NAT Gatewayなど一部の部品は使った分だけ課金される
なぜVPCが必要なのか
AWSにはIAMという「誰が何をできるか」を管理する仕組みがありますが、それとは別に「どの通信を通し、どの通信を止めるか」を管理する仕組みが必要です。この役割を担うのがVPCです。
VPCの中でネットワークを区切ることで、外部からアクセスさせてよい部分と、内部からしかアクセスさせたくない部分を分けることができます。たとえばWebサーバーは外部公開しつつ、その裏にあるデータベースは外部から直接触れないようにする、といった設計が可能になります。
VPCの仕組みと主な構成要素
VPCという1つの箱の中には、いくつかの部品が組み合わさっています。最初に押さえておきたいのは次の6つです。
| 部品 | 役割 | オフィスでたとえると |
|---|---|---|
| サブネット | VPCの中をさらに小さく区切った単位。1つのAZに属する | 部署ごとのフロア |
| インターネットゲートウェイ | VPCとインターネットをつなぐ出入口 | ビルの正面玄関 |
| ルートテーブル | どの宛先の通信をどこへ流すかを決める経路表 | 館内の案内板 |
| NAT Gateway | Private Subnetから外へ出る通信だけを中継する | 外線発信専用の電話 |
| セキュリティグループ | サーバー単位で通信の許可を設定する | 各部屋の鍵 |
| ネットワークACL | サブネット単位で通信の許可・拒否を設定する | フロア入口の守衛 |
これらの部品がどう組み合わさって1つの通信経路になるのかは、図で見たほうがつかみやすいので確認しておきましょう。
セキュリティグループとネットワークACLはどちらも「通信の許可」を扱うため混同されがちですが、違いは次のとおりです。
| セキュリティグループ | ネットワークACL | |
|---|---|---|
| かける単位 | サーバー(ネットワークインターフェース) | サブネット |
| 書けるルール | 許可のみ | 許可と拒否 |
| 戻りの通信 | 自動で許可される(ステートフル) | 戻りも明示的に許可が必要(ステートレス) |
サブネットマスクの考え方が分かっていると、「/16」「/24」といった範囲の区切り方がつかみやすくなります。先に整理しておきたい方はサブネットマスクとは?もあわせて読んでみてください。
Public SubnetとPrivate Subnetの違い
VPCの学習で最初につまずきやすいのが、Public SubnetとPrivate Subnetの違いです。この2つは、サブネットに紐づくルートテーブルにインターネットゲートウェイ宛ての経路があるかどうかで区別されます。
| Public Subnet | Private Subnet | |
|---|---|---|
| インターネットとの通信 | 直接できる | 直接はできない(外向きはNAT Gateway経由) |
| 主な用途 | Webサーバー、ロードバランサー | データベース、アプリケーションサーバー |
| ルートテーブルの経路 | 0.0.0.0/0 → インターネットゲートウェイ | 0.0.0.0/0 → NAT Gateway(または経路なし) |
Webサーバーは通信を受け取る必要があるためPublic Subnetに、データベースは外部から直接触られたくないためPrivate Subnetに置く、という組み合わせが基本形です。この「公開する部分と隠す部分を分ける」という発想は、ファイアウォールで通信を通す・止めるを判断する考え方とも共通しています。あわせてファイアウォールとは?も読んでおくと理解がつながります。
VPCを作る流れ(構成例)
実際にVPCを作るときは、おおむね次の順番で部品を組み立てます。CIDRの値は学習用によく使われる一例です。
- VPCを作成する: IPアドレスの範囲を 10.0.0.0/16 にする
- サブネットを作る: Public Subnetを 10.0.1.0/24、Private Subnetを 10.0.2.0/24 にする
- インターネットゲートウェイを作り、VPCにアタッチする
- Public Subnet用のルートテーブルに「0.0.0.0/0 → インターネットゲートウェイ」の経路を足す
- 必要ならPublic SubnetにNAT Gatewayを置き、Private Subnet用のルートテーブルを「0.0.0.0/0 → NAT Gateway」にする
- セキュリティグループを作り、Webサーバーは80/443番、DBはWebサーバーからの接続だけを許可する
本番では障害に備えて、同じ構成を2つのAZに作って冗長化するのが一般的です。なお、サブネットごとに先頭や末尾など5つのIPアドレスはAWSが予約しているため、/24でも使えるのは251個になります。
VPCとVPNの違い
名前が似ているため「vpc vpn 違い」で調べる人も多いですが、両者はまったく別の役割です。ひと言で言えば、VPCは「ネットワークそのもの(場所)」、VPNは「離れたネットワーク同士を安全につなぐ通り道」です。
| VPC | VPN | |
|---|---|---|
| 正式名称 | Virtual Private Cloud | Virtual Private Network |
| 何か | AWS上に作る仮想ネットワーク | インターネット上に暗号化した通り道を作る技術 |
| 主な目的 | サーバーを置く場所を区切り、通信を管理する | 拠点間や自宅と社内を安全につなぐ |
| AWSとの関係 | AWSのサービスそのもの | AWS Site-to-Site VPNなどでVPCとオフィスをつなぐ |
現場では、社内のネットワークとAWSのVPCをVPNでつないで、社員が社内LANと同じ感覚でAWS上のサーバーへアクセスする、という組み合わせがよく使われます。VPNの仕組みはVPNとは?で詳しく解説しています。
VPCはいつ、どこまで学ぶべきか
現役でインフラの現場にいる立場から言うと、未経験の転職段階でVPCを設計できるレベルまで学ぶ必要はありません。面接や最初の現場で求められるのは、「サブネットを分ける理由」と「Public/Privateの使い分け」を自分の言葉で説明できることが目安です。
VPCの設計を1から任されるのは、構築・運用の実務経験を積んでからです。細部(CIDR設計やVPCピアリングなど)を先に暗記しようとすると、実感が伴わない丸暗記になりがちです。まずはEC2・S3・IAMを含むAWS全体の基礎を固め、そのうえで上の構成例を一度自分の手で作ってみるのがおすすめです。
InfraDojoで学ぶ
InfraDojoでは、ブラウザ上のAWS CLI演習環境でVPCの作成からサブネットの分割、ルートテーブルの設定までを実際のコマンドで体験できます。図で見た構成を自分の手で組み立て直すことで、用語の理解が実感に変わります。AWSの基礎から順番に進めたい方は、AWS学習ロードマップから始めてみてください。
よくある質問
Q. VPCとサブネットは何が違いますか?
VPCはAWS上に作る仮想ネットワークの箱全体、サブネットはその箱の中をさらに小さく区切った単位です。1つのVPCの中に、Public SubnetとPrivate Subnetなど複数のサブネットを作って使い分けます。
Q. デフォルトVPCのままでも大丈夫ですか?
AWSアカウントには各リージョンに初期状態のVPC(デフォルトVPC)が用意されており、学習でEC2を動かすだけならそれでも動きます。ただしデフォルトVPCのサブネットはすべてPublic Subnetとして作られているため、実務では用途に合わせて独自にVPCを設計するのが一般的です。
Q. VPCを学ぶ前にネットワークの基礎は必要ですか?
必要です。VPCはIPアドレスやサブネット、ルーティングといったネットワークの基礎知識の上に成り立つ仕組みなので、先にネットワークの土台を作っておくと、構成要素の役割がすっと理解できるようになります。
Q. VPCは有料ですか?
VPCやサブネット、ルートテーブルの作成自体には料金はかかりません。NAT Gatewayや一部のVPN接続、パブリックIPv4アドレスなどは使った時間や量に応じて課金されるため、学習で作った場合は使い終わったら削除しておくと安心です。