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

O Azure Load Balancer é formado por SKUs Standard, Básico e Gateway. O Balanceador de Carga para Gateway é usado para inserir NVAs (soluções de virtualização de rede) de maneira transparente. Use o Balanceador de Carga para Gateway em cenários que exigem alto desempenho e alta escalabilidade de NVAs.

Neste tutorial, você aprenderá como:

  • Crie a rede virtual.
  • Criar um grupo de segurança de rede.
  • Criar um balanceador de carga para gateway.
  • Encadear um front-end de balanceador de carga ao balanceador de carga para gateway.

Pré-requisitos

  • Este tutorial exige 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.

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

  • Um SKU padrão público existente do Azure Load Balancer. Para saber mais sobre como criar um balanceador de carga, confira Criar um balanceador de carga público com a CLI do Azure .

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

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 TutorGwLB-rg \
    --location eastus

Configurar rede virtual

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

Criar rede virtual

Use o comando 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 do bastion

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

Criar sub-rede do bastion

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

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

Criar um bastion host

Use o comando az network bastion create para implantar um bastion host e fazer o 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

Levará alguns minutos para que o host do Azure Bastion seja implantado.

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.

Configurar o NSG

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

Criar NSG

Use o comando az network nsg create para criar o NSG.

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

Criar regras NSG

Use o comando 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 um Balanceador de Carga para Gateway

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

Criar um Balanceador de Carga para Gateway

Para criar o balanceador de carga, use o comando 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 --identifier de 900 e --port de 10800.

Você usará o comando az network lb address-pool tunnel-interface add para criar a 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 uma investigação de integridade

É necessária uma investigação de integridade para monitorar as instâncias de back-end no balanceador de carga. Use o comando az network lb probe create para criar a investigação 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 uma regra de balanceamento de carga

O tráfego destinado às instâncias de back-end é roteado com uma regra de balanceamento de carga. Use o comando 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 soluções de virtualização de rede ao pool de back-end do Balanceador de Carga para Gateway

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

Encadear um front-end de balanceador de carga ao Balanceador de Carga para Gateway

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

Adicione o front-end ao IP de front-end de um balanceador de carga existente em sua assinatura.

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

Use o comando az network lb frontend-ip update para encadear o front-end do balanceador de carga para gateway ao 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 máquina virtual ao Gateway do Load Balancer

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 o comando az network lb frontend-ip show para colocar a ID do recurso do seu front-end do balanceador de carga para gateway em uma variável.

Use o comando az network lb frontend-ip update para encadear o front-end do balanceador de carga do gateway à configuração de IP da NIC da sua 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

Limpar os 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óximas etapas

Crie soluções de virtualização de rede no Azure.

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

  • Rede virtual

  • Sub-rede

  • Grupo de segurança de rede

  • Balanceador de Carga para Gateway

Siga para o próximo artigo para aprender a criar um Azure Load Balancer entre regiões.