異なるクロスゾーンロードバランシング設定では、ELB DNS とトラフィックフローは、どのように動作しますか?

所要時間1分
0

2 つのアベイラビリティゾーンに Elastic Load Balancer (ELB) を設定しましたが、DNS には IP アドレスが 1 つしか表示されません。

簡単な説明

Application Load Balancerを使用している場合、クロスゾーンロードバランシングは常にオンに設定されています。クロスゾーンロードバランシングをオフにはできませんが、ターゲットグループレベルで変更することは可能です。

ただし、Network Load Balancerとゲートウェイロードバランサーに関しては、クロスゾーンロードバランシングはデフォルトではオフに設定されています。

クロスゾーンロードバランシングがオフになっている場合、アベイラビリティーゾーンには、各ターゲットグループに 1 つ以上の正常なターゲットが必要です。クロスゾーンロードバランシングがオンになっている場合、いずれかのアベイラビリティゾーンの各ターゲットグループに 1 つ以上の正常なターゲットが存在する必要があります。それぞれの条件に沿ってアベイラビリティゾーンが正常な状態に保たれ、対応する Elastic Load Balancer ノードの IP アドレスが Elastic Load Balancer DNS に追加されます。

解決策

クロスゾーンロードバランシングがオフになっている場合

以下は、2 つのアベイラビリティゾーン (AZ1 と AZ2) 間でクロスゾーンロードバランシングがオフになっている場合の例です。

アベイラビリティゾーン 1 (AZ1) には、A と B という 2 つのターゲットグループがあり、それぞれに固有のターゲット A1 と B1 があります。ターゲット A1 は異常、ターゲット B1 は正常です。ターゲット A1 が異常であるため、AZ1 も異常です。

アベイラビリティゾーン 2 (AZ2) にも、A と B という 2 つのターゲットグループが存在しており、かつ、それぞれに独自のターゲットである A2 と B2 が存在しています。ターゲット A2 と B2 は、両方とも正常です。両方のターゲットグループ内のそれぞれのターゲットは正常なので、AZ2 も正常です。

AZ2 が唯一の正常なアベイラビリティゾーンなので、Elastic Load Balancer の DNS に AZ2 の IP アドレスが含まれます。その結果、Elastic Load Balancer のドメインを解決したとき、AZ2 の IP アドレスのみが表示されることになります。

その後、トラフィックは、AZ2 の Elastic Load Balancer のノードを介して対応するターゲットグループの正常なターゲットにルーティングされます。ターゲットグループに複数の正常なターゲットがある場合は、ロードバランサーのルーティングアルゴリズムに基づいて、1 つのターゲットが選択されます。

両方のアベイラビリティゾーンが異常である場合、Elastic Load Balancer は、fail-open します。その後、それぞれの Elastic Load Balancer IP アドレスがロードバランサーの DNS に追加されます。

クロスゾーンロードバランシングがオンになっている場合

以下は、同じアベイラビリティゾーン AZ1 と AZ2 を使用したとき、クロスゾーンロードバランシングがオンになっている場合の例です。

AZ1 内では、ターゲット A1 は異常、ターゲット B1 は正常です。AZ2 内では、ターゲット A2 も B2 も両方ともが正常です。それぞれのアベイラビリティゾーンには、1 つ以上の正常なターゲットが存在しているため、Elastic Load Balancer は Elastic Load Balancer ホスト名の両方の IP アドレスを DNS に内包します。

その後、トラフィックはいずれかの Elastic Load Balancer ノードにルーティングされ、対応するターゲットグループのターゲットに転送されます。ターゲットグループに複数の正常なターゲットがある場合は、ロードバランサーのルーティングアルゴリズムに基づいて、1 つのターゲットが選択されます。

AZ1 のターゲット B1 が異常であって、AZ2 のターゲット B2 も異常である場合、両方のアベイラビリティゾーンが異常です。両方のアベイラビリティゾーンも正常ではないことにより、Elastic Load Balancer が fails-open します。その後、それぞれの Elastic Load Balancer IP アドレスがロードバランサーの DNS に追加されます。その結果、ドメインを解決すると、アベイラビリティゾーンの IP アドレスが両方とも表示されます。

関連情報

Application Load Balancer では、ターゲットグループごとのクロスゾーンロードバランシングの無効化がサポートされるようになりました

AWS公式
AWS公式更新しました 1年前