VPCのCIDRブロックって何?


発端

いつもなんとなく使っていたVPCですが、IPアドレスの設定やCIDRがよく分からなかったので調べました。

IPアドレス

今回はVPC内の話なのでプライベートIPについての話となります。ちなみにIPv4
32bit2進数で割り当てられるので$2^{32}$個あることになります。人間には分かりにくいので8桁ずつで分けてそれを10進数に割り振っています。

CIDR

サイダーと呼びます。使えるIPアドレスの範囲を示します。例えばVPCのCIDRを

10.0.0.0/16

と指定してあげるとVPC内で使えるIPアドレスの範囲は

10.0.0.0 \approx 10.0.255.255

となります。
/より後でIPアドレスの範囲(サブネットマスク)を指定してあげてどのネットワークに所属しているのかを表しています。このようなサブネットマスクの表記法をCIDR表記と呼びます。

またCIDRではどこまでをネットワーク部分、どこまでをホスト部分にするかを自由に選ぶことができます。この数字は32bitの桁数に対応しており10.0.0.0/16では

\underline{00001010}.\underline{00000000}.00000000.00000000

までをネットワーク部分として使うということを宣言しています。

VPCの中でサブネットを構築しようとなると基本的に

10.0.10.0/24

このようにすると思います。この場合ネットワーク部分の宣言は左から24桁となるので

\underline{00001010}.\underline{00000000}.\underline{00001010}.00000000

ここまでとなります。つまり残り8桁がホストとして使用可能となります。

ここで筆者が作成したEC2のプライベートIPアドレスを見てみましょう。設定は上記のCIDRです。

確かにサブネット内(10.0.10.0/24)に指定したマスクの範囲内でIPアドレスが割り当てられていました。

所感

ネットワークの分野はちょっと地味ですが面白い。アカデミックさがあってなんだか学生に戻った感じでした。