Partilhar via


Tutorial: Criar um balanceador de carga de gateway usando a CLI do Azure

O Azure Load Balancer consiste em SKUs Standard, Basic e Gateway. O Gateway Load Balancer é usado para inserção transparente de Network Virtual Appliances (NVA). Use o Gateway Load Balancer para cenários que exigem alto desempenho e alta escalabilidade de NVAs.

Neste tutorial, irá aprender a:

  • Crie uma rede virtual.
  • Crie um grupo de segurança de rede.
  • Crie um balanceador de carga de gateway.
  • Encadeie um frontend do balanceador de carga ao balanceador de carga do gateway.

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 tutorial requer a versão 2.0.28 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.

  • Uma conta do Azure com uma assinatura ativa.Crie uma conta gratuitamente.

  • Um Balanceador de Carga do Azure SKU padrão público existente. Para obter mais informações sobre como criar um balanceador de carga, consulte Criar um balanceador de carga público usando a CLI do Azure.

    • Para os fins deste tutorial, o balanceador de carga existente nos exemplos é chamado myLoadBalancer.

Criar um grupo de recursos

Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.

Crie um grupo de recursos com az group create:

  az group create \
    --name TutorGwLB-rg \
    --location eastus

Configurar uma rede virtual

Uma rede virtual é necessária para os recursos que estão no pool de back-end do balanceador de carga do gateway.

Criar a rede virtual

Use az network vnet create para criar a rede virtual.

  az network vnet create \
    --resource-group TutorGwLB-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

Criar 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 TutorGwLB-rg \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

Criar sub-rede bastião

Use az network vnet subnet create para criar a sub-rede bastion.

az network vnet subnet create \
    --resource-group TutorGwLB-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

Criar host bastião

Use az network bastion create para implantar um host bastion para gerenciamento seguro de recursos na rede virtual.

az network bastion create \
    --resource-group TutorGwLB-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

Pode levar alguns minutos para o host do Azure Bastion implantar.

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.

Configurar o NSG

Use o exemplo a seguir para criar um grupo de segurança de rede. Você configurará as regras NSG necessárias para o tráfego de rede na rede virtual criada anteriormente.

Criar o NSG

Use az network nsg create para criar o NSG.

  az network nsg create \
    --resource-group TutorGwLB-rg \
    --name myNSG

Criar regras NSG

Use az network nsg rule create para criar regras para o NSG.

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll-TCP-Out \
    --protocol 'TCP' \
    --direction outbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

Configurar o Balanceador de Carga de Gateway

Nesta seção, você criará a configuração e implantará o balanceador de carga do gateway.

Criar balanceador de carga de gateway

Para criar o balanceador de carga, use az network lb create.

  az network lb create \
    --resource-group TutorGwLB-rg \
    --name myLoadBalancer-gw \
    --sku Gateway \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackendPool \
    --frontend-ip-name myFrontEnd

Criar interface de túnel

Uma interface interna é criada automaticamente com a CLI do Azure com o de 900 e --port o --identifier de 10800.

Você usará az network lb address-pool tunnel-interface add para criar uma interface de túnel externo para o balanceador de carga.

  az network lb address-pool tunnel-interface add \
    --address-pool myBackEndPool \
    --identifier '901' \
    --lb-name myLoadBalancer-gw \
    --protocol VXLAN \
    --resource-group TutorGwLB-rg \
    --type External \
    --port '10801'

Criar sonda de integridade

Uma sonda de integridade é necessária para monitorar a integridade das instâncias de back-end no balanceador de carga. Use az network lb probe create para criar a sonda de integridade.

  az network lb probe create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myHealthProbe \
    --protocol http \
    --port 80 \
    --path '/' \
    --interval '5' \
    --threshold '2'
    

Criar regra de balanceamento de carga

O tráfego destinado às instâncias de back-end é roteado com uma regra de balanceamento de carga. Use az network lb rule create para criar a regra de balanceamento de carga.

  az network lb rule create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myLBRule \
    --protocol All \
    --frontend-port 0 \
    --backend-port 0 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe

Adicionar dispositivos virtuais de rede ao pool de back-end do Balanceador de Carga de Gateway

Implante NVAs por meio do Azure Marketplace. Uma vez implantado, adicione as máquinas virtuais ao pool de back-end com az network nic ip-config address-pool add.

Frontend do balanceador de carga em cadeia para o Balanceador de Carga do Gateway

Neste exemplo, você encadeará o front-end de um balanceador de carga padrão ao balanceador de carga do gateway.

Você adicionará o frontend ao IP de frontend de um balanceador de carga existente em sua assinatura.

Use az network lb frontend-ip show para colocar o ID do recurso do frontend do balanceador de carga do gateway em uma variável.

Use az network lb frontend-ip update para encadear o frontend do balanceador de carga do gateway ao seu balanceador de carga existente.

  feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)

  az network lb frontend-ip update \
    --resource-group CreatePubLBQS-rg \
    --name myFrontendIP \
    --lb-name myLoadBalancer \
    --public-ip-address myPublicIP \
    --gateway-lb $feid

Encadear a máquina virtual com o Balanceador de Carga de Gateway

Como alternativa, você pode encadear a configuração de IP da NIC de uma VM ao balanceador de carga do gateway.

Você adicionará o front-end do balanceador de carga do gateway à configuração de IP da NIC de uma VM existente.

Use az network lb frontend-ip show para colocar o ID do recurso do frontend do balanceador de carga do gateway em uma variável.

Use az network lb frontend-ip update para encadear o frontend do balanceador de carga do gateway à configuração IP da NIC da VM existente.

 feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)
    
  az network nic ip-config update \
    --resource-group MyResourceGroup
    --nic-name MyNIC 
    --name MyIPconfig 
    --gateway-lb $feid

Clean up resources (Limpar recursos)

Quando não for mais necessário, você poderá usar o comando az group delete para remover o grupo de recursos, o balanceador de carga e os recursos restantes.

  az group delete \
    --name TutorGwLB-rg

Próximos passos

Crie Dispositivos Virtuais de Rede no Azure.

Ao criar os NVAs, escolha os recursos criados neste tutorial:

  • Rede virtual

  • Sub-rede

  • Grupo de segurança de rede

  • Experimente agora o Balanceador de Carga de Gateway

Avance para o próximo artigo para saber como criar um Balanceador de Carga do Azure entre regiões.