0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Application LoadBalancer を作成するのに必要なIP数

Last updated at Posted at 2023-10-18

ALB におけるサブネットの制限

AWS 公式ドキュメントより

  • 少なくとも 2 つのアベイラビリティーゾーンサブネットを選択する
  • サブネットは異なるアベイラビリティーゾーンに属している
  • ロードバランサーのアベイラビリティーゾーンサブネットごとに CIDR ブロックを最低でも /27 ビットマスクにする
  • 少なくとも各サブネットにつき 8 個の空き IP アドレスを用意

このあたりの詳細について動作確認する

検証

サブネットの作成

ドキュメントでは /27 以上にせよと書いてあるが、 /28 で作ってみる。
スクリーンショット 2023-10-18 11.07.02.png
利用可能なIPv4アドレスについては、/28では16IPアドレスがアサインされるが5つはAWSで予約されるため11となっている。

ALBの作成

対象のサブネットにひたすらALBを作成していく。

  • ロードバランサのタイプ:内部
  • ターゲットグループ:対象なし
    スクリーンショット 2023-10-18 11.10.27.png

結果

8個目のALBを作成したところで下記のエラーメッセージが出力された。

Not enough IP space available in subnet-0db772ec73ec98db6. ELB requires at least 8 free IP addresses in each subnet.

スクリーンショット 2023-10-18 11.12.03.png

subnet-0db772ec73ec98db6 は ap-northeast-1a である。

確認

ENIの状態

ネットワークインターフェースを確認するとこんな感じ。
スクリーンショット 2023-10-18 11.21.07.png
アベイラビリティゾーンをみるとわかるが、7個作ったうち4つが1a、3つが1cにENIが作成されている。これはおそらくターゲットグループにインスタンスを紐づけていないためランダムにアサインされたと考えられる。(ALB作成順とAZに関連性はなさそう)

サブネットの状態

利用可能なIPv4アドレスが減少しており、ap-northeast-1aの個数が7となっている。
スクリーンショット 2023-10-18 11.24.16.png
エラーメッセージでもこちらのサブネットでIPが不足と出ていたので、ドキュメント通り8IPが残っている状態でないとALBは作成できない模様。

ただ本来はAZ毎にターゲットを配置するのでおそらく5ALBでエラーになったのではと推測される。

まとめ

  • CIDR ブロックは /28 でもロードバランサは作成できる
  • サブネットに8IP以上残っていないとエラーになる
  • ターゲットを正しく設定してからじゃないとだめかも
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?