Azure Load Balancer 分配模式

Azure Load Balancer 支援將連線路由傳送至後端集區中執行個體的下列分配模式:

分配模式 雜湊式 工作階段持續性:用戶端 IP 工作階段持續性:用戶端 IP 和通訊協定
概觀 來自相同用戶端 IP 的流量會路由傳送至後端集區中任何狀況良好的執行個體 來自相同用戶端 IP 的流量會路由傳送至相同的後端執行個體 來自相同用戶端 IP 和通訊協定的流量會路由傳送至相同的後端執行個體
元組 五元組 二元組 三元組
Azure 入口網站設定 工作階段持續性: 工作階段持續性:用戶端 IP 工作階段持續性:用戶端 IP 和通訊協定
REST API "loadDistribution":"Default" "loadDistribution":SourceIP "loadDistribution":SourceIPProtocol

在負載平衡器上從某種分配模式切換至另一種分配模式時,不會有停機時間。

雜湊式

Azure Load Balancer 預設會使用五元組雜湊型分配模式。

五元組由下列各項組成:

  • 來源 IP
  • 來源連接埠
  • 目的地 IP
  • 目的地連接埠
  • 通訊協定類型

雜湊用來將流量路由傳送至後端集區內狀況良好的後端執行個體。 此演算法只有在傳輸工作階段內才提供綁定。 用戶端從相同的來源 IP 啟動新的工作階段時,來源連接埠就會變更,進而導致流量進入不同的後端執行個體。 若要設定雜湊式分配,您必須在 Azure 入口網站中,將工作階段持續性選取為 [無]。 這會指定任何虛擬機器都可以處理來自相同用戶端的後續要求。

Hash-based distribution

圖:預設 5 元組雜湊型分配

工作階段持續性

工作階段持續性也稱為工作階段親和性、來源 IP 親和性或用戶端 IP 親和性。 此分配模式會使用二元組 (來源 IP 和目的地 IP) 或三元組 (來源 IP、目的地 IP 及通訊協定類型) 雜湊來路由傳送至後端執行個體。 使用工作階段持續性時,來自相同用戶端的連線會進入後端集區內的相同後端執行個體。

工作階段持續性模式有兩種設定類型:

  • 用戶端 IP (2 元組) - 指定相同的後端執行個體會處理來自相同用戶端 IP 位址的後續要求。
  • 用戶端 IP 和通訊協定 (3 元組) - 指定相同的後端執行個體會處理來自相同用戶端 IP 位址和通訊協定組合的後續要求。

下圖說明一個二元組設定。 請注意二元組如何經由負載平衡器前往虛擬機器 1 (VM1)。 VM1 是由 VM2 和 VM3 備份。

Two-tuple session affinity distribution mode

使用案例

具有用戶端 IP 和通訊協定 (來源 IP 親和性三元組) 的來源 IP 親和性,可解決 Azure Load Balancer 與遠端桌面閘道 (RD 閘道) 之間的不相容性。

另一個使用案例是媒體上傳。 這會透過 UDP 來上傳資料,但會透過 TCP 來存取控制層:

  • 用戶端對負載平衡公用位址啟動 TCP 工作階段,然後被導向至特定 DIP。 通道會保持作用中來監視連線健康情況。
  • 相同的用戶端電腦對相同的負載平衡公用端點啟動新的 UDP 工作階段。 該連線會被導向到與先前 TCP 連線相同的 DIP 端點。 媒體上傳既能以高輸送量的方式執行,同時又可透過 TCP.維護控制通道。

注意

Load Balancer 後端集區成員因移除或新增虛擬機器而變更時,就會重新計算用戶端要求的分配。 您無法確定來自現有用戶端的新連線最後都會抵達相同的伺服器。 此外,使用來源 IP 親和性分配模式可能會導致流量的分配不平均。 在 Proxy 後方執行的用戶端可能會被視為一個獨特的用戶端應用程式。

下一步

如需如何設定 Azure Load Balancer 分配模式的詳細資訊,請參閱設定 Azure Load Balancer 的分配模式