Configure um balanceador de carga de rede de encaminhamento externo com NEGs zonais

Este documento mostra como implementar um Network Load Balancer de encaminhamento externo com back-ends de grupo de pontos finais de rede (NEG) zonais. Os NEGs zonais com GCE_VM_IP pontos finais permitem fazer o seguinte:

  • Encaminhar pacotes para as interfaces de rede não nic0 de instâncias de máquinas virtuais (VMs) representando uma interface de rede de uma instância de VM como o ponto final de back-end.
  • Crie um conjunto flexível de pontos finais de back-end onde um ponto final pode ser anexado a vários NEGs e cada NEG pode ter um conjunto de pontos finais diferente, mas possivelmente sobreposto.

Antes de seguir este documento, familiarize-se com o seguinte:

Autorizações

Para seguir estes passos, tem de criar instâncias e modificar uma rede num projeto. Tem de ser proprietário ou editor do projeto, ou ter todas as seguintes funções IAM do Compute Engine:

Tarefa Função necessária
Crie redes, sub-redes e componentes do balanceador de carga Administrador da rede de computação (roles/compute.networkAdmin)
Adicione e remova regras de firewall Administrador de segurança do Compute (roles/compute.securityAdmin)
Crie instâncias Administrador da instância de computação (roles/compute.instanceAdmin)

Para mais informações, consulte as seguintes páginas:

Vista geral da configuração

Este documento mostra como configurar e testar um Network Load Balancer de encaminhamento externo que usa GCE_VM_IP back-ends de NEG zonais. Os passos nesta secção descrevem como configurar o seguinte:

  1. Uma rede VPC de exemplo denominada lb-network com uma sub-rede personalizada.
  2. Regras de firewall que permitem ligações recebidas a VMs de back-end.
  3. Quatro VMs:
    • VMs vm-a1 e vm-a2 na zona us-west1-a
    • VMs vm-c1 e vm-c2 na zona us-west1-c
  4. Dois NEGs zonais de back-end, neg-a na zona us-west1-a e neg-c na zona us-west1-c. Cada NEG tem os seguintes pontos finais:
    • neg-a contém estes dois pontos finais:
      • nic1 da VM vm-a1 identificada pelo respetivo endereço IP interno principal
      • nic1 da VM vm-a2 identificada pelo respetivo endereço IP interno principal
    • neg-c contém estes dois pontos finais:
      • nic1 da VM vm-c1 identificada pelo respetivo endereço IP interno principal
      • nic1 da VM vm-c2 identificada pelo respetivo endereço IP interno principal
  5. Uma VM cliente (vm-client) em us-west1-a para testar as ligações
  6. Os seguintes componentes do balanceador de carga:
    • Um serviço de back-end externo na região us-west1 para gerir a distribuição de ligações aos dois NEGs zonais
    • Uma regra de encaminhamento externa e um endereço IP para o front-end do balanceador de carga

O balanceador de carga de rede de encaminhamento externo é um balanceador de carga regional. Todos os componentes do balanceador de carga (VMs de back-end, serviço de back-end e regra de encaminhamento) têm de estar na mesma região.

A arquitetura para este exemplo tem o seguinte aspeto:

Balanceador de carga de rede de encaminhamento externo com NEGs zonais.
Balanceador de carga de encaminhamento externo com NEGs zonais (clique para aumentar).

Antes de começar

Instale a CLI do Google Cloud. Para uma vista geral completa da ferramenta, consulte a vista geral da CLI gcloud. Pode encontrar comandos relacionados com o equilíbrio de carga nas referências da API e do gcloud.

Se não tiver executado a CLI gcloud anteriormente, execute primeiro o comando gcloud init para fazer a autenticação.

Esta página pressupõe que conhece o bash.

Configure a rede e as sub-redes

O exemplo nesta página usa uma rede VPC no modo personalizado denominada lb-network. Se quiser apenas processar tráfego IPv4, pode usar uma rede VPC no modo automático. No entanto, o tráfego IPv6 requer uma sub-rede de modo personalizado.

O tráfego IPv6 também requer uma sub-rede de pilha dupla (stack-type definida como IPV4_IPV6). Quando cria uma sub-rede de pilha dupla numa rede VPC de modo personalizado, escolhe um tipo de acesso IPv6 para a sub-rede. Para este exemplo, definimos o parâmetro ipv6-access-type da sub-rede como EXTERNAL. Isto significa que é possível atribuir endereços IPv4 externos e endereços IPv6 externos a novas VMs nesta sub-rede. As regras de encaminhamento também podem ser atribuídas a endereços IPv4 externos e endereços IPv6 externos.

Os back-ends e os componentes do balanceador de carga usados neste exemplo estão localizados nesta região e sub-rede:

  • Região: us-central1
  • Sub-rede: lb-subnet, com o intervalo de endereços IPv4 principal 10.1.2.0/24. Embora escolha o intervalo de endereços IPv4 configurado na sub-rede, o intervalo de endereços IPv6 é atribuído automaticamente. A Google fornece um bloco CIDR IPv6 de tamanho fixo (/64).

Para criar a rede e a sub-rede de exemplo, siga estes passos.

Consola

Para suportar o tráfego IPv4 e IPv6, siga estes passos:

  1. Na Trusted Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  2. Clique em Criar rede de VPC.

  3. Introduza um Nome de lb-network.

  4. Defina o Subnet creation mode (Modo de criação de sub-rede) como Custom (Personalizado).

  5. Na secção Sub-redes, clique em Adicionar sub-rede e configure os seguintes campos:

    • Nome: lb-subnet
    • Região: us-central1
    • Tipo de pilha de IP: IPv4 e IPv6 (dupla pilha)
    • Intervalo IPv4: 10.1.2.0/24
      Embora possa configurar um intervalo de endereços IPv4 para a sub-rede, não pode escolher o intervalo de endereços IPv6 para a sub-rede. A Google fornece um bloco CIDR IPv6 de tamanho fixo (/64).
    • Tipo de acesso IPv6: externo
    • Clique em Concluído
  6. Clique em Criar.

Para suportar apenas tráfego IPv4, siga estes passos:

  1. Na Trusted Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  2. Clique em Criar rede de VPC.

  3. Introduza um Nome de lb-network.

  4. Defina o Subnet creation mode (Modo de criação de sub-rede) como Custom (Personalizado).

  5. Na secção Sub-redes, clique em Adicionar sub-rede e configure os seguintes campos:

    • Nome: lb-subnet
    • Região: us-central1
    • Tipo de pilha de IP: IPv4 (pilha única)
    • Intervalo IPv4: 10.1.2.0/24
  6. Clique em Criar.

gcloud

  1. Crie a rede VPC de modo personalizado:

    gcloud compute networks create lb-network \
        --subnet-mode=custom
    
  2. Na rede lb-network, crie uma sub-rede para os back-ends na região us-central1.

    Para o tráfego IPv4 e IPv6, use o seguinte comando para criar uma sub-rede de pilha dupla:

    gcloud compute networks subnets create lb-subnet \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=EXTERNAL \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-central1
    

    Para tráfego IPv4 apenas, use o seguinte comando:

    gcloud compute networks subnets create lb-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-central1
    

Crie VMs e grupos de pontos finais de rede

Para demonstrar a natureza regional dos balanceadores de carga de rede de encaminhamento externo, este exemplo usa dois back-ends de NEG zonais em duas zonas diferentes. O tráfego é equilibrado entre os dois NEGs e entre os pontos finais em cada NEG.

Crie VMs

Para este cenário de balanceamento de carga, cria quatro VMs e instala um servidor Web Apache em cada instância. O servidor Web é responsável pela deteção na porta TCP 80. Por predefinição, o Apache está configurado para ser associado a qualquer endereço IP. Os balanceadores de carga de rede de encaminhamento externo enviam pacotes preservando o endereço IP de destino.

Para simplificar as instruções, estas VMs de back-end executam o Debian GNU Linux 10.

Para processar o tráfego IPv4 e IPv6, configure as VMs de back-end para serem de pilha dupla. Defina o stack-type da VM como IPV4_IPV6. As VMs também herdam a definição ipv6-access-type (neste exemplo, EXTERNAL) da sub-rede. Para ver mais detalhes sobre os requisitos do IPv6, consulte o artigo Vista geral do balanceador de carga de rede de encaminhamento externo: regras de encaminhamento.

Para usar VMs existentes como back-ends, atualize as VMs para serem de pilha dupla através do comando gcloud compute instances network-interfaces update.

As instâncias que participam como VMs de back-end para balanceadores de carga de rede de encaminhamento direto externos têm de executar o ambiente guest Linux adequado, o ambiente guest Windows ou outros processos que ofereçam uma capacidade equivalente.

Cada MV é criada com duas interfaces de rede, nic0 e nic1. Este tutorial usa o nic1, que está associado à rede da VPC lb-network e à sub-rede lb-subnet. Use esta lb-networkredelb-subnet e sub-rede para criar os NEGs zonais mais tarde neste procedimento.

Consola

Crie VMs

  1. Na Trusted Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Repita os passos seguintes para criar quatro VMs, usando as seguintes combinações de nomes e zonas:

    • Nome: vm-a1, zona: us-west1-a
    • Nome: vm-a2, zona: us-west1-a
    • Nome: vm-c1, zona: us-west1-c
    • Nome: vm-c2, zona: us-west1-c
  3. Clique em Criar instância.

  4. Defina o Nome como indicado anteriormente.

  5. Para a Região, escolha us-west1 e escolha uma Zona, conforme indicado anteriormente.

  6. Na secção Disco de arranque, certifique-se de que a opção Debian GNU/Linux 12 (bookworm) está selecionada para as opções do disco de arranque. Se necessário, clique em Escolher para alterar a imagem.

  7. Clique em Opções avançadas e faça as seguintes alterações:

    • Clique em Rede e adicione as seguintes Etiquetas de rede: lb-tag
    • Para Interfaces de rede, clique em Adicionar interface de rede e faça as seguintes alterações:

      Para backends IPv4 e IPv6:

      • Rede: lb-network
      • Subnet: lb-subnet
      • Tipo de pilha de IP: IPv4 and IPv6 (dual-stack)
      • IP interno principal: efémero (automático)
      • Endereço IPv4 externo: efémero (automático)
      • Endereço IPv6 externo: efémero (automático)

      Para backends apenas IPv4:

      • Rede: lb-network
      • Subnet: lb-subnet
      • Tipo de pilha de IP: IPv4 (single-stack)
      • IP interno principal: efémero (automático)
      • IP externo: efémero

      Em seguida, clique em Concluído.

    • Clique em Gestão. No campo Script de arranque, copie e cole o seguinte conteúdo do script. O conteúdo do script é idêntico para todas as quatro VMs:

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
  8. Clique em Criar.

gcloud

Crie as quatro VMs executando o seguinte comando quatro vezes, usando estas quatro combinações para VM_NAME e ZONE. O conteúdo do script é idêntico para todas as quatro VMs.

  • VM_NAME: vm-a1 e ZONE: us-west1-a
  • VM_NAME: vm-a2 e ZONE: us-west1-a
  • VM_NAME: vm-c1 e ZONE: us-west1-c
  • VM_NAME: vm-c2 e ZONE: us-west1-c

Para processar o tráfego IPv4 e IPv6, use o seguinte comando.

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=lb-tag \
    --network-interface=network=default,subnet=default,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
    --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
    --metadata=startup-script='#! /bin/bash
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://metadata.google.internal/computeMetadata/v1/instance/name)"
    echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    systemctl restart apache2'

Para processar tráfego apenas IPv4, use o seguinte comando:

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=lb-tag \
    --network-interface=network=default,subnet=default,stack_type=IPV4_ONLY \
    --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_ONLY \
    --metadata=startup-script='#! /bin/bash
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://metadata.google.internal/computeMetadata/v1/instance/name)"
    echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    systemctl restart apache2'

Crie NEGs zonais com pontos finais GCE_VM_IP

Os NEGs têm de ser criados nas mesmas zonas que as VMs criadas no passo anterior. Este exemplo também cria o NEG na rede lb-network VPC e na sub-rede lb-subnet associadas a nic1 das VMs criadas no passo anterior. Por isso, os pontos finais do NEG vão estar em nic1 das VMs.

Consola

Para criar um grupo de pontos finais de rede zonal:

  1. Aceda à página Grupos de pontos finais de rede na Trusted Cloud consola.
    Aceda à página Grupos de pontos finais da rede
  2. Clique em Criar grupo de pontos finais de rede.
  3. Introduza um Nome para o NEG zonal: neg-a.
  4. Selecione o Tipo de grupo de pontos finais da rede: Grupo de pontos finais da rede (zonal).
  5. Selecione a rede: lb-network
  6. Selecione a Sub-rede: lb-subnet
  7. Selecione a zona: us-west1-a
  8. Clique em Criar.
  9. Repita estes passos para criar um segundo NEG zonal denominado neg-c na zona us-west1-c.

Adicione pontos finais ao NEG zonal:

  1. Aceda à página Grupos de pontos finais de rede na Trusted Cloud consola.
    Aceda aos grupos de pontos finais da rede
  2. Clique no Nome do primeiro grupo de pontos finais de rede criado no passo anterior (neg-a). É apresentada a página Detalhes do grupo de pontos finais da rede.
  3. Na secção Pontos finais de rede neste grupo, clique em Adicionar ponto final de rede. É apresentada a página Adicionar ponto final de rede.

    1. Clique em Instância de VM e selecione vm-a1 para adicionar os respetivos endereços IP internos como pontos finais de rede.
    2. Clique em Criar.
    3. Clique novamente em Adicionar ponto final de rede e, em Instância de VM, selecione vm-a2.
    4. Clique em Criar.
  4. Clique no Nome do segundo grupo de pontos finais de rede criado no passo anterior (neg-c). É apresentada a página Detalhes do grupo de pontos finais da rede.

  5. Na secção Pontos finais de rede neste grupo, clique em Adicionar ponto final de rede. É apresentada a página Adicionar ponto final de rede.

    1. Clique em Instância de VM e selecione vm-c1 para adicionar os respetivos endereços IP internos como pontos finais de rede.
    2. Clique em Criar.
    3. Clique novamente em Adicionar ponto final de rede e, em Instância de VM, selecione vm-c2.
    4. Clique em Criar.

gcloud

  1. Crie um NEG zonal denominado neg-a em us-west1-a com o comando gcloud compute network-endpoint-groups create:GCE_VM_IP

    gcloud compute network-endpoint-groups create neg-a \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-a \
        --network=lb-network \
        --subnet=lb-subnet
    
  2. Adicione pontos finais a neg-a:

    gcloud compute network-endpoint-groups update neg-a \
        --zone=us-west1-a \
        --add-endpoint='instance=vm-a1' \
        --add-endpoint='instance=vm-a2'
    
  3. Crie um NEG zonal denominado neg-c em us-west1-c com o comando gcloud compute network-endpoint-groups create:GCE_VM_IP

    gcloud compute network-endpoint-groups create neg-c \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-c \
        --network=lb-network \
        --subnet=lb-subnet
    
  4. Adicione pontos finais a neg-c:

    gcloud compute network-endpoint-groups update neg-c \
        --zone=us-west1-c \
        --add-endpoint='instance=vm-c1' \
        --add-endpoint='instance=vm-c2'
    

Configurar regras de firewall

Crie regras de firewall que permitam que o tráfego externo (que inclui sondagens de verificação de estado) alcance as instâncias de back-end.

Este exemplo cria uma regra de firewall que permite que o tráfego TCP de todos os intervalos de origem alcance as suas instâncias de back-end na porta 80. Se quiser criar regras da firewall separadas especificamente para as sondas de verificação de funcionamento, use os intervalos de endereços IP de origem documentados no artigo Vista geral das verificações de funcionamento: intervalos de IP de sondas e regras da firewall.

Consola

Na Trusted Cloud consola, aceda à página Firewall.

Aceda à firewall

Para permitir o tráfego IPv4, siga estes passos:

  1. Clique em Criar regra de firewall.
  2. Introduza um Nome: allow-network-lb-ipv4.
  3. Para Rede, selecione lb-network.
  4. Em Segmentações, selecione Etiquetas de segmentação especificadas.
  5. No campo Etiquetas alvo, introduza lb-tag.
  6. Para o Filtro de origem, selecione Intervalos IPv4.
  7. Defina Intervalos de IPv4 de origem como 0.0.0.0/0. Isto permite o tráfego IPv4 de qualquer origem. Isto também permite que as sondas de verificação de funcionamento da Google alcancem as instâncias de back-end.
  8. Para Protocolos e portas especificados, selecione TCP e introduza 80.
  9. Clique em Criar.

Para permitir o tráfego IPv6, siga estes passos:

  1. Clique novamente em Criar regra de firewall.
  2. Introduza um Nome: allow-network-lb-ipv6.
  3. Para Rede, selecione lb-network.
  4. Em Segmentações, selecione Etiquetas de segmentação especificadas.
  5. No campo Etiquetas alvo, introduza lb-tag.
  6. Para o Filtro de origem, selecione Intervalos IPv6.
  7. Defina os Intervalos de IPv6 de origem como ::/0. Isto permite o tráfego IPv6 de qualquer origem. Isto também permite que as sondas de verificação de funcionamento da Google alcancem as instâncias de back-end.
  8. Para Protocolos e portas especificados, selecione TCP e introduza 80.
  9. Clique em Criar.

gcloud

Para permitir o tráfego IPv4, execute o seguinte comando:

gcloud compute firewall-rules create allow-network-lb-ipv4 \
    --network=lb-network \
    --target-tags=lb-tag \
    --allow=tcp:80 \
    --source-ranges=0.0.0.0/0

Para permitir o tráfego IPv6, execute o seguinte comando:

gcloud compute firewall-rules create allow-network-lb-ipv6 \
    --network=lb-network \
    --target-tags=lb-tag \
    --allow=tcp:80 \
    --source-ranges=::/0
 

Configure o balanceador de carga

Em seguida, configure o balanceador de carga.

Quando configura o balanceador de carga, as VMs recebem pacotes destinados ao endereço IP externo estático que configura. Se estiver a usar uma imagem fornecida pelo Compute Engine, as suas instâncias são configuradas automaticamente para processar este endereço IP. Se estiver a usar outra imagem, tem de configurar este endereço como um alias em eth1 ou como um loopback em cada instância.

Para configurar o balanceador de carga, siga as instruções abaixo.

Consola

Inicie a configuração

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda ao balanceamento de carga

  2. Clique em Criar equilibrador de carga.
  3. Para Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Seguinte.
  4. Para Proxy ou passagem, selecione Passagem do balanceador de carga e clique em Seguinte.
  5. Para Público ou interno, selecione Público (externo) e clique em Seguinte.
  6. Clique em Configurar.

Configuração do back-end

  1. Na página Crie um balanceador de carga de rede de encaminhamento externo, introduza o nome network-lb-zonal-neg do novo balanceador de carga.
  2. Na lista Região, selecione us-west1.
  3. Clique em Configuração de back-end. O nome do balanceador de carga que introduziu anteriormente é apresentado, mas não é modificável.
  4. Na lista Tipo de back-end, selecione Grupo de pontos finais de rede zonal.
  5. Na página Configuração de back-end, faça o seguinte:
    1. Na lista Verificação de funcionamento, clique em Criar uma verificação de funcionamento e, em seguida, introduza as seguintes informações:
      • Nome: tcp-health-check
      • Protocolo: TCP
      • Porta: 80
    2. Clique em Criar.
    3. Na lista Grupo de pontos finais da rede, selecione neg-a e, de seguida, clique em Concluído.
    4. Clique em Adicionar back-end e repita o passo anterior para adicionar neg-c.
    5. Clique em Guardar.
  6. Verifique se existe uma marca de verificação azul junto a Configuração de back-end antes de continuar.

Configuração da interface

  1. Clique em Configuração do front-end.
  2. Em Nome, introduza netlb-forwarding-rule.
  3. Para processar o tráfego IPv4, siga estes passos:
    1. Para Versão do IP, selecione IPv4.
    2. Para Endereço IP, clique no menu pendente e selecione Criar endereço IP.
      1. Na página Reserve um novo endereço IP estático, para Nome, introduza netlb-ipv4-address.
      2. Clique em Reservar.
    3. Para Portas, escolha Única. Em Número da porta, introduza 80.
    4. Clique em Concluído.
  4. Para processar o tráfego IPv6, siga os passos seguintes:

    1. Para a versão do IP, selecione IPv6.
    2. Para Sub-rede, selecione lb-subnet.
    3. Para Intervalo IPv6, clique no menu pendente e selecione Criar endereço IP.
      1. Na página Reserve um novo endereço IP estático, para Nome, introduza netlb-ipv6-address.
      2. Clique em Reservar.
    4. Para Portas, escolha Única. Em Número da porta, introduza 80.
    5. Clique em Concluído.

    Um círculo azul com uma marca de verificação à esquerda de Configuração do front-end indica uma configuração bem-sucedida.

Reveja a configuração

  1. Clique em Rever e finalizar.
  2. Reveja as definições de configuração do equilibrador de carga.
  3. Opcional: clique em Código equivalente para ver o pedido da API REST que vai ser usado para criar o equilibrador de carga.
  4. Clique em Criar.

    Na página de balanceamento de carga, na coluna Back-end do novo balanceador de carga, deve ver uma marca de verificação verde a indicar que o novo balanceador de carga está em bom estado.

gcloud

  1. Reserve um endereço IP externo estático.

    Para tráfego IPv4

    Crie um endereço IPv4 externo estático para o seu balanceador de carga.

    gcloud compute addresses create netlb-ipv4-address \
        --region=us-west1
    

    Para tráfego IPv6

    Crie um intervalo de endereços IPv6 externos estáticos para o seu balanceador de carga. A sub-rede usada tem de ser uma sub-rede de pilha dupla com um intervalo IPv6 externo.

    gcloud compute addresses create netlb-ipv6-address \
        --region=us-west1 \
        --subnet=lb-subnet \
        --ip-version=IPV6 \
        --endpoint-type=NETLB
    
  2. Crie uma verificação de funcionamento de TCP.

    gcloud compute health-checks create tcp tcp-health-check \
        --region=us-west1 \
        --port=80
    
  3. Crie um serviço de back-end.

    gcloud compute backend-services create networklb-backend-service \
        --protocol=TCP \
        --health-checks=tcp-health-check \
        --health-checks-region=us-west1 \
        --region=us-west1
    
  4. Adicione os dois NEGs zonais, neg-a e neg-c, ao serviço de back-end:

    gcloud compute backend-services add-backend networklb-backend-service \
        --region=us-west1 \
        --network-endpoint-group=neg-a \
        --network-endpoint-group-zone=us-west1-a
    
    gcloud compute backend-services add-backend networklb-backend-service \
        --region=us-west1 \
        --network-endpoint-group=neg-c \
        --network-endpoint-group-zone=us-west1-c
    
  5. Crie as regras de encaminhamento consoante queira processar tráfego IPv4 ou tráfego IPv6. Crie ambas as regras de encaminhamento para processar ambos os tipos de tráfego.

    Para tráfego IPv4

    Crie uma regra de encaminhamento para encaminhar o tráfego TCP recebido para o serviço de back-end. Use o endereço IPv4 reservado no passo 1 como o endereço IP externo estático do balanceador de carga.

      gcloud compute forwarding-rules create forwarding-rule-ipv4 \
          --load-balancing-scheme=EXTERNAL \
          --region=us-west1 \
          --ports=80 \
          --address=netlb-ipv4-address \
          --backend-service=networklb-backend-service
    

    Para tráfego IPv6

    Crie uma regra de encaminhamento para processar tráfego IPv6. Use o intervalo de endereços IPv6 reservado no passo 1 como o endereço IP externo estático do balanceador de carga. A sub-rede usada tem de ser uma sub-rede de pilha dupla com um intervalo de sub-redes IPv6 externo.

      gcloud compute forwarding-rules create forwarding-rule-ipv6 \
          --load-balancing-scheme=EXTERNAL \
          --region=us-west1 \
          --network-tier=PREMIUM \
          --ip-version=IPV6 \
          --subnet=lb-subnet \
          --address=netlb-ipv6-address \
          --ports=80 \
          --backend-service=networklb-backend-service
    

Teste o balanceador de carga

Agora que o serviço de balanceamento de carga está configurado, pode começar a enviar tráfego para o endereço IP externo do balanceador de carga e ver o tráfego a ser distribuído para as instâncias de back-end.

Procure o endereço IP externo do balanceador de carga

Consola

  1. Na página de balanceamento de carga Avançado, aceda ao separador Regras de encaminhamento.

    Aceda a Regras de encaminhamento

  2. Localize a regra de encaminhamento usada pelo balanceador de carga.

  3. Na coluna Endereço, tome nota do endereço IP externo apresentado.

gcloud: IPv4

Introduza o seguinte comando para ver o endereço IPv4 externo da network-lb-forwarding-rule regra de encaminhamento usada pelo balanceador de carga.

gcloud compute forwarding-rules describe forwarding-rule-ipv4 \
    --region=us-west1

gcloud: IPv6

Introduza o seguinte comando para ver o endereço IPv6 externo da network-lb-forwarding-rule regra de encaminhamento usada pelo balanceador de carga.

gcloud compute forwarding-rules describe forwarding-rule-ipv6 \
    --region=us-west1

Envie tráfego para o balanceador de carga

Faça pedidos Web ao equilibrador de carga através de curl para contactar o respetivo endereço IP.

  • Em clientes com conetividade IPv4, execute o seguinte comando:

    while true; do curl -m1 IPV4_ADDRESS; done
    
  • Em clientes com conetividade IPv6, execute o seguinte comando:

    while true; do curl -m1 http://IPV6_ADDRESS; done
    

    Por exemplo, se o endereço IPv6 atribuído for [2001:db8:1:1:1:1:1:1/96]:80, o comando é semelhante ao seguinte:

    while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
    

Tenha em atenção o texto devolvido pelo comando curl. O nome da VM de back-end que gera a resposta é apresentado nesse texto; por exemplo: Page served from: VM_NAME

A resposta do comando curl alterna aleatoriamente entre as instâncias de back-end. Se a sua resposta for inicialmente sem êxito, pode ter de aguardar cerca de 30 segundos para que a configuração seja totalmente carregada e para que as suas instâncias sejam marcadas como em bom estado antes de tentar novamente.

Opções de configuração adicionais

Para personalizar ainda mais o seu Network Load Balancer de encaminhamento externo, pode configurar a afinidade de sessão, o encaminhamento de tráfego e configurar uma política de alternativa ou uma política de acompanhamento de ligações. Estas tarefas são opcionais e pode realizá-las por qualquer ordem. Para ver instruções, consulte Opções de configuração adicionais.

Crie uma regra de encaminhamento IPv6 com BYOIP

O balanceador de carga criado nos passos anteriores está configurado com regras de encaminhamento com IP version como IPv4 ou IPv6. Esta secção fornece instruções para criar uma regra de encaminhamento IPv6 com endereços IP (BYOIP).

A funcionalidade Bring your own IP addresses permite-lhe aprovisionar e usar os seus próprios endereços IPv6 públicos para Trusted Cloud by S3NS recursos. Para mais informações, consulte o artigo Use os seus próprios endereços IP.

Antes de começar a configurar uma regra de encaminhamento IPv6 com endereços BYOIP, tem de concluir os seguintes passos:

  1. Crie um prefixo IPv6 anunciado publicamente
  2. Crie prefixos públicos delegados
  3. Crie subprefixos IPv6
  4. Anuncie o prefixo

Para criar uma nova regra de encaminhamento, siga estes passos:

Consola

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga.

  2. Clique no nome do equilibrador de carga que quer modificar.
  3. Clique em Editar.
  4. Clique em Configuração do front-end.
  5. Clique em Adicionar IP e porta do front-end.
  6. Na secção Novo IP e porta de front-end, especifique o seguinte:
    1. Selecione o Protocolo de que precisa.
    2. No campo Versão do IP, selecione IPv6.
    3. No campo Origem do intervalo IPv6, selecione BYOIP.
    4. Na lista Recolha de IPs, selecione um subprefixo criado nos passos anteriores com a opção de regra de encaminhamento ativada.
    5. No campo Intervalo IPv6, introduza o intervalo de endereços IPv6. O prefixo do intervalo de endereços IPv6 tem de corresponder ao comprimento do prefixo atribuível especificado pelo subprefixo associado.
    6. No campo Portas, introduza um número de porta.
    7. Clique em Concluído.
  7. Clique em Atualizar.

gcloud

Crie a regra de encaminhamento através do comando gcloud compute forwarding-rules create:

gcloud compute forwarding-rules create FWD_RULE_NAME \
    --load-balancing-scheme EXTERNAL \
    --ip-protocol PROTOCOL \
    --ports ALL \
    --ip-version IPV6 \
    --region REGION_A \
    --address IPV6_CIDR_RANGE  \
    --backend-service BACKEND_SERVICE \
    --ip-collection PDP_NAME

Substitua o seguinte:

  • FWD_RULE_NAME: o nome da regra de encaminhamento
  • PROTOCOL: o protocolo IP para a regra de encaminhamento. A predefinição é TCP. O protocolo IP pode ser um dos seguintes: TCP, UDP ou L3_DEFAULT.
  • REGION_A: região para a regra de encaminhamento
  • IPV6_CIDR_RANGE: o intervalo de endereços IPv6 que a regra de encaminhamento serve. O prefixo do intervalo de endereços IPv6 tem de corresponder ao comprimento do prefixo atribuível especificado pelo subprefixo associado.
  • BACKEND_SERVICE: o nome do serviço de back-end
  • PDP_NAME: o nome do prefixo público delegado. O PDP tem de ser um subprefixo no modo EXTERNAL_IPV6_FORWARDING_RULE_CREATION

O que se segue?