AWSのVPCについて細かく説明してみた
AWSにおけるVPCとサブネットマスクの基礎
AWSでネットワーク構築をするとき、避けて通れないのが VPC と サブネットマスク です。
なんとなく指定している人も多いかもしれませんが、実際にはコンピュータの基礎知識と密接に関わっています。この記事では、その仕組みを噛み砕いて解説していきます。
1. コンピュータの基本単位
まずは前提知識から。
- 1 byte = 8 bit
- 1オクテット = 8 bit の集まり
IPアドレスは「32 bit(= 4オクテット)」で構成されています。
例:10.0.0.1
2. VPCとは?
VPC(Virtual Private Cloud)は、AWS上に作る仮想的な専用ネットワーク空間です。
イメージしやすくするために「未開の土地」で例えると:
- VPC = まだ誰も手を付けていない広大な土地
- その土地は無限ではなく 有限の広さ(アドレス範囲) を持っている
👉 VPCを作成するときに CIDR(例:10.0.0.0/16
)を指定します。これが その土地の広さ(使えるIPアドレス範囲) になります。
3. サブネットマスクとは?
では /24
のような「スラッシュ付きの数字」は何を意味するのでしょうか?
これは サブネットマスク を表しています。
サブネットマスクの役割
サブネットマスクは「IPアドレスのどこまでがネットワーク部(町名)で、どこからがホスト部(家番号)か」を区切るための数値です。
例:
10.0.0.1/24
-
/24
= 24 bit がネットワーク部、残りの 8 bit がホスト部
つまり:
- ネットワーク部 =
10.0.0
- ホスト部 =
1
👉 このとき 10.0.0.1
は「10.0.0 という町にある1番の家」を意味するIPアドレスになります。
4. /24 の正体
/24
は 10進数で書くと 255.255.255.0
です。
これを2進数にすると:
11111111.11111111.11111111.00000000
-
1
が並んでいる部分 → ネットワーク部 -
0
が並んでいる部分 → ホスト部
なぜ255になるのか?
-
11111111
= 8ビット全部が1 - 2進数で表せる最大値 = 255
- これを10進数に変換したものが
255
だから /24
= 255.255.255.0
となるのです。
10.0.0.1/24
5. 例:- サブネットマスク
/24
で区切る - ネットワーク部 =
10.0.0
- ホスト部 =
1
つまり10.0.0.1/24
は「10.0.0 というネットワーク内の 1番のホスト」を表しています。
実際に 2進数で対応させると:
※サブネットマスクの一番右が.0になってますが正しくは「00000000」です
- 上段:サブネットマスク
- 下段:IPアドレスを2進数に変換したもの
- 左の24 bit がネットワーク部、残りの 8 bit がホスト部
6. まとめ
- VPC = AWS上の仮想的なネットワーク空間(有限の土地)
- サブネットマスク = IPアドレスを「ネットワーク部」と「ホスト部」に分けるための境界線
-
/24
は「24ビットがネットワーク部」という意味で、10進数にすると255.255.255.0
これを押さえておけば、VPC設計やサブネット分割の仕組みがぐっと理解しやすくなります。
7. AWSにおける実務的な補足
AWSでは、VPCを広め (/16 など) に作って、その中を /24 サブネットに分けて使うのが一般的です。
1つのサブネットで使えるIPは限られているため、設計時は「どのくらいのホスト数が必要か」を見積もってCIDRを決める必要があります。
もし/24 の範囲で作成した場合、さらに /26 に分割することで 4 つのサブネットを作成できます。
ただし /26 の場合、理論上のホスト数は 62 個ですが、AWS では各サブネットで 5 つの IP が予約されるため、
実際に使えるのは 59 個に限られます。そのため実用的にはあまり使われません。
Discussion