サブネットとは
サブネットとは、大きなネットワークを小さく分割したネットワーク。
ネットワークを切り分けることで、直接通信できる範囲を狭め、ファイアーウォールを設定し、セキュリティの境界を作る目的で使う。AWSの場合はそのサブネットをどこのAZに置くのかを設定する。つまりサブネットは物理的な場所を特定する。
VPCでは、まずユーザーの使用できる領域としてネットワークの範囲を作成し、その下に用途に応じて、サブネットを作成する。
サブネットを分ければ、サブネットAは公開し、サブネットBは非公開にするなどの役割を変えることもできる。
通常のネットワークではサブネット同士の通信はルーターが必要ですが、VPCの場合、ルーターなしで通信できる。
ネットワークの範囲とCIDR表記
ネットワークやサブネットの範囲を分けるには、CIDR(サイダー)と呼ばれる表記を使う。プレフィックス表記とも呼ぶ。
「/24」「/20」など、バックスラッシュの後ろにネットワーク長の数字を書いて表記する。これは「255.255.255.0」や「255.255.240.0」のようなサブネットマスク表記で記述することもあるが、AWSではCIDRを使用する。
CIDRはIPアドレス数を表し、
「/24」であれば256個、「/20」であれば4096個を意味する。
2の「32-ネットワーク長」乗で計算できる。
ex)
「172.31.0.0/16」であれば、「/16」は「65536個」という意味なので、
「172.31.0.0」から「172.31.255.255」までがネットワークの範囲
ネットワークのクラス
ネットワークは、規模に応じて、A/B/Cのクラスがある。
クラス | 規模 | CICR | IPアドレス数 | プライベートIPの範囲 |
---|---|---|---|---|
クラスA | 大規模 | /8~/15 | 16.777.216 ~ 131.072 | 10.0.0.0 ~ 10.255.255.255 |
クラスB | 中規模 | /16~23 | 65.536 ~ 512 | 172.16.0.0 ~ 172.31.255.255 |
クラスC | 小規模 | /24~/32 | 256 ~ 1 | 192.168.0.0 ~ 192.168.255.255 |
デフォルトVPCは「/16」(クラスB)に設定されている。
それを「/20」で分割したサブネットが、それぞれのAZに置かれている
「/20」サブネットには4096個のIPアドレスがあるので、Auto Scaringを設定されるのも充分なIPアドレスが確保できる。
クラスAについて
AWSの場合、親となるネットワークにクラスAの設定することはできるが、サブネットとして使用できる範囲は「/16」(クラスBの最大値)以下。
クラスAのサブネットは設定できない。
IPアドレスの割り振りとDHCP
ネットワーク上でIPアドレスが割り振られるのは、EC2インスタンスやRDSインスタンス(データベース)である。AWSはVPCは特殊なので、ルーターやインターネットゲートウェイのIPアドレスには先頭の予約アドレスなどが使われている。
ネットワークやサブネットで使用するIPアドレスの範囲は、管理者が設定できるが、ここのホスト(インスタンス)にIPアドレスを設定するのはDHCPによって自動的に割り振られる。
VPC上ではDHCPサーバーが稼働していて、接続したインスタンスには、そのサブネットの範囲におけるいずれかのIPアドレスが割り当てられる。VPCで通常使用するIPアドレスは、プライベートIPアドレスである。
予約IPアドレス
サブネットの最初の4つと、最後のIPアドレスは使用できない。
これは、AWSによって予約されているからである。
そのため、256であれば5を引いた251個が実際に使用できるIPアドレス。