教學課程:使用 Azure CLI 建立跨區域 Azure Load Balancer
跨區域負載平衡器可確保服務可跨多個 Azure 區域全域使用。 如果一個區域失敗,流量會路由至下一個最接近狀況良好的區域負載平衡器。
在本教學課程中,您會了解如何:
- 建立跨區域負載平衡器。
- 建立負載平衡器規則。
- 建立包含兩個區域負載平衡器的後端集區。
- 測試負載平衡器。
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶 。
必要條件
- Azure 訂用帳戶。
- 兩個 標準 SKU Azure 負載平衡器,其後端集區部署在兩個不同的 Azure 區域中。
- 如需針對後端集區建立區域標準負載平衡器和虛擬機器的相關資訊,請參閱快速入門:使用 Azure CLI 建立公用負載平衡器以平衡 VM 的負載。
- 在每個區域的負載平衡器和虛擬機器名稱後面加上 -R1 和 -R2。
- 如需針對後端集區建立區域標準負載平衡器和虛擬機器的相關資訊,請參閱快速入門:使用 Azure CLI 建立公用負載平衡器以平衡 VM 的負載。
- 本機安裝的 Azure CLI 或 Azure Cloud Shell。
如果您選擇在本機安裝和使用 CLI,本快速入門需要有 Azure CLI 2.0.28 版或更新版本。 若要尋找版本,請執行 az --version
。 如果您需要安裝或升級,請參閱安裝 Azure CLI 模組。
登入 Azure CLI
登入 Azure CLI:
az login
設定資源變數
建立跨區域負載平衡器
在本節中,您將建立跨區域負載平衡器、公用 IP 位址和負載平衡規則。
建立資源群組
Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。
使用 az group create 來建立資源群組:
- 名為 myResourceGroupLB-CR。
- 在 westus 位置。
az group create \
--name myResourceGroupLB-CR \
--location westus
建立負載平衡器資源
使用 az network cross-region-lb create 建立跨區域負載平衡器:
- 名為 myLoadBalancer-CR。
- 名為 myFrontEnd-CR 的前端集區。
- 名為 myBackEndPool-CR 的後端集區。
az network cross-region-lb create \
--name myLoadBalancer-CR \
--resource-group myResourceGroupLB-CR \
--frontend-ip-name myFrontEnd-CR \
--backend-pool-name myBackEndPool-CR
建立負載平衡器規則
負載平衡器規則定義:
- 傳入流量的前端 IP 設定。
- 接收流量的後端 IP 集區。
- 所需的來源和目的地連接埠。
使用 az network cross-region-lb rule create 建立負載平衡器規則:
- 名為 myHTTPRule-CR
- 在前端集區 myFrontEnd-CR 中接聽連接埠 80。
- 使用連接埠 80 將負載平衡的網路流量傳送至後端位址集區 myBackEndPool-CR。
- 通訊協定 TCP。
az network cross-region-lb rule create \
--backend-port 80 \
--frontend-port 80 \
--lb-name myLoadBalancer-CR \
--name myHTTPRule-CR \
--protocol tcp \
--resource-group myResourceGroupLB-CR \
--backend-pool-name myBackEndPool-CR \
--frontend-ip-name myFrontEnd-CR
建立後端集區
在本節中,您會在跨區域負載平衡器的後端集區中新增兩個區域標準負載平衡器。
重要
若要完成這些步驟,請確定已在您的訂用帳戶中部署兩個具有後端集區的區域負載平衡器。 如需詳細資訊,請參閱快速入門:使用 Azure CLI 建立公用負載平衡器以平衡 VM 的負載。
將區域前端新增至負載平衡器
在本節中,您會將兩個區域負載平衡器前端的資源識別碼放入變數中。 然後,使用這些變數將前端新增至跨區域負載平衡器的後端位址集區。
使用 az network lb frontend-ip show 來擷取資源識別碼。
使用 az network cross-region-lb address-pool address add,將您放入變數中的前端新增至跨區域負載平衡器的後端集區:
region1id=$(az network lb frontend-ip show \
--lb-name myLoadBalancer-R1 \
--name myFrontEnd-R1 \
--resource-group CreatePubLBQS-rg-r1 \
--query id \
--output tsv)
az network cross-region-lb address-pool address add \
--frontend-ip-address $region1id \
--lb-name myLoadBalancer-CR \
--name myFrontEnd-R1 \
--pool-name myBackEndPool-CR \
--resource-group myResourceGroupLB-CR
region2id=$(az network lb frontend-ip show \
--lb-name myLoadBalancer-R2 \
--name myFrontEnd-R2 \
--resource-group CreatePubLBQS-rg-r2 \
--query id \
--output tsv)
az network cross-region-lb address-pool address add \
--frontend-ip-address $region2id \
--lb-name myLoadBalancer-CR \
--name myFrontEnd-R2 \
--pool-name myBackEndPool-CR \
--resource-group myResourceGroupLB-CR
測試負載平衡器
在本節中,您將測試跨區域負載平衡器。 您會在 Web 瀏覽器中連線到公用 IP 位址。 您將停止其中一個區域性負載平衡器後端集區中的虛擬機器,並觀察容錯移轉的狀態。
若要取得負載平衡器的公用 IP 位址,請使用 az network public-ip show:
az network public-ip show \ --resource-group myResourceGroupLB-CR \ --name PublicIPmyLoadBalancer-CR \ --query ipAddress \ --output tsv
將公用 IP 位址複製並貼到您瀏覽器的網址列。 IIS Web 伺服器的預設頁面會顯示在瀏覽器上。
停止其中一個區域性負載平衡器後端集區中的虛擬機器。
重新整理網頁瀏覽器,並觀察與其他區域負載平衡器連線的容錯移轉狀態。
清除資源
若不再需要,使用 az group delete 命令來移除資源群組、負載平衡器和所有相關資源。
az group delete \
--name myResourceGroupLB-CR
下一步
在本教學課程中,您已:
- 已建立跨區域負載平衡器。
- 建立了負載平衡規則。
- 已在跨區域負載平衡器的後端集區中新增了區域性負載平衡器。
- 測試了負載平衡器。
請前往下一篇文章以了解如何...
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應