AWSでVPCを/24で作成し、そこからサブネットを検討して欲しいと後輩に依頼したことがある。
その際に、確かにそうなるし、昔の自分もそれやったわーと思うミスがあった。
懐かしいなそのミスと思いつつ、確かに引っかかるよなと思い、記事を書きたくなりました。
これを読んで、確かにあるわー、懐かしー、昔その間違えしたーと思ったり、え、そうなんだと思ってくれ、参考になる人がいることを祈って書いてみます。
まず、どんな間違い?
VPCを/24で切った際に4つサブネットを切って、サーバを各サブネットに2台ずつ配置できるよう設計してと言われたとしましょう。
つまり、4サブネットに2台ずつサーバが必要なので、全部で8台作るということになりますね。
/24でネットワークを切った際には、第四オクテットが「0~255」の合計256個のIPアドレスが使用できます。
その際に、2台ずつ配置できるように、4サブネットということなので、
・192.168.1.0/31
・192.168.1.2/31
・192.168.1.4/31
・192.168.1.6/31
の4つ切ればいいかとなりますよね?
ごめんなさい、残念、はずれです。
感覚はあっていますが、ネットワークの切り方として、一般的には「/24」の場合、ネットワークアドレスと、ブロードキャストアドレスという、予約されて割り当てができないIPアドレスが2つあります。

なので、ネットワークの切り方としては、
・ネットワークアドレス
・サーバ2台分
・ブロードキャストアドレス
の4つが必要になります。

これでOKですね。
。
。。
。。。
いや、これも罠です。。
AWSには予約IPアドレスというものがあります。
ネットワークアドレスとは別に、先頭の3つのIPアドレスが予約されています。
なので、ネットワークアドレスと、ブロードキャストアドレス以外に、AWSで使用される
VPCルーター用:1つ目 仮に192.168.1.1
DNSサーバー用:2つ目 仮に192.168.1.2
将来用の予約用:3つ目 仮に192.168.1.3
も含めて、5個のIPアドレスとサーバ用2台分のアドレスで、1つのサブネットには、7個のIPアドレスが必要なことがわかると思います。

これで良し。
なので、まとめると、
・192.168.1.0/29
・192.168.1.7/29
・192.168.1.16/29
・192.168.1.23/29
と切ればよいわけですね。
第2の罠発動!!
何が罠なのかというと、/29としていますが、欲しいのはIPアドレス7個分ですよね。
なので、/29にしてしまうと、8個なので1つ余ってしまいます。
だから、
・192.168.1.0/29 0~6までの7個分
・192.168.1.7/29 7~15までの
・192.168.1.16/29 16~22までの7個分
・192.168.1.23/29 23~29までの7個分
としたかもしれないですが、これも違います。
IPアドレスの分割のイメージは以下となります。

この表のとおり、7個だけ必要でも、7個だけサブネットを切るということはできないのです。
なので、/29でサブネットを切る必要がります。

なので、こんな感じになります。
・192.168.1.0/29 0~7までの8個分
・192.168.1.8/29 8~15までの8個分
・192.168.1.16/29 16~23までの8個分
・192.168.1.24/29 24~31までの8個分
となります。
さらに、サーバのIPアドレスは以下になります。

これで、やっと、正しく設定ができました。
まだまだあるぞ!最後のトラップ!!
ここからは、ちょっと応用編になるのですが、NW帯の設計をする際に気を付けなければいけないことがあります。
これは新人によくある間違いになるので、覚えておいた方がよいです。
簡単に言うと、そういったNWの切り方はできないよ!!
ということが起こり得ます。

・192.168.1.0/29 これはできる
・192.168.1.24/29 これもできる
・192.168.1.32/28 これもできる
・192.168.1.8/28 これだけができない
/28で切る場合は、16個ずつになりますが、以下の範囲で切る必要があります。

この範囲を超えて、サブネットを切ることはできないので、注意が必要です。
逆に、こういった切り方もできないです。

なので、こういう感じにする必要があります。

ネットワークの切り方には罠がいろいろあるので、注意して設計してもらえればと思います。
コメント