以前、VPC上のELBに対するサブネットのCIDRブロックについて紹介しました。
(少なくとも /25 ということでした)

今回は、このELBとSubnetの関係を、もう少し掘り下げてみます。

まずは、Subnetを分けられる限度を確認してみます。

Netmaskは最小28、最大16ということになります。

それでは、最小の28でSubnet(10.0.2.0/28)を作ってみます。
因みに、この時に利用できるIP(Available IP)は11です。

そして、このSubnetに対してELBを作成してみます。

やはり、Netmaskが25より小さいので作成できません。
エラーメッセージを確認してみると、下記ということになります。

ELBを作成するには少なくても123個の利用可能なIPアドレスが必要

そこで、Netmaskを25にして作成してみます。
この時に利用できるIP(Available IP)は123です。

上記より、利用可能なIPアドレスが123個になるのでELBは作成できるのですが、
さらに1つ同じSubnetにELBを作成しようとすると、今度は利用可能なIPアドレスが、
1つ減って122個なので、下記のように作成することができません。

これらより、Netmaskが25のSubnetでは、ELBは一つしか作成できないことになります。

今度は、Netmaskを24にして作成してみます。
この時に利用できるIP(Available IP)は251です。

そうすると、下記のように複数のELBを同一のSubnetに作成することができます。
(推測ですが、残りの利用可能なIPが122個になるまで作成できると思います)

この、ELBが作成できるSubnetのNetmaskの最小が25になってるのは、ELBが適切にスケールする為に
必要なものだと思います。
上記の利用だとすると、ELB1つに対して、122個の利用可能なIPアドレスを用意しておく必要があると
思ってしまうのですが、Netmaskが24の時は、おそらく残りのIPアドレスが122個になり、
129個のELBが作成できてしまうと思います。
この場合は、1つのELBに対して、平均1個弱のIPアドレスしかスケールのために用意されてないことになります。

これについては、少し不思議な感覚になってしまいますが、そういうものなのだと思います。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら