🧱 1. VPC(Virtual Private Cloud)とは?
💡 一言でいうと:
クラウド上に作る、自分専用の仮想ネットワーク空間(≒工場の敷地)
AWSのサービスVPC(Virtual Private Cloud)はAWSでwebサーバやDBサーバを使う際、それらを配置するための仮想空間を構築できるサービスです。AWSを利用すると基本的に使うサービスになります。

🎯 目的:
- インターネットにそのままさらされないように ネットワークを分離。
- セキュリティや設計自由度を持たせた「自分だけのLAN(ローカルネットワーク)」を作る。
🏢 例えると:
AWSという大都市の中に、企業Aが土地(VPC)を購入して、自社の社屋や工場を建てるイメージ。
| AWS全体(クラウド) | → | あなた専用のネット空間(VPC) |
|---|---|---|
| 公共のクラウド空間 | → | 自社専用のネットワーク |
📦 2. サブネット(Subnet)とは?
💡 一言でいうと:
VPCの中を「部屋ごとに区切る」仕切り(≒工場内の部署エリア)
🎯 目的:
- 用途別にネットワークを分けて管理しやすくする。
- セキュリティ・アクセス制御・可用性設計に役立つ。
🗺️ 例えると:
1つの会社の工場の中に、「開発部屋」「営業部屋」「倉庫」など部屋(サブネット)を作って分ける。
| VPC(建物) | → | サブネット(部屋) |
|---|---|---|
| 自社ネットワーク全体 | → | 公開用/非公開用のグループ分け |
🔍 実際の構成イメージ(AWSの場合)
VPC: 10.0.0.0/16(自社ネット全体)
├── サブネットA(10.0.1.0/24):パブリックサブネット(Webサーバー)
├── サブネットB(10.0.2.0/24):プライベートサブネット(DBサーバー)
- パブリックサブネット:インターネットゲートウェイ経由で外部と通信可能
- プライベートサブネット:外部からはアクセスできず、内部処理専用



🛡️ 関連する要素との関係
| 要素 | 役割 |
|---|---|
| VPC | 土地(ネットワーク全体) |
| サブネット | 区画(ゾーン) |
| セキュリティグループ | 各インスタンスに付く「防犯装置」(ファイアウォール) |
| ルートテーブル | 「どこに向けて通信するか」の地図(通信経路の設定) |
| インターネットゲートウェイ | 外とつなぐための出入口 |
🧑🏫その他説明
✍ まとめ
| 項目 | VPC | サブネット |
|---|---|---|
| 単位 | ネットワーク全体 | サブネットワークの一部 |
| 用途 | 仮想的なネット空間を構築 | VPC内での役割分担と設計 |
| 関係性 | 1つのVPCに複数サブネットを作れる | 役割(公開/非公開)に分けて使う |
VPC設計時のポイント

・CIDRは/16程度の大きめのものを割り当てる
・IPアドレス範囲の重複に気をつける
・RFC1918準拠のプライベートIPアドレス範囲から指定する

サブネット設計時のポイント
・/24程度の大きめなものを割り当てる
・役割別でサブネットを作成する
・CIDRブロックのうち、5つのIPアドレスは利用できない
・2つ以上のアベイラビリティゾーン(今後はAZと表記)を利用する
CIDRブロックのうち、5つのIPアドレスは利用できない
=> 構成装置のIP指定できない。
各サブネット CIDR ブロックの最初の 4 つの IP アドレスと最後の IP アドレスはAWSにより予約されているため利用できません。
例)CIDR ブロック 10.0.0.0/24 を持つサブネットの場合以下のIPアドレスが予約されます。
| IPアドレス | 用途 |
|---|---|
10.0.0.0 | ネットワークアドレス(識別用) |
10.0.0.1 | VPC ルーターのデフォルトゲートウェイ |
10.0.0.2 | AWS が将来使用するために予約(未使用) |
10.0.0.3 | AWS が将来使用するために予約(未使用) |
10.0.0.255 | ブロードキャストアドレス(IPv4標準) |
👉 つまり、最初の4つ (0-3) と最後の1つ(255)は予約されており、ユーザーの EC2 インスタンスなどには割り当てできません。
サンプル
VPC(全体)
VPCは最上段のプライベートネットワークになる。例えば、こんな感じに設計する。

環境ごとに個別のネットワークにすべきなので、3環境用意するなら3つVPCを作ろう。こうすると、2オクテット目が環境ごとに0、1、2となって分かりやすい。
サブネット
VPCの中に作るのがサブネットで、機能毎にサブネットを作るのが理想的。
事業拡大に伴って提供する機能/サービスも増えていくので、サブネット自体の数が増えていく前提で設計する必要がある。
VPCは /16 の範囲で作成したので、まずはこのプライベートネットワークで使える残りの16ビットの使い方を決める。例えばこうだ。

CIDRの/以降の値でどこまでがネットワーク部でどこからかホスト部かが分かれます。
VPCとして10.0.0.0/16 をCIDRブロックと指定して確保たら、サブネットはこの確保したVPCの中に作成するので、10.0.xxx.xxxの範囲内でなければいけません。
サンプル
10.0.0.0/16 =>
10.0.10.0/24 10.0.20.0/24 とか
10.1.0.0/16 =>
10.1.100.0/24 10.1.200.0/24 とか
10.2.0.0/16 =>
10.2.30.0/24 10.2.60.0/24 とか
でも、下記のようにおまかせが一番(^^)

この部分で、

のアドレス
172.20.0.0
172.18.0.0
172.30.0.0
とか指定する。



インターネットゲートウェイとは

ルートテーブルとは
VPCにサブネットを作成し、リソースを作成する場所が用意できました。そして、インターネットゲートウェイとNATゲートウェイも作成し、リソースがインターネットと通信をするための出入り囗も作ることができました。
しかしこのままの状態では、サブネット同士、あるいはサブネットと各ゲートウェイの間には、通信をするための経路(ネットワークllの道のようなもの)がまだできていません。そのため、あるサブネットの中にあるリソースが、サブネット外のリソースにアクセスできません(図4.31)。

サブネット間の通信経路を設定するために、AWSにはルートテーブルという機能があります。ルートテーブルには、「このサーバーに接続するときにはここを経由する」といったルールをテーブルの形式で設定できます(図4.32)。

・送信先:どこに接続するかという情報。送信先は、IPアドレスを指定します。IP アドレスは特定のものを指定することもできますし、CIDR形式を使って範囲で 指定することもできます。
・ターゲット:どこを経由するかという情報。ルートテーブルに指定できるター
ケットはいくつかあります。よく使われるものを図4.8に示します。

ルートテーブル設定事例



DBは2リージョン、2サブネット使用するので、サブネット追加します。
現在のリージョンを確認しておきます。(サブネットひとつの詳細を見てみるなど)
下記だとeu-west-1a

プライベートサブネットのアドレスも確認しておきます。

上記だと 「10.77.128.0/20」 なので、追加するDB用サブネットは
10.77.64.0/20 など。

pfu00-subnet-public1 10.55.0.0/20 ap-northeast-1a
pfu00-subnet-private1 10.55.128.0/20 ap-northeast-1a
128|0 = 10000000 00000000
sub 11110000 00000000
~~~~
↑ ここのビットを変更して、
「違うネットワーク」にする。
64|0 = 01000000 00000000 ap-northeast-1b とか
sub 11110000 00000000


