什麼是 Network Load Balancer? - Elastic Load Balancing

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

什麼是 Network Load Balancer?

Elastic Load Balancing 會在一或多個可用區域中自動將傳入流量分配到多個目標,例如EC2執行個體、容器和 IP 位址。其會監控已註冊目標的運作狀態,並且僅將流量路由至運作狀態良好的目標。當傳入流量隨著時間發生變化,Elastic Load Balancing 會擴展您的負載平衡器。他可以自動擴展以因應絕大多數的工作負載。

Elastic Load Balancing 支援下列負載平衡器:Application Load Balancer、Network Load Balancer、Gateway Load Balancer 和 Classic Load Balancer。您可以選取最符合您需要的負載平衡器類型。本指南探討 Network Load Balancer。如需其他負載平衡器的詳細資訊,請參閱《Application Load Balancer 使用者指南》、《Gateway Load Balancer 使用者指南》與《Classic Load Balancer 使用者指南》。

Network Load Balancer 元件

負載平衡器做為用戶端的單一聯絡點。負載平衡器會將傳入流量分散到多個目標,例如 Amazon EC2 執行個體。這會提高您應用程式的可用性。您要為負載平衡器添加一個或多個接聽程式。

接聽程式會使用您所設定的通訊協定和連接埠,檢查來自用戶端的連線請求,並將請求轉送至目標群組。

目標群組會使用您指定的通訊協定和連接埠號碼,將要求路由傳送至一或多個已註冊的目標 (例如EC2執行個體)。Network Load Balancer 目標群組支援TCPUDPUDP、TCP _ 和TLS通訊協定。您可以向多個目標群組註冊任一目標。您可以針對每個目標群組設定運作狀態檢查。凡已註冊至負載平衡器的接聽程式規則中指定之目標群組的所有目標,系統將對其執行運作狀態檢查。

如需詳細資訊,請參閱下列 文件:

Network Load Balancer 概觀

Network Load Balancer 會在開放系統互連 (OSI) 模型的第四層運作。每秒可以處理數百萬個請求。負載平衡器接收到連線請求後,將依預設規則從目標群組中選取一個目標。它會嘗試在監聽器組態中指定的TCP連接埠上,開啟與選取之目標的連線。

當您為負載平衡器啟用可用區域時,Elastic Load Balancing 會在該可用區域內建立負載平衡器節點。預設情況下,每個負載平衡器節點只會將流量分布到其可用區域中的登錄目標。若您啟用跨區域負載平衡功能,每個負載平衡器節點會將流量分布至所有可用區域內已登錄的目標。如需詳細資訊,請參閱更新 Network Load Balancer 的可用區域

如您為負載平衡器啟用多個可用區域,並確保每個目標群組在各個已啟用的可用區域內皆至少有一個目標,便能提高應用程式的容錯能力。例如,如果一或多個目標群組在可用區域中沒有運作良好的目標,我們會從中移除對應子網路的 IP 位址DNS,但其他可用區域中的負載平衡器節點仍可用於路由流量。如果用戶端不遵守 time-to-live (TTL),並在 IP 位址移除後將要求傳送至 IP 位址DNS,則要求會失敗。

對於流TCP量,負載平衡器會根據通訊協定、來源 IP 位址、來源連接埠、目的地 IP 位址、目的地連接埠和TCP序號,使用流程雜湊演算法選取目標。來自用戶端的TCP連線具有不同的來源連接埠和序號,而且可以路由到不同的目標。每個個別TCP連接都會路由至連線壽命的單一目標。

對於流UDP量,負載平衡器會根據通訊協定、來源 IP 位址、來源連接埠、目的地 IP 位址和目的地連接埠,使用流程雜湊演算法選取目標。UDP流程具有相同的來源和目的地,因此會在整個生命週期內一致地路由至單一目標。不同的UDP流程具有不同的來源 IP 位址和連接埠,因此可以將它們路由到不同的目標。

Elastic Load Balancing 會為您啟用的每個可用區域建立網路介面。可用區域中的每個負載平衡器節點皆使用此網路界面來取得靜態 IP 地址。當您建立面向網際網路的負載平衡器時,您可以選擇連結每個子網路的一組彈性 IP 地址。

在建立目標群組時,您會指定其目標類型,這會決定您登錄目標的方式。例如,您可以註冊執行個體IDs、IP 位址或應用程式負載平衡器。目標類型也會影響是否保留用戶端 IP 地址。如需詳細資訊,請參閱用戶端 IP 保留

您可隨需求變更,為負載平衡器新增及移除目標,而不會中斷應用程式整體的請求流程。當應用程式的流量隨著時間發生變化,Elastic Load Balancing 會擴展您的負載平衡器。Elastic Load Balancing 能夠自動擴展以因應絕大多數的工作負載。

您可以設定運作狀態檢查,用於監控已註冊目標的運作狀態,使負載平衡器只能傳送請求至運作狀態良好的目標。

如需詳細資訊,請參閱 Elastic Load Balancing 使用者指南中的 Elastic Load Balancing的運作方式

從 Classic Load Balancer 遷移的好處

使用 Network Load Balancer (而非 Classic Load Balancer) 具有下列優點:

  • 能夠處理急遽波動的工作負載,並可擴展到每秒處理數百萬個請求。

  • 支援將靜態 IP 地址用於負載平衡器。您還能為負載平衡器啟用的每個子網路指派一個彈性 IP 地址。

  • Support 依 IP 位址註冊目標,包括負載平衡VPC器之外的目標。

  • Support 將要求路由至單一EC2執行個體上的多個應用程式。您可使用多個連接埠向同一目標群組註冊各執行個體或 IP 地址。

  • 支援容器化的應用程式。Amazon 彈性容器服務 (AmazonECS) 可以在排程任務時選取未使用的連接埠,並使用此連接埠向目標群組註冊任務。這使您得以有效利用您的叢集。

  • Support 獨立監控每個服務的運作狀態,因為運作狀態檢查是在目標群組層級定義的,並在目標群組層級報告許多 Amazon CloudWatch 指標。將目標群組連接到 Auto Scaling 群組令您能夠隨需動態擴展各項服務。

如需各種負載平衡器類型支援的功能詳細資訊,請參閱 Elastic Load Balancing 產品比較

開始使用

若要使用建立 Network Load Balancer AWS Management Console,請參閱開始使用 Network Load Balancer。若要使用建立 Network Load Balancer AWS Command Line Interface,請參閱 開始使用網路負載平衡器 AWS CLI

如需常見負載平衡器組態的示範,請參閱 Elastic Load Balancing 示範

定價

如需詳細資訊,請參閱《Network Load Balancer 定價》。