Guia de início rápido: criar um balanceador de carga interno para balancear a carga de VMs usando a CLI do Azure
Comece a usar o Balanceador de Carga do Azure usando a CLI do Azure para criar um balanceador de carga interno e duas máquinas virtuais. Recursos adicionais incluem o Azure Bastion, o NAT Gateway, uma rede virtual e as sub-redes necessárias.
Se não tiver uma subscrição 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, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Este início rápido requer a versão 2.0.28 ou posterior da CLI do Azure. Se você estiver 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 você implanta e gerencia seus 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 seu balanceador de carga, crie a rede virtual e a sub-rede de suporte. A rede virtual e a sub-rede contêm os recursos implantados posteriormente 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 anfitrião do Azure Bastion
Neste exemplo, você cria um host do Azure Bastion. O host do Azure Bastion é usado posteriormente neste artigo para gerenciar com segurança as máquinas virtuais e testar a implantação do balanceador de carga.
Importante
O preço por hora começa a partir do momento em que o Bastion é implantado, independentemente do uso de dados de saída. Para obter mais informações, consulte Preços e SKUs. Se você estiver implantando o Bastion como parte de um tutorial ou teste, recomendamos excluir esse recurso depois de terminar de usá-lo.
Criar um endereço IP público bastião
Use az network public-ip create para criar um endereço IP público para o host do Azure Bastion.
az network public-ip create \
--resource-group CreateIntLBQS-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
Criar uma sub-rede bastião
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 o host bastião
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
Pode levar alguns minutos para o host do Azure Bastion implantar.
Criar o balanceador de carga
Esta secção descreve como pode criar e configurar os seguintes componentes do balanceador de carga:
Um pool de IP frontend que recebe o tráfego de rede de entrada no balanceador de carga
Um pool de IP de back-end onde o pool de front-end envia o tráfego de rede com balanceamento de carga
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 sonda de estado de funcionamento
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 teste com falha é removida do balanceador de carga. A máquina virtual é adicionada novamente ao balanceador de carga quando a falha é resolvida.
Crie uma sonda 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 do balanceador de carga
Uma regra de balanceador de carga define:
Configuração de IP frontend para o tráfego de entrada
O pool de IP de back-end para receber o tráfego
A porta de origem e de destino necessária
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 balanceador de carga padrão, as VMs no pool de back-end precisam ter interfaces 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 rule 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:
Duas interfaces 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 duas interfaces 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.
Nota
O Azure fornece um IP de acesso de saída padrão para VMs que não recebem um endereço IP público ou estão no pool de back-end de um balanceador de carga básico interno do Azure. O mecanismo 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 é desativado 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 do Gateway NAT do Azure é atribuído à sub-rede da VM.
As VMs que você cria usando conjuntos de dimensionamento de máquina virtual no modo de orquestração flexível não têm acesso de saída padrão.
Para obter mais informações sobre conexões de saída no Azure, consulte Acesso de saída padrão no Azure e Usar SNAT (Conversão de Endereço 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 um NAT gateway
Para fornecer acesso de saída à Internet para recursos no pool de back-end, crie um gateway NAT.
Criar IP público
Use az network public-ip create para criar um único 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 recurso de gateway NAT
Use az network nat gateway create para criar o recurso de gateway NAT. O IP público criado na etapa anterior está associado ao gateway NAT.
az network nat gateway create \
--resource-group CreateIntLBQS-rg \
--name myNATgateway \
--public-ip-addresses myNATgatewayIP \
--idle-timeout 10
Associar gateway NAT à sub-rede
Configure a sub-rede de origem na rede virtual para usar um recurso de gateway 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 a interface 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 aguardar 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 de back-end e defina o site padrão para 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
Na página Visão geral, localize o endereço IP privado do 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 Private IP Address. 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>bastião.
Introduza o nome de utilizador e a palavra-passe que introduziu quando criou a VM.
Em myTestVM, abra o Internet Explorer.
Digite 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.
Clean up resources (Limpar recursos)
Quando seus recursos não forem mais 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óximos passos
Neste início rápido:
Você criou um balanceador de carga interno
Duas máquinas virtuais anexadas
Configurada a regra de tráfego do balanceador de carga e a sonda de integridade
Testou o balanceador de carga
Para saber mais sobre o Azure Load Balancer, continue:
What is Azure Load Balancer? (O que é o Balanceador de Carga do Azure?)