スポンサーリンク

CIDRについての質問

動画教材の手順に従い、VPCとIGW、サブネットを作成しました。

その後、復習で別のサブネット作成をしてみようとしたところ、パプリックサブネットのIPアドレス作成時に何度が認証されませんでした。

はじめの設定でVPCのIPV4のCIDRブロックを10.0.10.0/16に設定後、最初のパブリックサブネットを10.0.10.0/24としたのですが、新たなサブネットのIPアドレスは10.0.20.1/24や 10.0.0.5/24などが適用されず、10.0.30.0/24は大丈夫でした。これはどういった理由なのでしょうか?

VPCとサブネットにおけるCIDRは次のように考えよう

VPC で 10.0.10.0/16 を設定したんですね。

この場合、IPアドレスとサブネットマスクで表記すると、

IPアドレス: 10.0.10.0
サブネットマスク: 255.255.0.0

上記になりますよね。

その理由は、サブネットが255.255.0.0 になる理由は、2進数に直した際、

11111111.11111111.00000000.0000000

上記のように32桁のうち8桁の塊が2つあるので、CIDR表記すると/16になるためです。

AWSにおけるサブネットマスクの考え方

AWSのパブリックサブネットマスクは、VPCのアドレスの範囲内で作成する必要があります。

10.0.0.5や10.0.20.1 が適用されなかった理由は、これも2進数に計算し直すとわかりやすいかと。

10.0.0.5 を2進数に変換

00001010.00000000.00000000.00000101

10.0.20.1 を2進数に変換

00001010.00000000.00010100.00000001

それぞれを2進数に変換すると上記のようになりますよね。

一方、最初に作成したパブリックサブネットのIPアドレス10.0.10.0/24を2進数に変換すると、

00001010.00000000.00001010.00000000

上記のようになります。

VPCのCIDRは10.0.10.0/16 なので一番最後の8桁が00000000 である必要があるのですよね。

10.0.20.1/24や 10.0.0.5/24 は一番最後の8桁が00000101 や00000001 になっているので00000000 とは違います。

AWSのCIDRは3桁部分のみ自由に設定できる

ここまではネットワークの知識なのですが、AWSはさらに特殊でサブネットで自由に決められる部分はIPアドレスの3桁目の部分だけなんです。

つまり、今回で言うと

10.0.10.0

設定できるのは上記のように10の箇所だけなんですよね。

それぞれを分割して考えると、

10.0 ...1桁目と2桁目の100の部分は、最初にVPCで作成した際に設定するので変えてはいけません。

0...4桁目の0部分は、EC2作成時などで自動設定される箇所になるので。ここもサブネットのCIDRを決める際には変えないようにしましょう。

参考サイト

(今さら)CIDRアドレス計算ツール by yamagata21

VPC CIDRについてちょっと調べた - Qiita

IPアドレスに付く /24 などの表記

IPアドレスの基礎知識 - Qiita

Classless Inter-Domain Routing - Wikipedia

スポンサーリンク
おすすめの記事