VPCのCIDRを複数のSubnet CIDRへ分割したAWS公式図
Cloud Certification

CIDRとは?AWSの/16・/24・0.0.0.0/0を初心者向けに図解

AWSでVPCやSubnetを作ると、10.0.0.0/16や10.0.1.0/24のような表記が必ず出てきます。IPアドレスは見慣れていても、後ろの/16や/24が付いた瞬間に分かりにくく感じる人は多いはずです。

この表記がCIDRです。この記事では計算問題から入らず、「何を表しているのか」を先に理解します。

CIDRはClassless Inter-Domain Routingの略

CIDR = Classless Inter-Domain Routingです。読み方は一般に「サイダー」です。正式名称を直訳しても最初は分かりにくいため、まずはIPアドレスの範囲を表す書き方と覚えるのがおすすめです。

通常のIPv4アドレスは、たとえば192.168.1.10のように1つのアドレスを表します。一方、192.168.1.0/24のようにスラッシュ付きで書くと、1つではなくまとまったIPアドレス範囲を表せます。

192.168.1.10
→ 1つのIPアドレス

192.168.1.0/24
→ ある範囲のIPアドレスをまとめて表す

/24の24は「先頭24bitが共通」という意味

IPv4アドレスは、内部では32個の0と1、つまり32bitで表現されています。CIDRの/24は、その先頭24bitをネットワークの共通部分として扱う、という意味です。

ここで「固定」という言葉を使うと、サーバーに固定IPを割り当てる話と混同しやすいため、先頭から何bitを共通部分として見るかと考える方が分かりやすいです。

IPv4 = 32bit

/24
共通部分 24bit | 変化できる部分 8bit

/16
共通部分 16bit | 変化できる部分 16bit

そのため、スラッシュ後ろの数字が大きいほど変化できる部分が少なく、範囲は狭くなります。逆に数字が小さいほど変化できる部分が増え、範囲は広くなります。

/16と/24を住所の範囲として考える

たとえばAWSでよく見る10.0.0.0/16は、IPv4アドレスとして65,536個分の範囲を表します。10.0.1.0/24なら256個分です。

CIDR アドレス数 感覚
10.0.0.0/16 65,536 大きな範囲
10.0.1.0/24 256 /16より小さい範囲
0.0.0.0/0 IPv4全体 すべてのIPv4宛先

ここでいう256個はCIDRが表す数学上のアドレス数です。AWSのIPv4 Subnetでは通常、先頭4個と最後1個の計5個をAWSが予約するため、/24の256個すべてをEC2などへ割り当てられるわけではありません。

VPCのCIDRを複数のSubnet CIDRへ分割したAWS公式図

出典: AWS公式。大きなVPC CIDRの中を、Availability ZoneごとのSubnet CIDRに分割している例です。

VPCを/16、Subnetを/24にするとはどういうことか

VPCとSubnetでは、CIDRを「大きな土地」と「その中の区画」のように使えます。

VPC
10.0.0.0/16
│
├─ Subnet A
│  10.0.1.0/24
│
├─ Subnet B
│  10.0.2.0/24
│
└─ Subnet C
   10.0.3.0/24

VPC側で大きなIPアドレス範囲を確保し、その内側からSubnet用の小さな範囲を切り出します。SubnetのCIDRはVPCのCIDR範囲内に収まっている必要があり、複数SubnetのCIDR同士を重複させることはできません。

VPCの中をPublic SubnetとPrivate Subnetへ分割したAWS公式図

出典: AWS公式。実際のVPC設計では、CIDRで確保した範囲を複数のSubnetへ分けて利用します。

社内LANの192.168.x.xと考え方は似ている

会社や家庭のLANで192.168.1.xのようなIPアドレスを見たことがある人なら、考え方はかなり近いです。たとえば192.168.1.0/24なら、192.168.1付近を共通部分として、その範囲内の機器へアドレスを割り当てます。

なお「会社だから192.168から始まる」という意味ではありません。192.168.0.0/16はRFC 1918で定義されたプライベートIPv4範囲の一つで、社内LANや家庭LANでよく使われているため見慣れている、という関係です。

0.0.0.0/0が「全部」になる理由

/0は先頭から共通部分として指定するbitが0個です。つまり何も絞り込まないため、IPv4のすべてのアドレスを含みます。

そのためRoute Tableで次のように設定すると、「より具体的な経路に当てはまらないIPv4通信をInternet Gatewayへ送る」というデフォルトルートとして使えます。

0.0.0.0/0 → Internet Gateway

前の記事でPublic Subnetを理解するために登場した0.0.0.0/0は、ここでCIDRの考え方とつながります。

まとめ:CIDRは「IPのグループ」を読むための表記

最初は細かい2進数計算を完璧にする必要はありません。まずはCIDRはIPアドレス範囲の表記、スラッシュ後ろの数字が大きいほど範囲が狭いと理解できれば、VPCやSubnetの設定画面がかなり読みやすくなります。

次は、このSubnetを物理的に分かれた場所へ配置して障害に強くするための、Region・Availability Zone・Load Balancerを整理します。

参考:AWS公式ドキュメント

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です