教學課程:建立跨區域 Azure Load Balancer
本文內容
跨區域負載平衡器可確保服務可跨多個 Azure 區域全域使用。 如果一個區域失敗,流量會路由至下一個最接近狀況良好的區域負載平衡器。
在本教學課程中,您會了解如何:
建立跨區域負載平衡器。
建立包含兩個區域負載平衡器的後端集區。
建立負載平衡器規則。
測試負載平衡器。
您可以使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 來完成本教學課程。
必要條件
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶 。
兩個 標準 SKU Azure 負載平衡器,其後端集區部署在兩個不同的 Azure 區域中。
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶 。
兩個 標準 SKU Azure 負載平衡器,其後端集區部署在兩個不同的 Azure 區域中。
本機安裝的 Azure CLI 或 Azure Cloud Shell。
如果您選擇在本機安裝和使用 CLI,本快速入門需要有 Azure CLI 2.0.28 版或更新版本。 若要尋找版本,請執行 az --version
。 如果您需要安裝或升級,請參閱安裝 Azure CLI 模組 。 在本機執行 Azure CLI 時,您將需要使用 az login
登入,以建立與 Azure 的連線。
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶 。
兩個 標準 SKU Azure 負載平衡器,其後端集區部署在兩個不同的 Azure 區域中。
已在本地安裝 Azure PowerShell 或 Azure Cloud Shell。
如果您選擇在本機安裝和使用 PowerShell,本文會要求使用 Azure PowerShell 模組版本 5.4.1 或更新版本。 執行 Get-Module -ListAvailable Az
以尋找安裝的版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組 。 如果正在本機執行 PowerShell,也需要執行 Connect-AzAccount
,以建立與 Azure 的連線。
建立跨區域負載平衡器
在本節中,您會建立具有公用 IP 位址的跨區域負載平衡器、前端 IP 設定、新增區域負載平衡器的後端集區,以及負載平衡器規則。
建立負載平衡器資源和其他資源
登入 Azure 入口網站。
在入口網站頂端的搜尋方塊中,輸入負載平衡器 。 在搜尋結果中,選取 [負載平衡器] 。
在 [負載平衡器] 頁面中,選取 [建立] 。
在 [建立負載平衡器] 頁面的 [基本] 索引標籤中,輸入或選取下列資訊:
設定
值
專案詳細資料
訂用帳戶
選取您的訂用帳戶。
資源群組
選取 [新建] ,並在文字方塊中輸入 CreateCRLBTutorial-rg 。
[執行個體詳細資料]
名稱
輸入 myLoadBalancer-cr
區域
選取 [(美國) 美國東部] 。
類型
選取 [公用] 。
SKU
保留預設值 [標準] 。
層
選取 [全域]
在頁面底端選取 [下一步:前端 IP 設定 ]。
在 [前端 IP 設定] 中,選取 [+ 新增前端 IP] 。
在 [新增前端 IP 位址] 的 [名稱] 中輸入 [LoadBalancerFrontend] 。
選取 [IPv4] 或 [IPv6] 作為 [IP 版本] 。
在 [公用 IP 位址] 中,選取 [新建] 。 在 [名稱] 中輸入 myPublicIP-cr 。 針對 [新增公用 IP 位址] 對話方塊選取 [儲存] 。
選取 [儲存]。
選取頁面底部的 [下一步:後端集區 ]。
在 [後端集區] 中,選取 [+ 新增後端集區] 。
在 [新增後端集區] 的 [名稱] 中輸入 myBackendPool-cr 。
在 [負載平衡器] 中,於 [負載平衡器] 下拉式方塊中選取 [myLoadBalancer-r1] ,或您的第一個區域負載平衡器。 驗證前端 IP 設定和 IP 位址 是否對應至 myLoadBalancer-r1 。
在 [負載平衡器] 下拉式方塊中,選取 [myLoadBalancer-r2] 或您的第二個區域負載平衡器。 驗證前端 IP 設定和 IP 位址 是否對應至 myLoadBalancer-r2 。
選取 [新增]。
選取頁面底部的 [下一步:輸入規則] 。
在 [輸入規則] 中,選取 [+ 新增負載平衡規則] 。
在 [新增負載平衡規則 ] 中輸入或選取以下資訊:
設定
值
名稱
輸入 myHTTPRule-cr 。
IP 版本
選取 [IPv4] 或 [IPv6] 作為 [IP 版本] 。
前端 IP 位址
選取 [LoadBalancerFrontEnd ]。
通訊協定
選取 [TCP]。
連接埠
輸入 80 。
後端集區
選取 [myBackendPool-cr] 。
工作階段持續性
選取 [無]。
閒置逾時 (分鐘)
輸入或將滑桿移至 15 。
TCP 重設
選取 [啟用] 。
浮動 IP
保留預設值 [停用] 。
選取 [新增]。
選取頁面底部的 [檢閱 + 建立] 。
在 [檢閱 + 建立] 索引標籤中,選取 [建立] 。
注意
跨區域負載平衡器部署會列在特定的主 Azure 區域。 如需目前的清單,請參閱 Azure 中跨區域負載平衡器的主區域 。
建立資源群組
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
建立後端集區
在本節中,您會在跨區域負載平衡器的後端集區中新增兩個區域標準負載平衡器。
將區域前端新增至負載平衡器
在本節中,您會將兩個區域負載平衡器前端的資源識別碼放入變數中,然後使用變數將前端新增至跨區域負載平衡器的後端位址集區。
使用 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
建立資源群組
Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。
使用 New-AzResourceGroup 來建立資源群組。
$rg = @{
Name = 'MyResourceGroupLB-CR'
Location = 'westus'
}
New-AzResourceGroup @rg
建立跨區域負載平衡器 - 資源
在本節中,您會建立跨區域負載平衡器所需的資源。
全域標準 SKU 公用 IP 用於跨區域負載平衡器的前端。
`## Create global IP address for load balancer ##
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'MyResourceGroupLB-CR'
Location = 'westus'
Sku = 'Standard'
Tier = 'Global'
AllocationMethod = 'Static'
}
$publicIP = New-AzPublicIpAddress @ip
## Create frontend configuration ##
$fe = @{
Name = 'myFrontEnd-CR'
PublicIpAddress = $publicIP
}
$feip = New-AzLoadBalancerFrontendIpConfig @fe
## Create backend address pool ##
$be = @{
Name = 'myBackEndPool-CR'
}
$bepool = New-AzLoadBalancerBackendAddressPoolConfig @be
## Create the load balancer rule ##
$rul = @{
Name = 'myHTTPRule-CR'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
}
$rule = New-AzLoadBalancerRuleConfig @rul
## Create cross-region load balancer resource ##
$lbp = @{
ResourceGroupName = 'myResourceGroupLB-CR'
Name = 'myLoadBalancer-CR'
Location = 'westus'
Sku = 'Standard'
Tier = 'Global'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
LoadBalancingRule = $rule
}
$lb = New-AzLoadBalancer @lbp`
在本節中,您會在跨區域負載平衡器的後端集區中新增兩個區域標準負載平衡器。
## Place the region one load balancer configuration in a variable ##
$region1 = @{
Name = 'myLoadBalancer-R1'
ResourceGroupName = 'CreatePubLBQS-rg-r1'
}
$R1 = Get-AzLoadBalancer @region1
## Place the region two load balancer configuration in a variable ##
$region2 = @{
Name = 'myLoadBalancer-R2'
ResourceGroupName = 'CreatePubLBQS-rg-r2'
}
$R2 = Get-AzLoadBalancer @region2
## Place the region one load balancer frontend configuration in a variable ##
$region1fe = @{
Name = 'MyFrontEnd-R1'
LoadBalancer = $R1
}
$R1FE = Get-AzLoadBalancerFrontendIpConfig @region1fe
## Place the region two load balancer frontend configuration in a variable ##
$region2fe = @{
Name = 'MyFrontEnd-R2'
LoadBalancer = $R2
}
$R2FE = Get-AzLoadBalancerFrontendIpConfig @region2fe
## Create the cross-region backend address pool configuration for region 1 ##
$region1ap = @{
Name = 'MyBackendPoolConfig-R1'
LoadBalancerFrontendIPConfigurationId = $R1FE.Id
}
$beaddressconfigR1 = New-AzLoadBalancerBackendAddressConfig @region1ap
## Create the cross-region backend address pool configuration for region 2 ##
$region2ap = @{
Name = 'MyBackendPoolConfig-R2'
LoadBalancerFrontendIPConfigurationId = $R2FE.Id
}
$beaddressconfigR2 = New-AzLoadBalancerBackendAddressConfig @region2ap
## Apply the backend address pool configuration for the cross-region load balancer ##
$bepoolcr = @{
ResourceGroupName = 'myResourceGroupLB-CR'
LoadBalancerName = 'myLoadBalancer-CR'
Name = 'myBackEndPool-CR'
LoadBalancerBackendAddress = $beaddressconfigR1,$beaddressconfigR2
}
Set-AzLoadBalancerBackendAddressPool @bepoolcr
測試負載平衡器
在本節中,您會測試跨區域負載平衡器。 您會在 Web 瀏覽器中連線到公用 IP 位址。 您將停止其中一個區域性負載平衡器後端集區中的虛擬機器,並觀察容錯移轉的狀態。
在 [概觀] 畫面上尋找負載平衡器的公用 IP 位址。 選取左側功能表中的 [所有服務] 、選取 [所有資源] ,然後選取 [myPublicIP-cr] 。
將公用 IP 位址複製並貼到您瀏覽器的網址列。 IIS Web 伺服器的預設頁面會顯示在瀏覽器上。
停止其中一個區域性負載平衡器後端集區中的虛擬機器。
重新整理網頁瀏覽器,並觀察與其他區域負載平衡器連線的容錯移轉狀態。
在本節中,您會測試跨區域負載平衡器。 您會在 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 伺服器的預設頁面會顯示在瀏覽器上。
停止其中一個區域性負載平衡器後端集區中的虛擬機器。
重新整理網頁瀏覽器,並觀察與其他區域負載平衡器連線的容錯移轉狀態。
在本節中,您會測試跨區域負載平衡器。 您會在 Web 瀏覽器中連線到公用 IP 位址。 您將停止其中一個區域性負載平衡器後端集區中的虛擬機器,並觀察容錯移轉的狀態。
使用 Get-AzPublicIpAddress 取得負載平衡器的公用 IP 位址:
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'myResourceGroupLB-CR'
}
Get-AzPublicIPAddress @ip | select IpAddress
將公用 IP 位址複製並貼到您瀏覽器的網址列。 IIS Web 伺服器的預設頁面會顯示在瀏覽器上。
停止其中一個區域性負載平衡器後端集區中的虛擬機器。
重新整理網頁瀏覽器,並觀察與其他區域負載平衡器連線的容錯移轉狀態。
清除資源
若不再需要,可刪除資源群組、負載平衡器和所有相關資源。
若要這樣做,請選取包含資源的資源群組 CreateCRLBTutorial-rg ,然後選取 [刪除] 。
若不再需要,使用 az group delete 命令來移除資源群組、負載平衡器和所有相關資源。
az group delete \
--name myResourceGroupLB-CR
下一步
在本教學課程中,您已:
已建立跨區域負載平衡器。
已在跨區域負載平衡器的後端集區中新增了區域性負載平衡器。
建立了負載平衡規則。
測試了負載平衡器。
如需跨區域負載平衡器的詳細資訊,請參閱: