今回はIPアドレスとCIDR表記について解説します。それぞれの数字が何を示しているのか、そしてどのようにしてAWSのVPC(Virtual Private Cloud)やサブネットを設定するのかをわかりやすく解説します。
当時AWSの本を読んでいたとき、VPCのルーティングを勉強するとき「なんでこんなわかりにくい説明するんだろう」とずっと思っていたので、自分なりに図を使って解説していきたいと思います。
IPアドレスとは
IPアドレスは、インターネット上のデバイスを一意に識別するための番号です。IPv4と呼ばれる現在主流の方式では、IPアドレスは4つの数(各々が0から255の間)によって表現されます。例えば、192.168.1.1
などです。
これらの数値は、それぞれが8ビットのバイナリ数値(2の8乗で256通り)を表しています。そして、それが4つ並んでいるため、全体としては32ビットのバイナリ数値を表現しています。これは理論的には2の32乗、つまり約43億のユニークなアドレスを指し示すことが可能です。
CIDR表記とは
CIDR(Classless Inter-Domain Routing)表記は、IPアドレスとともに使われ、/
に続けて数字を記述します。この数字は、IPアドレスのネットワーク部分とホスト部分を区別するために使用されます。
例えば、192.168.1.0/24
のような表記を見たことがあるかもしれません。ここでの/24
は、32ビットのうち最初の24ビットがネットワークを表し、残りの8ビットがホスト(つまり特定のデバイス)を表すことを意味します。
ネットワーク部分が同じIPアドレスは同じネットワーク(例えば、同じローカルネットワークやVPC)に属します。一方、ホスト部分はそのネットワーク内でのデバイスを一意に識別します。
AWSでのネットワーキング
AWSでは、VPCを作成する際に、そのVPC用のIPアドレス範囲をCIDR表記で指定します。例えば、10.0.0.0/21
と指定すると、10.0.0.0
から10.0.7.255
までのIPアドレスがそのVPC内で使用できることを意味します。この範囲内では2^11
(すなわち2048)のIPアドレスが存在します。ただし、最初の4つと最後の1つのIPアドレスはAWSによって予約されています。
さらに、このVPCをいくつかのサブネットに分割したい場合があります。その際には、それぞれのサブネットにもCIDR表記でIPアドレス範囲を指定します。例えば、10.0.1.0/24
と指定すると、そのサブネットでは10.0.1.0
から10.0.1.255
までの256個(実際には251個)のIPアドレスが使用できます。以下の図の例では、10.0.0.0/21のVPC内に/24のサブネットを作成する例を示しました。
以下にそれぞれのCIDR表記ごとの詳細を説明します:
- CIDRが/25の場合
サブネット1: 10.0.0.0/25
- IPアドレス範囲は 10.0.0.0
から10.0.0.127
まで、123個の使用可能なIPアドレス。
サブネット2: 10.0.0.128/25
- IPアドレス範囲は 10.0.0.128
から10.0.0.255
まで、123個の使用可能なIPアドレス。
- CIDRが/26の場合
サブネット1: 10.0.0.0/26
- IPアドレス範囲は 10.0.0.0
から10.0.0.63
まで、59個の使用可能なIPアドレス。
サブネット2: 10.0.0.64/26
- IPアドレス範囲は 10.0.0.64
から10.0.0.127
まで、59個の使用可能なIPアドレス。
サブネット3: 10.0.0.128/26
- IPアドレス範囲は 10.0.0.128
から10.0.0.191
まで、59個の使用可能なIPアドレス。
サブネット4: 10.0.0.192/26
- IPアドレス範囲は 10.0.0.192
から10.0.0.255
まで、59個の使用可能なIPアドレス。
- CIDRが/28の場合
サブネット1: 10.0.0.0/28
- IPアドレス範囲は 10.0.0.0
から10.0.0.15
まで、11個の使用可能なIPアドレス。
サブネット2: 10.0.0.16/28
- IPアドレス範囲は 10.0.0.16
から10.0.0.31
まで、11個の使用可能なIPアドレス。
このような形で、CIDR表記によりそれぞれのサブネットで利用可能なIPアドレスの数が異なります。これらの値を理解することで、ネットワーキングニーズに合わせた適切なサブネットの設計が可能になります。
このように、IPアドレスとCIDR表記を理解することで、AWSでのネットワーキングがどのように動作するかがわかるはずです。それぞれの数字が何を示しているかを理解し、どのようにネットワークを設計するかについて考えることが重要です。
以上、このチュートリアルがCIDR表記とIPアドレスの理解に役立つことを願っています。