☁️

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 となるのです。


5. 例:10.0.0.1/24

  • サブネットマスク /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