設定公用負載平衡器

已完成

身為醫療保健入口網站的解決方案架構設計人員,您必須透過 Web 伺服陣列中的虛擬機器來分散用戶端瀏覽器的負載。 您必須設定負載平衡器,並設定要平衡的虛擬機器。

公用負載平衡器會將連入流量之公用 IP 位址和連接埠號碼對應至後端集區中虛擬機器的私人 IP 位址和連接埠號碼。 然後將回應傳回用戶端。 藉由套用負載平衡規則,即可將特定類型的流量分散至多部虛擬機器或多項服務。

分散模式

根據預設,Azure Load Balancer 會將網路流量平均分散到多個虛擬機器執行個體。 如果需要不同的行為,也可能使用下列分散模式:

  • 五 Tuple 雜湊。 Load Balancer 的預設分散模式是五 Tuple 雜湊。 此元組由來源 IP、來源連接埠、目的地 IP、目的地連接埠及通訊協定類型所組成。 因為來源連接埠包含在雜湊中,而每個工作階段的來源連接埠都會變更,所以針對每個工作階段,用戶端可能會被導向至不同的虛擬機器。

    顯示雜湊式分散如何運作的螢幕擷取畫面。

  • 來源 IP 同質性。 此分散模式也稱為「工作階段同質性」或「用戶端 IP 同質性」。 為了將流量對應至可用的伺服器,來源 IP 親和性模式會使用雙元組雜湊 (來自來源 IP 位址和目的地 IP 位址) 或三元組雜湊 (來自來源 IP 位址、目的地 IP 位址和通訊協定類型)。 雜湊可確保來自特定用戶端的要求一律會傳送到負載平衡器後方的相同虛擬機器。

    顯示工作階段親和性運作方式的螢幕擷取畫面。

選擇分散模式

在醫療保健入口網站範例中,假設展示層的開發人員需求是在使用者與入口網站互動時,使用記憶體內部工作階段來儲存登入使用者的設定檔。

在此案例中,負載平衡器必須提供來源 IP 同質性,以維護使用者工作階段。 此設定檔只儲存在用戶端第一次連線的虛擬機器上,因為該 IP 位址會導向至相同的伺服器。 當您建立負載平衡器端點時,您必須使用下列 PowerShell 範例來指定分散模式:

$lb = Get-AzLoadBalancer -Name MyLb -ResourceGroupName MyResourceGroup
$lb.LoadBalancingRules[0].LoadDistribution = 'sourceIp'
Set-AzLoadBalancer -LoadBalancer $lb

透過 Azure 入口網站新增工作階段持續性:

  1. 在 Azure 入口網站中,開啟 Load Balancer 資源。
  2. 編輯與負載平衡規則相關的行。
  3. 將 [工作階段持續性] 的值變更為 [用戶端 IP]。

顯示如何在 Azure 入口網站中設定 IP 親和性的螢幕擷取畫面。

Load Balancer 與遠端桌面閘道

遠端桌面閘道是 Windows 服務,您可用它來讓網際網路上的用戶端,透過防火牆建立您私人網路遠端桌面伺服器的遠端桌面通訊協定 (RDP) 連線。 Load Balancer 中的預設 5 Tuple 雜湊與此服務不相容。 如果想要使用 Load Balancer 搭配您的遠端桌面伺服器,請使用來源 IP 同質性。

Azure Load Balancer 與媒體上傳

另一個來源 IP 同質性使用案例是媒體上傳。 在許多實作中,用戶端會透過 TCP 通訊協定起始工作階段,並連線到目的地 IP 位址。 此連線在整個上傳期間會保持開啟狀態以監視進度,但檔案是透過不同的 UDP 通訊協定上傳。

使用五 Tuple 雜湊時,負載平衡器可能會將 TCP 和 UDP 連線傳送至不同的目的地 IP 位址,因此上傳無法順利完成。 使用來源 IP 同質性來解決此問題。