教學課程:使用 Azure PowerShell 建立跨區域 Azure Load Balancer
跨區域負載平衡器可確保服務可跨多個 Azure 區域全域使用。 如果一個區域失敗,流量會路由至下一個最接近狀況良好的區域負載平衡器。
在本教學課程中,您會了解如何:
- 建立跨區域負載平衡器。
- 建立負載平衡器規則。
- 建立包含兩個區域負載平衡器的後端集區。
- 測試負載平衡器。
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶 。
必要條件
- Azure 訂用帳戶。
- 兩個 標準 SKU Azure 負載平衡器,其後端集區部署在兩個不同的 Azure 區域中。
- 如需針對後端集區建立區域標準負載平衡器和虛擬機器的相關資訊,請參閱快速入門:使用 Azure PowerShell 建立公用負載平衡器以平衡 VM 的負載。
- 在每個區域的負載平衡器和虛擬機器名稱後面加上 -R1 和 -R2。
- 如需針對後端集區建立區域標準負載平衡器和虛擬機器的相關資訊,請參閱快速入門:使用 Azure PowerShell 建立公用負載平衡器以平衡 VM 的負載。
- 已在本地安裝 Azure PowerShell 或 Azure Cloud Shell。
如果您選擇在本機安裝和使用 PowerShell,本文會要求使用 Azure PowerShell 模組版本 5.4.1 或更新版本。 執行 Get-Module -ListAvailable Az
以尋找安裝的版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組。 如果正在本機執行 PowerShell,也需要執行 Connect-AzAccount
,以建立與 Azure 的連線。
建立跨區域負載平衡器
建立資源群組
Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。
使用 New-AzResourceGroup 來建立資源群組。
$rg = @{
Name = 'MyResourceGroupLB-CR'
Location = 'westus'
}
New-AzResourceGroup @rg
建立跨區域負載平衡器 - 資源
在本節中,您將建立跨區域負載平衡器所需的資源。
全域標準 SKU 公用 IP 用於跨區域負載平衡器的前端。
使用 New-AzPublicIpAddress 建立公用 IP 位址。
使用 New-AzLoadBalancerFrontendIpConfig 建立前端 IP 設定。
使用 New-AzLoadBalancerBackendAddressPoolConfig 建立後端位址集區。
使用 Add-AzLoadBalancerRuleConfig 建立負載平衡器規則。
使用 New-AzLoadBalancer 建立跨區域負載平衡器。
`## 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`
設定後端集區
在本節中,您會在跨區域負載平衡器的後端集區中新增兩個區域標準負載平衡器。
重要
若要完成這些步驟,請確定已在您的訂用帳戶中部署兩個具有後端集區的區域負載平衡器。 如需詳細資訊,請參閱快速入門:使用 Azure PowerShell 建立公用負載平衡器以平衡 VM 的負載。
使用 Get-AzLoadBalancer 和 Get-AzLoadBalancerFrontendIpConfig,將區域負載平衡器資訊儲存在變數中。
使用 New-AzLoadBalancerBackendAddressConfig 來建立負載平衡器的後端位址集區設定。
使用 Set-AzLoadBalancerBackendAddressPool 將區域負載平衡器前端新增至跨區域後端集區。
## 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 位址。 您將停止其中一個區域性負載平衡器後端集區中的虛擬機器,並觀察容錯移轉的狀態。
- 使用 Get-AzPublicIpAddress 取得負載平衡器的公用 IP 位址:
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'myResourceGroupLB-CR'
}
Get-AzPublicIPAddress @ip | select IpAddress
將公用 IP 位址複製並貼到您瀏覽器的網址列。 IIS Web 伺服器的預設頁面會顯示在瀏覽器上。
停止其中一個區域性負載平衡器後端集區中的虛擬機器。
重新整理網頁瀏覽器,並觀察與其他區域負載平衡器連線的容錯移轉狀態。
清除資源
當不再需要時,您可以使用 Remove-AzResourceGroup 命令來移除資源群組、負載平衡器和其餘資源。
Remove-AzResourceGroup -Name 'myResourceGroupLB-CR'
下一步
在本教學課程中,您已:
- 建立全域 IP 位址。
- 已建立跨區域負載平衡器。
- 建立了負載平衡規則。
- 已在跨區域負載平衡器的後端集區中新增了區域性負載平衡器。
- 測試了負載平衡器。
請前往下一篇文章以了解如何...