Tutorial: Criar um Balanceador de Carga do Azure entre regiões usando o Azure PowerShell
Um balanceador de carga entre regiões garante que um serviço esteja disponível globalmente em várias regiões do Azure. Se uma região falhar, o tráfego será roteado para o próximo balanceador de carga regional saudável mais próximo.
Neste tutorial, irá aprender a:
- Crie um balanceador de carga entre regiões.
- Crie uma regra de balanceador de carga.
- Crie um pool de back-end contendo dois balanceadores de carga regionais.
- Teste o balanceador de carga.
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
- Uma subscrição do Azure.
- Dois Balanceadores de Carga do Azure de sku padrão com pools de back-end implantados em duas regiões diferentes do Azure.
- Para obter informações sobre como criar um balanceador de carga padrão regional e máquinas virtuais para pools de back-end, consulte Guia de início rápido: criar um balanceador de carga público para balancear a carga de VMs usando o Azure PowerShell.
- Anexe o nome dos balanceadores de carga e máquinas virtuais em cada região com - R1 e -R2.
- Para obter informações sobre como criar um balanceador de carga padrão regional e máquinas virtuais para pools de back-end, consulte Guia de início rápido: criar um balanceador de carga público para balancear a carga de VMs usando o Azure PowerShell.
- Azure PowerShell instalado localmente ou Azure Cloud Shell.
Se optar por instalar e utilizar o PowerShell localmente, este artigo requer a versão 5.4.1 ou posterior do módulo Azure PowerShell. Execute Get-Module -ListAvailable Az
para localizar a versão instalada. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se você estiver executando o PowerShell localmente, também precisará executar Connect-AzAccount
para criar uma conexão com o Azure.
Criar balanceador de carga entre regiões
Criar um grupo de recursos
Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.
Crie um grupo de recursos com New-AzResourceGroup.
$rg = @{
Name = 'MyResourceGroupLB-CR'
Location = 'westus'
}
New-AzResourceGroup @rg
Criar recursos de balanceador de carga entre regiões
Nesta seção, você criará os recursos necessários para o balanceador de carga entre regiões.
Um IP público de sku padrão global é usado para o frontend do balanceador de carga entre regiões.
Use New-AzPublicIpAddress para criar o endereço IP público.
Crie uma configuração de IP frontend com New-AzLoadBalancerFrontendIpConfig.
Crie um pool de endereços de back-end com New-AzLoadBalancerBackendAddressPoolConfig.
Crie uma regra de balanceador de carga com Add-AzLoadBalancerRuleConfig.
Crie um balanceador de carga entre regiões com 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`
Configurar pool de back-end
Nesta seção, você adicionará dois balanceadores de carga padrão regionais ao pool de back-end do balanceador de carga entre regiões.
Importante
Para concluir essas etapas, verifique se dois balanceadores de carga regionais com pools de back-end foram implantados em sua assinatura. Para obter mais informações, consulte Guia de início rápido: criar um balanceador de carga público para balancear a carga de VMs usando o Azure PowerShell.
Use Get-AzLoadBalancer e Get-AzLoadBalancerFrontendIpConfig para armazenar as informações do balanceador de carga regional em variáveis.
Use New-AzLoadBalancerBackendAddressConfig para criar a configuração do pool de endereços de back-end para o balanceador de carga.
Use Set-AzLoadBalancerBackendAddressPool para adicionar o front-end do balanceador de carga regional ao pool de back-end entre regiões.
## 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
Testar o balanceador de carga
Nesta seção, você testará o balanceador de carga entre regiões. Você se conectará ao endereço IP público em um navegador da Web. Você interromperá as máquinas virtuais em um dos pools de back-end do balanceador de carga regional e observará o failover.
- Use Get-AzPublicIpAddress para obter o endereço IP público do balanceador de carga:
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'myResourceGroupLB-CR'
}
Get-AzPublicIPAddress @ip | select IpAddress
Copie o endereço IP público e cole-o na barra de endereço do browser. A página predefinida do servidor Web do IIS é apresentada no browser.
Pare as máquinas virtuais no pool de back-end de um dos balanceadores de carga regionais.
Atualize o navegador da Web e observe o failover da conexão com o outro balanceador de carga regional.
Clean up resources (Limpar recursos)
Quando não for mais necessário, você poderá usar o comando Remove-AzResourceGroup para remover o grupo de recursos, o balanceador de carga e os recursos restantes.
Remove-AzResourceGroup -Name 'myResourceGroupLB-CR'
Próximos passos
Neste tutorial:
- Criou um endereço IP global.
- Criou um balanceador de carga entre regiões.
- Criada uma regra de balanceamento de carga.
- Adicionados balanceadores de carga regionais ao pool de back-end do balanceador de carga entre regiões.
- Testou o balanceador de carga.
Avance para o próximo artigo para saber como...