Azure Load Balancer 元件

Azure Load Balancer 是一項網路服務,能將入站流量分配到一組後端資源,以提升應用程式的可擴展性與可用性。 了解其組件有助於你配置負載平衡器如何分配流量、監控後端資源的健康狀況,並控制工作負載的進出連接。 本文將介紹每個元件及其如何促進負載平衡。

Azure Load Balancer 包含以下主要元件:

  • 前端 IP 設定
  • 後端集區
  • 健康狀態探查
  • 負載平衡器規則
  • 高可用性(HA)埠口
  • 輸入 NAT 規則
  • 輸出規則

你可以透過 Azure 入口網站、Azure CLI、Azure PowerShell 或 Azure Resource Manager 範本來設定這些元件。

前端 IP 組態

前端 IP 設定是你 Azure Load Balancer 的 IP 位址,也是客戶端的聯絡點。 前端 IP 位址可以是以下任一種類型:

  • 公用 IP 位址
  • 私人 IP 位址

IP 位址的性質決定了你建立的負載平衡器的 類型 。 私有 IP 位址會建立一個內部負載平衡器。 公共 IP 位址會建立一個公共負載平衡器。

屬性 公用負載平衡器 內部負載平衡器
前端 IP 組態 公用 IP 位址 私人 IP 位址
描述 公用負載平衡器會將傳入流量的公用 IP 與連接埠對應到 VM 的私人 IP 與連接埠。 負載平衡器也會將 VM 的回應流量以相反方向進行對應。 負載平衡規則會將特定類型的流量分配到多個虛擬機或服務之間。 例如,它們會將網路請求流量分散到多個伺服器。 內部負載平衡器將流量分配到虛擬網路內的資源。 Azure 限制了虛擬網路負載平衡前端 IP 位址的存取。 Azure 從不直接向網際網路端點揭露前端 IP 位址和虛擬網路,因此內部負載平衡器無法接收來自網際網路的流量。 內部企業營運應用程式會在 Azure 中執行,並可從 Azure 內或從內部部署資源存取。
支援的 SKU 標準 標準

Important

Basic Load Balancer 已於 2025 年 9 月 30 日淘汰。 如需詳細資訊,請參閱官方公告。 如果你目前使用Basic Load Balancer,請盡快升級到Standard Load Balancer。 升級指引請參見《從 Basic Load Balancer 升級指南》。

負載平衡器架構圖截圖,顯示前端與後端元件間的流量分布。

負載平衡器可以有多個前端 IP。 深入了解多個前端

後端集區

後端池是虛擬機擴展集中中一組虛擬機或實例,負責處理收到的請求。 若要以具成本效益的方式擴充,並因應大量傳入流量,請將更多執行個體新增至後端集區。

Load Balancer 會在你放大或縮小實例時自動重新配置。 在後端集區新增或移除 VM 時,負載平衡器會重新設定,而不需要其他作業。 後端集區的範圍涵蓋單一虛擬網路中的任何虛擬機器。

後端池支援透過 網路介面或 IP 位址來新增實例。 虛擬機不需要公共 IP 位址就能連接到公共負載平衡器的後端池。 即使虛擬機處於停止狀態,你也可以把虛擬機連接到負載平衡器的後端池。 你也可以為單一負載平衡器配置多個後端池,包含不同群組的實例。 透過建立多個負載平衡規則,每個規則針對不同的後端池,你可以根據負載平衡器的前端埠和協定,將流量分配到不同的後端資源集合。

健康狀態探查

健全狀態探查會檢查後端集區中執行個體的健全狀態。 建立負載平衡器時,您會為其設定健全狀態探查。 此健康探測器判斷實例是否健康且能處理流量。

你可以設定健康探針的不健康閾值。 當探測器沒有回應時,負載平衡器就會停止向不健康的實例發送新連線。 與不健康執行個體之間已建立的 TCP 連線會持續存在,直到下列其中一個事件發生為止:

  • 應用程式會終止流程。
  • 發生閒置逾時。
  • 虛擬機關閉了。

如果單一實例處於不健全狀態,現有的 UDP 流量會移轉至後端集區中的另一個健全實例。 如果所有執行個體都處於不健康狀態,所有現有的 UDP 流量都會終止。

Load Balancer 為端點提供不同的健康探測類型:TCP、HTTP 和 HTTPS。 欲了解更多,請參閱 Load Balancer 健康探針

Basic Load Balancer(已退役)不支援 HTTPS 探測。 當單一實例的探測失效時,該實例已建立的 TCP 連線仍會繼續。 當所有實例的探測器都當機時,Basic Load Balancer 會終止所有現有的 TCP 流到後端池。

負載平衡器規則

負載平衡器規則定義了負載平衡器如何將進入的流量分配到後端池 中的所有 實例。 該規則將前端 IP 設定與埠對應到多個後端 IP 位址與埠口。 負載平衡器的規則僅適用於入站流量。

例如,使用連接埠 80 的負載平衡規則,將流量從前端 IP 路由到後端執行個體的連接埠 80。

圖示顯示負載平衡規則,將前端 IP 位址和埠對應到後端實例的埠口。

圖示:負載平衡規則

高可用性連接埠

高可用性(HA)埠規則是一種負載平衡規則,你可以設定 protocol 為 , Allport 設定為 0。 單一 HA 埠規則會對所有抵達內部 Standard Load Balancer 埠口的 TCP 與 UDP 流量進行負載平衡。 啟用 HA 埠時,規則同時支援 ICMP 流量。

負載平衡器會根據以下五元組連線資訊,針對每個流進行負載平衡決策:

  • 來源 IP 位址
  • 來源連接埠
  • 目的地 IP 位址
  • 目的埠口
  • Protocol

HA 埠支援需要高可用性及跨多個埠擴展的關鍵情境,例如網路虛擬設備(NVA)如防火牆、VPN 或 SD-WAN 裝置。 在這種情況下,為每個埠定義獨立的負載平衡規則並不實際。 負載平衡器會依連線流分配流量,並使用健康探針只將流量傳送到健康的實例。

Basic Load Balancer(已退休)和公共負載平衡器不支援 HA 埠。 HA 埠並非設計給需要埠特定規則的典型網頁或應用程式工作負載。

Azure Load Balancer HA 埠配置圖的截圖,顯示前端埠指向後端實例。

圖:HA 埠規則

深入了解 HA 連接埠

輸入 NAT 規則

入站 NAT 規則會將到達前端 IP 位址與連接埠組合的傳入流量轉送出去。 該規則會將這些流量傳送到後端池 中特定的 虛擬機器或實例。 埠轉發採用與負載平衡相同的以雜湊為基礎的分配機制。

圖示顯示一個入站 NAT 規則,將流量從前端埠轉發到特定的後端虛擬機。

圖:輸入 NAT 規則

輸出規則

出站規則會針對後端集區所識別的所有虛擬機器或執行個體,設定出站網路位址轉譯(NAT)。 透過此規則,後端實例可以與網際網路或其他端點進行(外發)通訊。

深入了解傳出連線與規則

Basic Load Balancer(已淘汰)不支援輸出規則。

外站規則配置圖截圖,顯示後端池實例的 NAT 轉換。

圖:傳出規則

限制

  • 了解負載平衡 器的限制
  • Load Balancer 針對特定 TCP 或 UDP 通訊協定提供負載平衡與連接埠轉送。 負載平衡規則和入站 NAT 規則不支援其他 IP 協定,包括 ICMP,除了內部的 Standard Load Balancer 在啟用 HA 埠時支援 ICMP 流量。 更多資訊請參閱 HA 埠口概覽
  • Load Balancer 後端集區不能由私人端點組成。
  • 從後端 VM 傳出到內部負載平衡器前端的流量會失敗。
  • 負載平衡規則無法跨越兩個虛擬網路。 所有負載平衡器前端與其後端執行個體都必須位於單一虛擬網路中。
  • 負載平衡規則不支援轉發 IP 片段。 負載平衡規則不支援 UDP 和 TCP 封包的 IP 分段。
  • 每個可用性集合只能有一個公共負載平衡器(基於 NIC)和一個內部負載平衡器(基於 NIC)。 不過,此限制不適用於 IP 型負載平衡器。

後續步驟