Guia de início rápido: criar um balanceador de carga público para balancear a carga das VMs usando a CLI do Azure
Comece a usar o Azure Load Balancer pela CLI do Azure para criar um balanceador de carga público e duas máquinas virtuais. Junto com esses recursos, você implanta o Azure Bastion, o Gateway da NAT, uma rede virtual e as sub-redes necessárias.
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Este guia de início rápido requer a versão 2.0.28 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
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:
az group create \
--name CreatePubLBQS-rg \
--location eastus
Criar uma rede virtual
Antes de implantar VMs e testar o balanceador de carga, crie a rede virtual e a sub-rede de suporte.
Crie uma rede virtual usando az network vnet create. A rede virtual e a sub-rede conterão os recursos implantados mais adiante neste artigo.
az network vnet create \
--resource-group CreatePubLBQS-rg \
--location eastus \
--name myVNet \
--address-prefixes 10.1.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.1.0.0/24
Criar um endereço IP público
Para acessar seu aplicativo Web na Internet, você precisará de um endereço IP público para o balanceador de carga.
Use az network public-ip create para criar o IP público do front-end do balanceador de carga.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1 2 3
Em vez disso, para criar um endereço IP público zonal na Zona 1, use o comando a seguir:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1
Criar um balanceador de carga
Esta seção fornece detalhes sobre como criar e configurar os componentes do balanceador de carga abaixo:
Um pool de IPs de front-end que recebe o tráfego de rede de entrada no balanceador de carga
Um pool de IPs de back-end ao qual o pool de front-end envia o tráfego de rede com a carga balanceada
Uma investigação de integridade que determina a integridade das instâncias de VM de back-end
Uma regra de balanceador de carga que define como o tráfego é distribuído para as VMs
Criar o recurso do balanceador de carga
Crie um balanceador de carga público com az network lb create:
az network lb create \
--resource-group CreatePubLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool
Se o IP público criado for zonal, a zona especificada precisará ser definida ao criar o balanceador de carga público.
az network lb create \
--resource-group CreatePubLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEnd \
--public-ip-zone 1 \
--backend-pool-name myBackEndPool
Criar a investigação de integridade
Uma investigação de integridade verifica todas as instâncias da máquina virtual para garantir que elas possam enviar tráfego de rede.
Uma máquina virtual com uma verificação de investigação com falha é removida do balanceador de carga. A máquina virtual será adicionada novamente ao balanceador de carga quando a falha for resolvida.
Crie uma investigação de integridade com az network lb probe create:
az network lb probe create \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer \
--name myHealthProbe \
--protocol tcp \
--port 80
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 de balanceador de carga com az network lb rule create:
az network lb rule create \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer \
--name myHTTPRule \
--protocol tcp \
--frontend-port 80 \
--backend-port 80 \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool \
--probe-name myHealthProbe \
--disable-outbound-snat true \
--idle-timeout 15 \
--enable-tcp-reset true
Criar um grupo de segurança de rede
Para um Standard Load Balancer, as VMs no pool de back-end precisam ter adaptadores de rede que pertençam a um grupo de segurança de rede.
Use az network nsg create para criar o grupo de segurança de rede:
az network nsg create \
--resource-group CreatePubLBQS-rg \
--name myNSG
Criar uma regra de grupo de segurança de rede
Crie uma regra de grupo de segurança de rede usando az network nsg create:
az network nsg rule create \
--resource-group CreatePubLBQS-rg \
--nsg-name myNSG \
--name myNSGRuleHTTP \
--protocol '*' \
--direction inbound \
--source-address-prefix '*' \
--source-port-range '*' \
--destination-address-prefix '*' \
--destination-port-range 80 \
--access allow \
--priority 200
Crie um host bastião
Nesta seção, você cria os recursos do Azure Bastion. O Azure Bastion é usado para gerenciar com segurança as máquinas virtuais no pool de back-back do balanceador de carga.
Importante
Os preços por hora começam a partir do momento em que o Bastion é implantado, independentemente do uso de dados de saída. Para saber mais, confira Preços e SKUs. Se estiver implantando o Bastion como parte de um tutorial ou teste, recomendamos que você exclua esse recurso após terminar de usá-lo.
Criar um endereço IP público
Use az network public-ip create para criar um endereço IP público para o bastion host. O IP público é usado pelo bastion host para acesso seguro aos recursos da máquina virtual.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
Criar uma sub-rede do bastion
Use az network vnet subnet create para criar uma sub-rede do bastion. A sub-rede do bastion é usada pelo bastion host para acessar a rede virtual.
az network vnet subnet create \
--resource-group CreatePubLBQS-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.1.1.0/27
Criar um bastion host
Use az network bastion create para criar um bastion host. O bastion host é usado para se conectar com segurança aos recursos de máquina virtual criados mais tarde neste artigo.
az network bastion create \
--resource-group CreatePubLBQS-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location eastus
Levará alguns minutos para que o host do Azure Bastion seja implantado.
Criar servidores de back-end
Nesta seção, você cria:
Dois adaptadores de rede para as máquinas virtuais
Duas máquinas virtuais a serem usadas como servidores back-end para o balanceador de carga
Criar interfaces de rede para as máquinas virtuais
Crie dois adaptadores de rede com az network nic create:
array=(myNicVM1 myNicVM2)
for vmnic in "${array[@]}"
do
az network nic create \
--resource-group CreatePubLBQS-rg \
--name $vmnic \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG
done
Criar máquinas virtuais
Crie as máquinas virtuais com az vm create:
az vm create \
--resource-group CreatePubLBQS-rg \
--name myVM1 \
--nics myNicVM1 \
--image win2019datacenter \
--admin-username azureuser \
--zone 1 \
--no-wait
az vm create \
--resource-group CreatePubLBQS-rg \
--name myVM2 \
--nics myNicVM2 \
--image win2019datacenter \
--admin-username azureuser \
--zone 2 \
--no-wait
Pode levar alguns minutos para que as VMs sejam implantadas. Você pode continuar nas próximas etapas enquanto as VMs estão sendo criadas.
Observação
O Azure fornece um IP de acesso de saída padrão para VMs que não receberam um endereço IP público ou que estão no pool de back-end de um balanceador de carga do Azure básico interno. O mecanismo de IP de acesso de saída padrão fornece um endereço IP de saída que não é configurável.
O IP de acesso de saída padrão é desabilitado quando um dos seguintes eventos acontece:
- Um endereço IP público é atribuído à VM.
- A VM é colocada no pool de back-end de um balanceador de carga padrão, com ou sem regras de saída.
- Um recurso da Gateway da NAT do Azure é atribuído à sub-rede da VM.
As VMs criadas por conjuntos de dimensionamento de máquinas virtuais no modo de orquestração flexível não têm acesso de saída padrão.
Para mais informações sobre conexões de saída no Azure, confira Acesso de saída padrão no Azure e Usar SNAT (conversão de endereços de rede de origem) para conexões de saída.
Adicionar máquinas virtuais ao pool de back-end do balanceador de carga
Adicione as máquinas virtuais ao pool de back-end com az network nic ip-config address-pool add:
array=(myNicVM1 myNicVM2)
for vmnic in "${array[@]}"
do
az network nic ip-config address-pool add \
--address-pool myBackendPool \
--ip-config-name ipconfig1 \
--nic-name $vmnic \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer
done
Criar gateway NAT
Para fornecer acesso de Internet de saída aos recursos no pool de back-end, crie um gateway da NAT.
Criar um IP público
Use az network public-ip create para criar um IP para a conectividade de saída.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1 2 3
Para criar um endereço IP público com redundância zonal na Zona 1, use o comando a seguir:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1
Criar um recurso de gateway da NAT
Use az network nat gateway create para criar um recurso de gateway da NAT. O IP público criado na etapa anterior está associado ao gateway da NAT.
az network nat gateway create \
--resource-group CreatePubLBQS-rg \
--name myNATgateway \
--public-ip-addresses myNATgatewayIP \
--idle-timeout 10
Associar o gateway da NAT à sub-rede
Configure a sub-rede de origem na rede virtual para usar um recurso de gateway da NAT específico com az network vnet subnet update.
az network vnet subnet update \
--resource-group CreatePubLBQS-rg \
--vnet-name myVNet \
--name myBackendSubnet \
--nat-gateway myNATgateway
Instalar o IIS
Use az vm extension set para instalar o IIS nas máquinas virtuais e definir o site padrão como o nome do computador.
array=(myVM1 myVM2)
for vm in "${array[@]}"
do
az vm extension set \
--publisher Microsoft.Compute \
--version 1.8 \
--name CustomScriptExtension \
--vm-name $vm \
--resource-group CreatePubLBQS-rg \
--settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
done
Testar o balanceador de carga
Para obter o endereço IP público do balanceador de carga, use az network public-ip show.
Copie o endereço IP público e cole-o na barra de endereços do seu navegador.
az network public-ip show \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--query ipAddress \
--output tsv
Limpar os recursos
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 CreatePubLBQS-rg
Próximas etapas
Neste início rápido:
Você criou um Standard Load Balancer público
Anexou duas máquinas virtuais
Configurou a regra de tráfego e a investigação de integridade do balanceador de carga
Testou o balanceador de carga
Para saber mais sobre o Azure Load Balancer, vá para: