Início Rápido: Criar um balanceador de carga interno para balancear a carga das VMs usando a CLI do Azure
Veja uma introdução ao Azure Load Balancer usando a CLI do Azure para criar um balanceador de carga interno e duas máquinas virtuais. Recursos adicionais incluem 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 última versão já está instalada.
Criar um grupo de recursos
Um grupo de recursos do Azure é um contêiner lógico no qual você implanta e gerencia os recursos do Azure.
Crie um grupo de recursos com az group create.
az group create \
--name CreateIntLBQS-rg \
--location westus2
Quando você cria um balanceador de carga interno, uma rede virtual é configurada como a rede para o balanceador de carga.
Criar a rede virtual
Antes de implantar VMs e testar o balanceador de carga, crie a rede virtual e a sub-rede de suporte. A rede virtual e a sub-rede conterão os recursos implantados mais adiante neste artigo.
Crie uma rede virtual usando az network vnet create.
az network vnet create \
--resource-group CreateIntLBQS-rg \
--location westus2 \
--name myVNet \
--address-prefixes 10.1.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.1.0.0/24
Criar um Azure Bastion host
Neste exemplo, você criará um host do Azure Bastion. O host do Azure Bastion será usado posteriormente neste artigo para gerenciar com segurança as máquinas virtuais e testar a implantação 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 você estiver implantando o Bastion como parte de um tutorial ou teste, recomendamos que você exclua esse recurso depois de terminar de usá-lo.
Criar um endereço IP público do bastion
Use az network public-ip create para criar um endereço IP público para o Azure Bastion host.
az network public-ip create \
--resource-group CreateIntLBQS-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.
az network vnet subnet create \
--resource-group CreateIntLBQS-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 host.
az config set extension.use_dynamic_install=yes_without_prompt
az network bastion create \
--resource-group CreateIntLBQS-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location westus2 \
--only-show-errors \
--no-wait
Levará alguns minutos para que o host do Azure Bastion seja implantado.
Criar o 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 interno com az network lb create.
az network lb create \
--resource-group CreateIntLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--vnet-name myVNet \
--subnet myBackendSubnet \
--backend-pool-name myBackEndPool \
--frontend-ip-name myFrontEnd
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 CreateIntLBQS-rg \
--lb-name myLoadBalancer \
--name myHealthProbe \
--protocol tcp \
--port 80
Criar uma 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 CreateIntLBQS-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 \
--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.
Para criar um grupo de segurança de rede, use az network nsg create.
az network nsg create \
--resource-group CreateIntLBQS-rg \
--name myNSG
Criar uma regra de grupo de segurança de rede
Para criar uma regra de grupo de segurança de rede, use az network nsg create.
az network nsg rule create \
--resource-group CreateIntLBQS-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
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 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 CreateIntLBQS-rg \
--name $vmnic \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG
done
Criar as máquinas virtuais
Crie as máquinas virtuais com az vm create.
array=(1 2)
for n in "${array[@]}"
do
az vm create \
--resource-group CreateIntLBQS-rg \
--name myVM$n \
--nics myNicVM$n \
--image win2022datacenter \
--admin-username azureuser \
--zone $n \
--no-wait
done
Pode levar alguns minutos para que as VMs sejam implantadas.
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
Adicione as máquinas virtuais ao pool de back-end com az network nic ip-config address-pool add.
array=(VM1 VM2)
for vm in "${array[@]}"
do
az network nic ip-config address-pool add \
--address-pool myBackendPool \
--ip-config-name ipconfig1 \
--nic-name myNic$vm \
--resource-group CreateIntLBQS-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 CreateIntLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1 2 3
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 CreateIntLBQS-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 CreateIntLBQS-rg \
--vnet-name myVNet \
--name myBackendSubnet \
--nat-gateway myNATgateway
Criar máquina virtual de teste
Crie os adaptadores de rede com az network nic create.
az network nic create \
--resource-group CreateIntLBQS-rg \
--name myNicTestVM \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG
Crie a máquina virtual com az vm create.
az vm create \
--resource-group CreateIntLBQS-rg \
--name myTestVM \
--nics myNicTestVM \
--image Win2019Datacenter \
--admin-username azureuser \
--no-wait
Talvez seja necessário esperar alguns minutos para que a máquina virtual seja implantada.
Instalar o IIS
Use az vm extension set para instalar o IIS nas máquinas virtuais do back-end 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 CreateIntLBQS-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
Entre no portal do Azure.
Na página de Visão geral, encontre o endereço IP privado para o balanceador de carga. No menu à esquerda, selecione Todos os serviços>Todos os recursos>myLoadBalancer.
Na visão geral de myLoadBalancer, copie o endereço ao lado de Endereço IP Privado. Se o endereço IP privado não estiver visível, selecione Ver mais.
No menu à esquerda, selecione Todos os serviços>Todos os recursos. Na lista de recursos, no grupo de recursos CreateIntLBQS-rg, selecione myTestVM.
Na página Visão Geral, selecione Conectar>Bastion.
Insira o nome de usuário e a senha que você inseriu quando criou a VM.
Em myTestVM, abra o Internet Explorer.
Insira o endereço IP da etapa anterior na barra de endereços do navegador. A página padrão do servidor Web do IIS é mostrada no navegador.
Limpar os recursos
Quando os recursos deixarem de ser necessários, 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 CreateIntLBQS-rg
Próximas etapas
Neste início rápido:
Você criou um balanceador de carga interno
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: