Um balanceador de carga global garante a disponibilidade global de um serviço em várias regiões do Azure. Se uma região falhar, o tráfego será roteado para o balanceador de carga regional íntegro mais próximo.
Neste tutorial, você aprenderá a:
- Criar um balanceador de carga global.
- Criar um pool de back-end que contém dois balanceadores de carga regionais.
- Crie uma regra de balanceador de carga.
- Testar o balanceador de carga.
Você pode usar o portal do Azure, a CLI do Azure ou o Azure PowerShell para concluir este tutorial.
Pré-requisitos
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Dois Azure Load Balancers de SKU Standard com pools de back-end 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 Azure Load Balancers de SKU Standard com pools de back-end implantados em duas regiões diferentes do Azure.
- CLI do Azure instalada localmente ou Azure Cloud Shell.
Se você prefere instalar e usar a CLI localmente, este guia de início rápido exige a CLI do Azure versão 2.0.28 ou posterior. Para saber qual é a versão, execute az --version
. Se você precisar instalar ou atualizar, confira 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 Azure Load Balancers de SKU Standard com pools de back-end implantados em duas regiões diferentes do Azure.
- O Azure PowerShell instalado localmente ou o Azure Cloud Shell.
Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute Get-Module -ListAvailable Az
para localizar a versão instalada. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, também precisará executar o Connect-AzAccount
para criar uma conexão com o Azure.
Criar um balanceador de carga global
Nesta seção, você criará 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
Entre no portal do Azure.
Na caixa de pesquisa na parte superior do portal, insira Balanceador de carga. Selecione Balanceador de carga nos resultados da pesquisa.
Na página Balanceador de carga, clique em Criar.
Na guia Informações Básicas da página Criar balanceador de carga, insira ou selecione as seguintes informações:
Configuração |
Valor |
Detalhes do projeto |
|
Subscription |
Selecione sua assinatura. |
Resource group |
Selecione Criar e insira CreateCRLBTutorial-rg na caixa de texto. |
Detalhes da instância |
|
Name |
Insira myLoadBalancer-cr |
Região |
Selecione (EUA) Leste dos EUA. |
Tipo |
Selecione Público. |
SKU |
Deixe o padrão de Standard. |
Camada |
Selecione Global |
Selecione Avançar: Configuração de IP de front-end na parte inferior da página.
Em Configuração de IP de front-end, selecione + Adicionar um IP de front-end.
Insira LoadBalancerFrontend em Nome em Adicionar endereço IP de front-end.
Escolha IPv4 ou IPv6 em Versão de IP.
Em Endereço IP público, selecione Criar. Em Nome, digite myPublicIP-cr. Selecione Salvar na caixa de diálogo Adicionar endereço IP público.
Selecione Salvar.
Escolha Avançar: Pools de back-end na parte inferior da página.
Em Pools de back-end, selecione + Adicionar um pool de back-end.
Em Adicionar um pool de back-end, para Nome, insira myBackendPool-cr.
Em Balanceadores de carga, selecione myLoadBalancer-r1 ou o seu primeiro balanceador de carga regional na caixa suspensa Balanceador de carga. Verifique se a Configuração de IP de front-end e o Endereço IP correspondem a myLoadBalancer-r1.
Na caixa suspensa Balanceador de carga, selecione myLoadBalancer-r2 ou o seu segundo balanceador de carga regional. Verifique se a Configuração de IP de front-end e o Endereço IP correspondem a myLoadBalancer-r2.
Selecione Adicionar.
Selecione Avançar: regras de entrada na parte inferior da página.
Em Regras de entrada, selecione + Adicionar regra de balanceamento de carga.
Em Adicionar regra de balanceamento de carga, insira ou selecione as seguintes informações:
Configuração |
Valor |
Nome |
Insira myHTTPRule-cr. |
Versão IP |
Escolha IPv4 ou IPv6 em Versão de IP. |
Endereço IP de front-end |
Selecione LoadBalancerFrontend. |
Protocolo |
selecione TCP. |
Porta |
Insira 80. |
Pool de back-end |
Selecione myBackendPool-cr. |
Persistência de sessão |
Selecione Nenhum. |
Tempo limite de ociosidade (minutos) |
Insira ou mova o controle deslizante para 15. |
Redefinição de TCP |
Selecione Habilitado. |
IP flutuante |
Mantenha o padrão de Desabilitado. |
Selecione Adicionar.
Selecione Revisar + criar na parte inferior da página.
Selecione Criar na guia Examinar + criar.
Observação
A implantação do balanceador de carga entre regiões está listada para regiões iniciais específicas do Azure. Para obter a lista atual, consulte Regiões iniciais no Azure para o balanceador de carga entre regiões.
Criar um grupo de recursos
Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
Crie um grupo de recursos com az group create:
- Chamado myResourceGroupLB-CR.
- No local westus.
az group create \
--name myResourceGroupLB-CR \
--location westus
Criar o recurso de balanceador de carga global
Crie um balanceador de carga global com az network cross-region-lb create:
- Chamado 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 de balanceador de carga
Uma regra de balanceador de carga define:
- A configuração do IP de front-end para o tráfego de entrada.
- O pool de IPs de back-end para receber o tráfego.
- As portas de origem e de destino necessárias.
Crie uma regra do balanceador de carga com az network cross-region-lb rule create:
- Chamada myHTTPRule-CR
- Escutando na Porta 80 no pool de front-end myFrontEnd-CR.
- Enviando 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ê adicionará dois balanceadores de carga padrão regionais ao pool de back-end do balanceador de carga global.
Adicionar os front-ends regionais ao balanceador de carga
Nesta seção, você colocará as IDs de recurso de dois front-ends de balanceadores de carga regionais em variáveis e, em seguida, usará as variáveis para adicionar os front-ends ao pool de endereços de back-end do balanceador de carga global.
Recupere as IDs de recurso com az network lb frontend-ip show.
Use az network cross-region-lb address-pool address add para adicionar os front-ends 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 os recursos do Azure são implantados e gerenciados.
Crie um grupo de recursos com New-AzResourceGroup.
$rg = @{
Name = 'MyResourceGroupLB-CR'
Location = 'westus'
}
New-AzResourceGroup @rg
Criar recursos do 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 Standard global é usado no front-end 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ê adicionará 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ê testará o balanceador de carga global. Você se conectará ao endereço IP público em um navegador da Web. Você irá interromper as máquinas virtuais em um dos pools de back-end do balanceador de carga regional e observará o failover.
Encontre o endereço IP público para o balanceador de carga na tela Visão Geral. Escolha Todos os serviços no menu à esquerda, Todos os recursos e myPublicIP-cr.
Copie o endereço IP público e cole-o na barra de endereços do seu navegador. A página padrão do servidor Web do IIS é exibida no navegador.
Interrompa 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 no outro balanceador de carga regional.
Nesta seção, você testará o balanceador de carga global. Você se conectará ao endereço IP público em um navegador da Web. Você irá interromper as máquinas virtuais em um dos pools de back-end do balanceador de carga regional e observará 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ços do seu navegador. A página padrão do servidor Web do IIS é exibida no navegador.
Interrompa 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 no outro balanceador de carga regional.
Nesta seção, você testará o balanceador de carga global. Você se conectará ao endereço IP público em um navegador da Web. Você irá 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ços do seu navegador. A página padrão do servidor Web do IIS é exibida no navegador.
Interrompa 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 no outro balanceador de carga regional.
Limpar os recursos
Quando não forem mais necessários, exclua 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 escolha Excluir.
Use o comando az group delete para remover o grupo de recursos, o balanceador de carga e todos os recursos relacionados quando deixarem de ser necessários.
az group delete \
--name myResourceGroupLB-CR
Quando não forem mais necessários, 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óximas etapas
Neste tutorial, você:
- Criação de um balanceador de carga global.
- Adicionou balanceadores de carga regionais ao pool de back-end do balanceador de carga global.
- Criou uma regra de balanceamento de carga.
- Testou o balanceador de carga.
Para obter mais informações sobre o balanceador de carga global, consulte: