ELB DNS 和流量如何使用不同的跨區域負載平衡組態運作?

1 分的閱讀內容
0

我啟用了兩個可用區域的 Elastic Load Balancer (ELB),但 DNS 中僅出現一個 IP 地址。

簡短描述

使用 Application Load Balancer 時,跨區域負載平衡一直處於啟用的狀態。但是,使用 Network Load Balancers 和 Gateway Load Balancers 時,跨區域負載平衡預設為停用。

當跨區域負載平衡為停用時,可用區域必須在每個目標群組中至少有一個處於運作狀態的目標。當跨區域負載平衡啟用時,可用區域在 任何可用區域的每個目標群組中可以至少有一個處於運作狀態的目標。每個條件都能讓可用區域保持在運作狀態,並讓您能將相應的 Network Load Balancer 節點 IP 地址新增到 Network Load Balancer DNS。

解決方案

當跨區域負載平衡停用時

以下為兩個可用區域 AZ1 與 AZ2 之間跨區域負載平衡停用時的範例。

可用區域 1 (AZ1) 有兩個目標群組 A 和 B,每個目標群組都有各自的目標 A1 和 B1。目標 A1 處於非運作狀態,目標 B1 處於運作狀態。由於目標 A1 處於非運作狀態,故 AZ1 也處於非運作狀態。

可用區域 2 (AZ2) 也有兩個目標群組 A 和 B,每個目標群組都有各自的目標 A2 和 B2。目標 A2 和 B2 均處於運作狀態。由於兩個目標群組中的每個目標都處於運作狀態,故 AZ2 處於運作狀態。

Network Load Balancer 在 Network Load Balancer DNS 中僅包含 AZ2 的 IP 地址,因為 AZ2 是唯一處於運作狀態的可用區域。因此,當您解析 Network Load Balancer 的網域時,AZ2 的 IP 地址是唯一會出現的地址。

接著,流量將通過 AZ2 中的 Network Load Balancer 節點路由到相應目標群組中處於運作狀態的目標。如果一個目標群組中有多個處於運作狀態的目標,則會根據負載平衡器的路由演算法選取一個目標。

如果兩個可用區域均處非運作狀態,則 Network Load Balancer 無法開啟。接著,將每個 Network Load Balancer IP 地址新增到負載平衡器的 DNS 中。

當跨區域負載平衡啟用時

以下為當使用相同的可用區域 AZ1 與 AZ2 時跨區域負載平衡啟用的範例:

在 AZ1 中,目標 A1 處於非運作狀態,目標 B1 處於運作狀態。在 AZ2 中,目標 A2 和 B2 皆處於運作狀態。由於每個可用區域至少有一個處於運作狀態的目標,Network Load Balancer 在用於 Network Load Balancer 主機名稱的 DNS 中包含兩個 IP 地址。

接著,流量將路由至任一個 Network Load Balancers,並轉發到相應目標群組中的目標。如果一個目標群組中有多個處於運作狀態的目標,則會根據負載平衡器的路由演算法選取一個目標。

如果 AZ1 中的目標 B1 處於非運作狀態,且 AZ2 中的目標 B2 也處於非運作狀態,則兩個可用區域皆為非運作狀態。由於兩個可用區域皆為非運作狀態,因此 Network Load Balancer 無法開啟。接著,將每個 Network Load Balancer IP 地址新增到負載平衡器的 DNS 中。因此,當您解析網域時,兩個可用區域的 IP 地址都會出現。


AWS 官方
AWS 官方已更新 2 年前