「VPCって何?EC2を作るときに出てくるけど、よくわからない……」
AWSを使い始めると、必ず出会うのがVPC(ブイピーシー)です。EC2を立てるにも、RDSを作るにも、VPCの理解は避けて通れません。
この記事では、ネットワークの知識がない方でも理解できるように、VPCの基本を図解と身近な例えを使って解説します。
VPCとは?一言でいうと「AWS上に作る自分専用のネットワーク」
VPC(Virtual Private Cloud)とは、AWS上に作成できる仮想的なプライベートネットワークです。
もっと身近な例えで言うと、「AWS内に建てる自分だけのオフィスビル」のようなものです。
このオフィスビル(VPC)の中に、さまざまな部屋(サブネット)を作り、その中にサーバー(EC2)やデータベース(RDS)を配置します。ビルの入り口には受付(ゲートウェイ)があり、誰が出入りできるかを管理します。
なぜVPCが必要なの?
VPCがない状態を想像してみてください。すべてのサーバーがインターネット上に直接さらされている状態です。これでは、悪意のある攻撃者から守ることが難しくなります。
VPCを使うことで、以下のようなメリットがあります。
- セキュリティの確保:外部からアクセスできないプライベートな空間を作れる
- ネットワーク設計の自由度:IPアドレスの範囲を自分で決められる
- アクセス制御:誰が何にアクセスできるかを細かく制御できる
- 他のAWSサービスとの連携:EC2、RDS、Lambdaなどを安全に接続できる
VPCの構成要素を理解しよう
VPCを理解するには、いくつかの構成要素を知っておく必要があります。オフィスビルの例えを使いながら、ひとつずつ見ていきましょう。
VPC(Virtual Private Cloud)
VPCは、AWS上に作るネットワークの「大枠」です。オフィスビルでいえば、建物全体にあたります。
VPCを作成するときに、使用するIPアドレスの範囲(CIDRブロック)を指定します。例えば「10.0.0.0/16」と指定すると、10.0.0.0〜10.0.255.255の約65,000個のIPアドレスが使えるようになります。
サブネット(Subnet)
サブネットは、VPCをさらに小さく分割したネットワークです。オフィスビルでいえば、各フロアや部屋にあたります。
サブネットには2種類あります。
| 種類 | 特徴 | 用途 |
|---|---|---|
| パブリックサブネット | インターネットと直接通信できる | Webサーバー、踏み台サーバーなど |
| プライベートサブネット | インターネットから直接アクセスできない | データベース、アプリケーションサーバーなど |
パブリックサブネットは「1階の受付フロア」、プライベートサブネットは「セキュリティカードがないと入れない奥のフロア」というイメージです。
インターネットゲートウェイ(IGW)
インターネットゲートウェイは、VPCとインターネットをつなぐ「出入り口」です。オフィスビルでいえば、正面玄関にあたります。
インターネットゲートウェイがないと、VPC内のリソースはインターネットと通信できません。パブリックサブネットを作る場合は、必ずインターネットゲートウェイをVPCにアタッチします。
NATゲートウェイ
NATゲートウェイは、プライベートサブネット内のリソースがインターネットに「出ていく」ための仕組みです。
プライベートサブネットにあるサーバーも、ソフトウェアのアップデートなどでインターネットにアクセスしたいことがあります。でも、外部から直接アクセスされるのは困る。そんなときにNATゲートウェイを使います。
オフィスビルでいえば、「社員専用の裏口」のようなものです。社員は外に出られるけど、外部の人は入ってこられません。
ルートテーブル
ルートテーブルは、ネットワーク上のデータ(パケット)がどこに向かうべきかを決める「道案内」です。
オフィスビルでいえば、「館内の案内板」にあたります。「インターネット行きはこちら」「データベースのある部屋はこちら」という指示を出します。
各サブネットには必ず1つのルートテーブルが関連付けられます。
セキュリティグループ
セキュリティグループは、EC2などのリソースに対する「ファイアウォール」です。どのトラフィック(通信)を許可するかを定義します。
オフィスビルでいえば、「各部屋のドアの鍵」です。「この部屋にはWeb経由でアクセスOK」「この部屋は特定のIPアドレスからのみ入室可能」といった制御ができます。
ネットワークACL(NACL)
ネットワークACLは、サブネット単位でトラフィックを制御する仕組みです。セキュリティグループとの違いは以下の通りです。
| 項目 | セキュリティグループ | ネットワークACL |
|---|---|---|
| 適用範囲 | インスタンス(EC2など) | サブネット |
| ルールの種類 | 許可ルールのみ | 許可・拒否ルール両方 |
| ステートフル/ステートレス | ステートフル(戻りの通信は自動許可) | ステートレス(戻りも明示的に許可が必要) |
| 評価順序 | すべてのルールを評価 | 番号順に評価、最初にマッチしたルールを適用 |
オフィスビルでいえば、セキュリティグループは「部屋の鍵」、ネットワークACLは「フロアのセキュリティゲート」というイメージです。
VPCの基本的な構成例
実際のシステムでよく使われる、基本的なVPC構成を見てみましょう。
よくある構成パターン
Webアプリケーションを構築する場合、以下のような構成が一般的です。
┌─────────────────────────────────────────────────────┐
│ VPC (10.0.0.0/16) │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ パブリックサブネット │ │ パブリックサブネット │ │
│ │ (10.0.1.0/24) │ │ (10.0.2.0/24) │ │
│ │ AZ-a │ │ AZ-c │ │
│ │ ┌────────┐ │ │ ┌────────┐ │ │
│ │ │ EC2 │ │ │ │ EC2 │ │ │
│ │ │ (Web) │ │ │ │ (Web) │ │ │
│ │ └────────┘ │ │ └────────┘ │ │
│ └──────────────────┘ └──────────────────┘ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ プライベートサブネット│ │ プライベートサブネット│ │
│ │ (10.0.11.0/24) │ │ (10.0.12.0/24) │ │
│ │ AZ-a │ │ AZ-c │ │
│ │ ┌────────┐ │ │ ┌────────┐ │ │
│ │ │ RDS │ │ │ │ RDS │ │ │
│ │ │ (DB) │ │ │ │ (DB) │ │ │
│ │ └────────┘ │ │ └────────┘ │ │
│ └──────────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────┘
↑
インターネットゲートウェイ
↑
インターネット
この構成のポイントは以下の通りです。
- 複数のアベイラビリティゾーン(AZ)に分散して可用性を確保
- Webサーバーはパブリックサブネットに配置(インターネットからアクセス可能)
- データベースはプライベートサブネットに配置(インターネットから直接アクセス不可)
- Webサーバーからデータベースへは、VPC内で通信
CIDR表記を理解しよう
VPCやサブネットを作成するとき、「10.0.0.0/16」のような表記が出てきます。これはCIDR(サイダー)表記と呼ばれるIPアドレスの範囲を表す書き方です。
CIDRの読み方
「10.0.0.0/16」の場合:
- 10.0.0.0:IPアドレスの開始位置
- /16:ネットワーク部分のビット数(固定される部分)
/の後ろの数字が小さいほど、使えるIPアドレスの数が多くなります。
| CIDR | 使用可能なIPアドレス数 | 用途の目安 |
|---|---|---|
| /16 | 約65,536個 | VPC全体 |
| /20 | 約4,096個 | 大きめのサブネット |
| /24 | 256個 | 一般的なサブネット |
| /28 | 16個 | 小さなサブネット |
※実際にはAWSが予約する5つのIPアドレスがあるため、使用可能な数はこれより少なくなります。
設計のコツ
VPCのCIDRは後から変更できません(追加は可能)。最初に余裕を持ったサイズで設計することをおすすめします。
一般的には、VPCには/16、各サブネットには/24を指定することが多いです。
デフォルトVPCとカスタムVPC
AWSアカウントを作成すると、各リージョンにデフォルトVPCが自動的に作成されています。
デフォルトVPCの特徴
- CIDRブロック:172.31.0.0/16
- 各AZにパブリックサブネットが作成済み
- インターネットゲートウェイがアタッチ済み
- EC2を起動するとパブリックIPが自動で割り当てられる
学習目的や簡単な検証であれば、デフォルトVPCで十分です。ただし、本番環境ではカスタムVPCを作成することをおすすめします。
カスタムVPCを作るべき理由
- セキュリティ要件に合わせた設計ができる
- IPアドレス範囲を自由に決められる(オンプレミスとの接続時に重要)
- パブリック/プライベートサブネットを明確に分離できる
- 複数のVPCを用途別に作成できる(本番/開発/テストなど)
VPCを作成する流れ(ざっくり解説)
実際にVPCを作成する基本的な流れを見てみましょう。
- VPCを作成:CIDRブロックを指定(例:10.0.0.0/16)
- サブネットを作成:パブリック用とプライベート用を各AZに作成
- インターネットゲートウェイを作成:VPCにアタッチ
- ルートテーブルを設定:パブリックサブネット用にインターネットへのルートを追加
- (必要に応じて)NATゲートウェイを作成:プライベートサブネットからの外部通信用
- セキュリティグループを作成:必要な通信のみを許可
AWSコンソールには「VPCウィザード」という機能があり、上記の設定をまとめて行うこともできます。
2025年のVPCトピック
VPCに関連する機能も日々進化しています。2025年の主なトピックをいくつか紹介します。
VPC Route Serverのログ機能強化
2025年6月、VPC Route Serverのネットワークメトリクスとログ機能が強化されました。BGPやBFDセッションの状態をリアルタイムでモニタリングでき、ネットワーク問題の自己診断が可能になりました。
AWS Network Firewallの機能強化
1つのファイアウォールに複数のVPCエンドポイントを設定できるようになりました。最大50個のVPCエンドポイントをアベイラビリティゾーンごとに関連付けでき、複数VPC間で一元的なセキュリティポリシーを適用できます。
IAMの新しいVPCエンドポイント条件キー
2025年8月、IAMに新しいVPCエンドポイント条件キー(aws:VpceAccount、aws:VpceOrgPaths、aws:VpceOrgID)が追加されました。これにより、組織全体レベルでのネットワーク境界制御が自動的にスケールするようになりました。
まとめ
この記事で解説した内容をまとめます。
| 項目 | ポイント |
|---|---|
| VPCとは | AWS上に作る自分専用の仮想ネットワーク |
| サブネット | VPCを分割した小さなネットワーク。パブリック/プライベートの2種類 |
| インターネットゲートウェイ | VPCとインターネットをつなぐ出入り口 |
| NATゲートウェイ | プライベートサブネットから外部へ通信するための仕組み |
| ルートテーブル | 通信の経路を決める道案内 |
| セキュリティグループ | インスタンス単位のファイアウォール |
| CIDR表記 | IPアドレス範囲の表記方法。VPCは/16、サブネットは/24が一般的 |
VPCは最初は難しく感じるかもしれませんが、「オフィスビル」の例えで考えると理解しやすくなります。EC2やRDSを使う上で避けて通れない知識なので、ぜひ実際に手を動かして試してみてください。
SKサービスでは未経験からのエンジニア転職をサポート
SKサービス株式会社では、完全未経験からエンジニアを目指す方を積極採用しています。
正社員として安定した環境で働きながら、さまざまなプロジェクトで実践経験を積むことができます。受託開発も手掛けており、スキルアップに応じてキャリアの幅を広げていける環境です。
「AWSのネットワーク設計ができるようになりたい」「インフラエンジニアとしてキャリアを築きたい」という方、まずはお気軽にご相談ください。