Um balanceador de carga global 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, aprenderás como:
- Crie um balanceador de carga global.
- Crie um pool de back-end contendo dois balanceadores de carga regionais.
- Crie uma regra de balanceador de carga.
- Teste o balanceador de carga.
Você pode usar o portal do Azure, a CLI do Azure ou o Azure PowerShell para concluir este tutorial.
Prerequisites
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Dois balanceadores de carga SKU padrão do Azure com pools de apoio implantados em duas regiões diferentes do Azure.
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Dois balanceadores de carga SKU padrão do Azure com pools de apoio implantados em duas regiões diferentes do Azure.
- CLI do Azure instalada localmente ou Azure Cloud Shell.
Se você optar por instalar e usar a CLI localmente, esse início rápido exigirá a CLI do Azure versão 2.0.28 ou posterior. Para localizar a versão, execute az --version. Se precisar de instalar ou atualizar, veja Instalar a CLI do Azure. Ao executar a CLI do Azure localmente, você precisará entrar com az login para criar uma conexão com o Azure.
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Dois balanceadores de carga SKU padrão do Azure com pools de apoio implantados em duas regiões diferentes do Azure.
- 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 você precisar atualizar, consulte 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 global
Nesta seção, você cria um balanceador de carga global com um endereço IP público, uma configuração de IP de front-end, um pool de back-end com balanceadores de carga de região adicionados e uma regra de balanceador de carga.
Criar o recurso do balanceador de carga e outros recursos
Inicie sessão no portal do Azure.
Na caixa de pesquisa na parte superior do portal, digite Balanceador de carga. Selecione Balanceador de carga nos resultados da pesquisa.
Na página Balanceador de carga, selecione Criar.
Na guia Noções básicas da página Criar balanceador de carga, insira ou selecione as seguintes informações:
| Setting |
Value |
|
Detalhes do projeto |
|
| Subscription |
Selecione a sua subscrição. |
| Grupo de recursos |
Selecione Criar novo e digite CreateCRLBTutorial-rg na caixa de texto. |
|
Detalhes da instância |
|
| Name |
Digite myLoadBalancer-cr |
| Region |
Selecione (EUA) Leste dos EUA. |
| Tipo |
Selecione Público. |
| SKU |
Deixe o valor predefinido de Padrão. |
| Tier |
Selecione Global |
Selecione Next: Frontend IP configuration na parte inferior da página.
Em Configuração de IP de frontend, selecione + Adicionar um IP de frontend.
Digite LoadBalancerFrontend em Name em Adicionar endereço IP frontend.
Selecione IPv4 ou IPv6 para a versão IP.
Em Endereço IP público, selecione Criar novo. Digite myPublicIP-cr em Name. Selecione Salvar para a caixa de diálogo Adicionar endereço IP público.
Selecione Guardar.
Selecione Next: Backend pools na parte inferior da página.
Em Pools de back-end, selecione + Adicionar pool de back-end.
Insira myBackendPool-cr em Nome em Adicionar pool de backend.
Em Balanceadores de carga, selecione myLoadBalancer-r1 ou seu primeiro balanceador de carga regional na caixa suspensa Balanceador de carga . Verifique se a configuração de IP Frontend e o endereço IP correspondem a myLoadBalancer-r1.
Selecione myLoadBalancer-r2 ou o seu segundo balanceador de carga regional na caixa suspensa balanceador de carga. Verifique se a configuração de IP Frontend e o endereço IP correspondem a myLoadBalancer-r2.
Selecione Adicionar.
Selecione Next: Inbound rules na parte inferior da página.
Em Regras de Entrada, selecione + Adicionar uma regra de balanceamento de carga.
Em Adicionar regra de balanceamento de carga, insira ou selecione as seguintes informações:
| Setting |
Value |
| Name |
Digite myHTTPRule-cr. |
| Versão do IP |
Selecione IPv4 ou IPv6 para Versão IP. |
| Endereço IP de Frontend |
Selecione LoadBalancerFrontend. |
| Protocol |
Selecione TCP. |
| Port |
Digite 80. |
| Grupo de servidores back-end |
Selecione myBackendPool-cr. |
| Persistência da sessão |
Selecione Nenhum. |
| Tempo limite de inatividade (minutos) |
Insira ou mova o controle deslizante para 15. |
| Redefinição de TCP |
Selecione Ativado. |
| IP Flutuante |
Deixe como padrão Desativado. |
Selecione Adicionar.
Selecione Revisar + criar no fundo da página.
Selecione Criar na guia Revisão + criação.
Note
A implantação do balanceador de carga entre regiões é listada para regiões domésticas específicas do Azure. Para obter a lista atual, consulte Regiões principais no Azure para o balanceador de carga inter-regiões.
Criar um grupo de recursos
Um grupo de recursos do Azure é um contêiner lógico no qual recursos do Azure são implantados e geridos.
Crie um grupo de recursos com az group create:
- Com o nome myResourceGroupLB-CR.
- Na localização westus .
az group create \
--name myResourceGroupLB-CR \
--location westus
Criar o recurso de balanceador de carga global
Crie um balanceador de carga global executando o comando az network cross-region-lb create:
- Nomeado myLoadBalancer-CR.
- Um pool de front-end chamado myFrontEnd-CR.
- Um pool de back-end chamado 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
Criar a regra do balanceador de carga
Uma regra de balanceador de carga define:
- Configuração de IP frontend para o tráfego de entrada.
- O grupo de endereços IP do back-end para receber o tráfego.
- A porta de origem e a porta de destino requeridas.
Criar uma regra para balanceador de carga com az network cross-region-lb rule create
- Nomeado myHTTPRule-CR
- Escutando na porta 80 no pool de frontend myFrontEnd-CR.
- Envio de tráfego de rede com balanceamento de carga para o pool de endereços de back-end myBackEndPool-CR usando a porta 80.
- Protocolo 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
Criar pool de back-end
Nesta seção, você adiciona dois balanceadores de carga padrão regionais ao pool de back-end do balanceador de carga global.
Adicionar os frontends regionais ao balanceador de carga
Nesta seção, você coloca as IDs de recursos de dois frontends de balanceadores de carga regionais em variáveis e, em seguida, usa as variáveis para adicionar os frontends ao pool de endereços de back-end do balanceador de carga global.
Recupere os IDs do recurso com az network lb frontend-ip show.
Use az network cross-region-lb address-pool address add para adicionar os frontends que você colocou em variáveis no pool de back-end do balanceador de carga global:
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
Criar um grupo de recursos
Um grupo de recursos do Azure é um contêiner lógico no qual recursos do Azure são implantados 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 global
Nesta seção, você cria os recursos necessários para o balanceador de carga global.
Um IP público de sku padrão global é usado para o frontend do balanceador de carga global.
`## 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 global 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`
Nesta seção, você adiciona dois balanceadores de carga padrão regionais ao pool de back-end do balanceador de carga global.
## 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 global backend address pool configuration for region 1 ##
$region1ap = @{
Name = 'MyBackendPoolConfig-R1'
LoadBalancerFrontendIPConfigurationId = $R1FE.Id
}
$beaddressconfigR1 = New-AzLoadBalancerBackendAddressConfig @region1ap
## Create the global 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 global 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ê testa o balanceador de carga global. Você se conecta ao endereço IP público em um navegador da Web. Você interrompe as máquinas virtuais em um dos pools de back-end do balanceador de carga regional e observa o failover.
Localize o endereço IP público do balanceador de carga no ecrã Descrição geral. Selecione Todos os serviços no menu à esquerda, selecione Todos os recursos e, em seguida, selecione myPublicIP-cr.
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.
Nesta seção, você testa o balanceador de carga global. Você se conecta ao endereço IP público em um navegador da Web. Você interrompe as máquinas virtuais em um dos pools de back-end do balanceador de carga regional e observa o failover.
Para obter o endereço IP público do balanceador de carga, use az network public-ip show:
az network public-ip show \
--resource-group myResourceGroupLB-CR \
--name PublicIPmyLoadBalancer-CR \
--query ipAddress \
--output tsv
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.
Nesta seção, você testa o balanceador de carga global. Você se conecta ao endereço IP público em um navegador da Web. Você interrompe as máquinas virtuais em um dos pools de back-end do balanceador de carga regional e observa 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.
Limpeza de recursos
Quando já não for necessário, elimine o grupo de recursos, o balanceador de carga e todos os recursos relacionados.
Para fazer isso, selecione o grupo de recursos CreateCRLBTutorial-rg que contém os recursos e, em seguida, selecione Excluir.
Quando não for mais necessário, use o comando az group delete para remover o grupo de recursos, o balanceador de carga e todos os recursos relacionados.
az group delete \
--name myResourceGroupLB-CR
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, você:
- Criou um balanceador de carga global.
- Foram adicionados balanceadores de carga regionais ao pool de backend do balanceador de carga global.
- Criada uma regra de balanceamento de carga.
- Testou o balanceador de carga.
Para obter mais informações sobre o balanceador de carga global, consulte: