ALB の利用に必要な IP アドレス数を教えてください

2023.08.07

困っていること

AWS re:Post より、ALB では各サブネットで少なくとも 8 つの IP アドレスを利用できることがベストプラクティスであると認識してます。
なぜ、8 個の空き IP アドレスが必要であるか教えてください。

VPC のサブネットで使用可能な IP アドレスが不足すると、ロードバランサーなどの AWS リソースがトラフィックの増加に対応できなる可能性があります。 各サブネットで少なくとも 8 つの IP アドレスを利用できるようにしておくことがベストプラクティスです。

回答

ロードバランサーが必要に応じて内部でスケールアウトできるようにするために必要です。 そのために、少なくとも各アベイラビリティゾーンサブネットにつき 8 個の空き IP アドレスが必要です。
もし空きの IP アドレスが無い場合、5xx エラーやタイムアウトが発生する可能性があるので、不足しないようにしてください。

例)
ap-northeast-1c 8 個
ap-northeast-1a 8 個
合計 16 個の空き IP アドレスを確保してください。

ロードバランサーが正しくスケールできるように、ロードバランサーのアベイラビリティーゾーンサブネットごとに CIDR ブロックを最低でも /27 ビットマスク (例: 10.0.0.0/27) にし、少なくとも各サブネットにつき 8 個の空き IP アドレスを用意してください。これらの 8 個の IP アドレスは、ロードバランサーが必要に応じてスケールアウトできるようにするために必要です。ロードバランサーはこれらの IP アドレスを使用して、ターゲットとの接続を確立します。それらがないと、Application Load Balancer ではノード交換の試行で問題が発生し、失敗状態になる可能性があります。

注: スケールの試行中に Application Load Balancer サブネットが使用可能な IP アドレスを使い果たした場合、Application Load Balancer は不十分なキャパシティで実行されます。この間、古いノードは引き続きトラフィックを処理しますが、スケーリングの試行が停止すると、接続の確立を試行する際に 5xx エラーまたはタイムアウトが発生する可能性があります。

参考資料