Configurar um balanceador de carga de rede de passagem externa com um serviço de back-end

Neste guia, fornecemos instruções para criar uma implantação do balanceador de carga de rede de passagem externa usando um serviço de back-end regional. Este exemplo cria um balanceador de carga de rede de passagem externa compatível com tráfego TCP ou UDP. Se você quiser criar um balanceador de carga de rede de passagem externa que faça o balanceamento de carga do tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6 (não apenas TCP ou UDP), consulte Configurar um balanceador de carga de rede de passagem externa para vários protocolos IP.

Neste exemplo, usaremos o balanceador de carga para distribuir o tráfego TCP entre as VMs de back-end em dois grupos gerenciados de instâncias zonais na região us-central1. Uma abordagem igualmente válida seria usar um único grupo gerenciado de instâncias regional para a região us-central1.

Balanceador de carga de rede de passagem externa com grupos de instâncias zonais
Balanceador de carga de rede de passagem externa com grupos de instâncias gerenciadas zonais

Esse cenário distribui o tráfego TCP entre instâncias íntegras. Para dar suporte a este exemplo, as verificações de integridade de TCP são configuradas para garantir que o tráfego seja enviado apenas para instâncias íntegras. As verificações de integridade de TCP são compatíveis apenas com um balanceador de carga baseado em serviço de back-end. Os balanceadores de carga baseados em pool de destino só podem usar verificações de integridade HTTP legadas.

Este exemplo balanceia a carga do tráfego TCP, mas é possível usar os balanceadores de carga de rede de passagem externa baseados em serviço de back-end para balancear a carga do tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6.

O balanceador de carga de rede de passagem externa é 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) precisam estar na mesma região.

Antes de começar

Instale a Google Cloud CLI. Para uma visão geral completa da ferramenta, consulte Visão geral da CLI gcloud. Encontre os comandos relacionados ao balanceamento de carga nas referências do gcloud e da API.

Caso ainda não tenha usado a CLI do Google Cloud, primeiro execute gcloud init para autenticar.

Esse guia pressupõe que você esteja familiarizado com a ferramenta bash.

Configurar a rede e as sub-redes

O exemplo nesta página usa uma rede VPC de modo personalizado chamada lb-network. Você pode usar uma rede VPC no modo automático se quiser processar apenas o tráfego IPv4. 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 definido como IPv4_IPv6). Ao criar uma sub-rede de pilha dupla em uma rede VPC de modo personalizado, você escolhe um tipo de acesso IPv6 para a sub-rede. Neste exemplo, definimos o parâmetro ipv6-access-type da sub-rede como EXTERNAL. Isso significa que novas VMs nesta sub-rede podem ser atribuídas tanto a endereços IPv4 quanto IPv6 externos. As regras de encaminhamento também podem ser atribuídas a endereços IPv4 e 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 intervalo de endereços IPv4 principal 10.1.2.0/24. Embora você escolha qual intervalo de endereços IPv4 será configurado na sub-rede, o intervalo de endereços IPv6 é atribuído automaticamente. O Google fornece um bloco CIDR IPv6 de tamanho fixo (/64).

Para criar o exemplo de rede e sub-rede, siga estas etapas.

Console

Para oferecer suporte a tráfego IPv4 e IPv6, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique em Criar rede VPC.

  3. Informe um Nome de lb-network.

  4. Na seção Sub-redes:

    • Defina o Modo de criação de sub-rede como Personalizado.
    • Na seção Nova sub-rede, configure os campos a seguir e clique em Concluído:
      • Name: lb-subnet
      • Região: us-central1
      • Tipo de pilha de IP: IPv4 e IPv6 (pilha dupla)
      • Intervalo IPv4: 10.1.2.0/24
        É possível configurar um intervalo IPv4 de endereços para a sub-rede, mas não o intervalo de endereços IPv6 para sub-rede. O Google fornece um bloco CIDR IPv6 de tamanho fixo (/64).
      • Tipo de acesso IPv6: Externo
  5. Clique em Criar.

Para oferecer suporte apenas ao tráfego IPv4, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique em Criar rede VPC.

  3. Informe um Nome de lb-network.

  4. Na seção Sub-redes:

    • Defina o Modo de criação de sub-rede como Personalizado.
    • Na seção Nova sub-rede, configure os campos a seguir e clique em Concluído:
      • Name: lb-subnet
      • Região: us-central1
      • Tipo de pilha de IP: IPv4 (pilha única)
      • Intervalo IPv4: 10.1.2.0/24
  5. 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 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 somente tráfego IPv4, use o seguinte comando:

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

Criar os grupos gerenciados de instâncias zonais

Neste cenário de balanceamento de carga, você criará dois grupos gerenciados de instâncias zonais do Compute Engine e instalará um servidor de Apache web em cada instância.

Para lidar com 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 configuração ipv6-access-type (neste exemplo, EXTERNAL) da sub-rede. Para mais detalhes sobre os requisitos do IPv6, consulte a Visão geral do balanceador de carga de rede de passagem externa: regras de encaminhamento.

Para usar VMs como back-ends, atualize-as para que sejam de pilha dupla usando o comando gcloud compute instances network-interfaces update.

As instâncias que participam como VMs de back-end para balanceadores de carga de rede de passagem externa precisam executar o ambiente convidado Linux, o ambiente convidado Windows ou outros processos com capacidade equivalente.

Como configurar as instâncias

Console

  1. Crie um modelo de instância. No Console do Google Cloud, acesse a página Modelos de instância.

    Acessar "Modelos de instância"

    1. Clique em Criar modelo de instância.
    2. Em Nome, insira ig-us-template.
    3. Na seção Disco de inicialização, verifique se a Imagem está definida como uma imagem do Debian, como Debian GNU/Linux 12 (buster). Essas instruções usam comandos que estão disponíveis apenas no Debian, como apt-get.
    4. Clique em Opções avançadas.
    5. Clique em Rede.
      1. Em Tags de rede, insira lb-tag.
      2. Em Interfaces de rede, clique na interface padrão e configure os seguintes campos:
        • Rede: lb-network
        • Sub-rede: lb-subnet
      3. Clique em Concluído.
    6. Clique em Gerenciamento e copie o seguinte script no campo Script de inicialização.

      #! /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
      
    7. Clique em Criar.

  2. Crie um grupo de instâncias gerenciadas. No console do Google Cloud, acesse a página Grupos de instâncias.

    Acesse grupo de instâncias

    1. Clique em Criar grupo de instâncias.
    2. Selecione Novo grupo gerenciado de instâncias (sem estado). Para mais informações, consulte MIGs sem estado ou com estado.
    3. Em Nome, insira ig-us-1.
    4. Em Modelo de instância, selecione ig-us-template.
    5. Em Local, selecione Zona única.
    6. Em Região, selecione us-central1.
    7. Em Zona, selecione us-central1-a.
    8. Especifique o número de instâncias que você quer criar no grupo.

      Para este exemplo, especifique as seguintes opções na seção Escalonamento automático:

      • Em Modo de escalonamento automático, selecione Off:do not autoscale.
      • Em Número máximo de instâncias, insira 2.
    9. Clique em Criar.

  3. Repita as etapas anteriores para criar um segundo grupo gerenciado de instâncias na zona us-central1-c com as seguintes especificações:

    • Name: ig-us-2
    • Zona: us-central1-c
    • Modelo de instância: use o mesmo modelo ig-us-template criado na seção anterior.

gcloud

As instruções gcloud deste guia pressupõem que você está usando o Cloud Shell ou outro ambiente com o bash instalado.

  1. Crie um modelo de instância de VM com o servidor HTTP usando o comando gcloud compute instance-templates create.

    Para processar tanto tráfego IPv4 quanto IPv6, use o comando a seguir.

    gcloud compute instance-templates create ig-us-template \
    --region=us-central1 \
    --network=lb-network \
    --subnet=lb-subnet \
    --ipv6-network-tier=PREMIUM \
    --stack-type=IPv4_IPv6 \
    --tags=lb-tag \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --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 somente o tráfego IPv4, use o comando a seguir.

    gcloud compute instance-templates create ig-us-template \
    --region=us-central1 \
    --network=lb-network \
    --subnet=lb-subnet \
    --tags=lb-tag \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --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'
    
  2. Crie um grupo gerenciado de instâncias na zona com o comando gcloud compute instance-groups managed create.

    gcloud compute instance-groups managed create ig-us-1 \
        --zone us-central1-a \
        --size 2 \
        --template ig-us-template
    
  3. Crie um segundo grupo gerenciado de instâncias na zona us-central1-c:

    gcloud compute instance-groups managed create ig-us-2 \
        --zone us-central1-c \
        --size 2 \
        --template ig-us-template
    

Como configurar regras de firewall

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

Neste exemplo, criamos uma regra de firewall que permite que o tráfego TCP de todos os intervalos de origem alcancem suas instâncias de back-end na porta 80. Se você quiser criar regras de firewall separadas especificamente para as sondagens de verificação de integridade, use os intervalos de endereços IP de origem documentados na Visão geral das verificações de integridade: regras de firewall e intervalos de IP de sondagem.

Console

  1. No Console do Google Cloud, acesse a página políticas de Firewall.

    Acesse as políticas de firewall

  2. Para permitir o tráfego IPv4, siga estas etapas:

    1. Clique em Criar regra de firewall.
    2. Em Nome, insira allow-network-lb-ipv4.
    3. Na lista Rede, selecione lb-network.
    4. Em Destinos, selecione Specified target tags.
    5. No campo Tags de destino, insira lb-tag.
    6. Em Filtro de origem, selecione Intervalos IPv4.
    7. Defina os Intervalos IPv4 de origem como 0.0.0.0/0. Isso permite tráfego IPv4 de qualquer origem. Isso também permite que as sondagens de verificação de integridade do Google alcancem as instâncias de back-end.
    8. Em Protocolos e portas especificados, marque a caixa de seleção TCP e insira 80.
    9. Clique em Criar. Pode levar um tempo para que o Console do Google Cloud exiba a nova regra de firewall. Talvez seja necessário clicar em Atualizar para vê-la.
  3. Para permitir o tráfego IPv6, siga estas etapas:

    1. Clique em Criar regra de firewall novamente.
    2. Em Nome, insira allow-network-lb-ipv6.
    3. Na lista Rede, selecione lb-network.
    4. Em Destinos, selecione Specified target tags.
    5. No campo Tags de destino, insira lb-tag.
    6. Em Filtro de origem, selecione Intervalos IPv6.
    7. Defina os Intervalos IPv6 de origem como ::/0. Isso permite tráfego IPv6 de qualquer origem. Isso também permite que as sondagens de verificação de integridade do Google alcancem as instâncias de back-end.
    8. Em Protocolos e portas especificados, marque a caixa de seleção TCP e insira 80.
    9. Clique em Criar. Pode levar um tempo para que o console exiba a nova regra de firewall. Talvez seja necessário clicar em Atualizar para vê-la.

gcloud

  1. Para permitir 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
    
  2. Para permitir 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
    

Configurar o balanceador de carga

Em seguida, configure o balanceador de carga.

Quando você configura o balanceador de carga, as instâncias da máquina virtual (VM) recebem pacotes destinados ao endereço IP externo estático definido. Se você usa uma imagem fornecida pelo Compute Engine, as instâncias são configuradas automaticamente para processar esse endereço IP. Se você estiver usando outra imagem, configure esse endereço como um alias em eth0 ou como um loopback em cada instância.

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

Console

Iniciar a configuração

  1. No console do Google Cloud, acesse a página Balanceamento de carga.

    Acessar o "Balanceamento de carga"

  2. Clique em Criar balanceador de carga.
  3. Em Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Próxima.
  4. Em Proxy ou passagem, selecione Balanceador de carga de passagem e clique em Próxima.
  5. Em Voltado ao público ou interno, selecione Voltado ao público (externo) e clique em Próxima.
  6. Clique em Configurar.

Configuração de back-end

  1. Na página Criar balanceador de carga de rede de passagem externa, insira o nome tcp-network-lb para o novo balanceador de carga.
  2. Em Região, selecione us-central1.
  3. Clique em Configuração de back-end.
  4. Na tela Configuração de back-end, faça as alterações a seguir:
    1. Em Novo back-end, selecione o Tipo de pilha de IP. Se você criou back-ends de pilha dupla para lidar com o tráfego IPv4 e IPv6, selecione IPv4 e IPv6 (pilha dupla). Para processar apenas o tráfego IPv4, selecione IPv4(pilha única).
    2. Na lista Grupo de instâncias, selecione ig-us-1 e clique em Concluído.
    3. Clique em Adicionar um back-end e repita esta etapa para adicionar ig-us-2.
    4. Em Verificação de integridade, clique em Criar verificação de integridade ou Criar outra verificação de integridade e insira as seguintes informações:
      • Name: tcp-health-check
      • Protocolo: TCP
      • Porta: 80
    5. Clique em Salvar.
  5. Verifique se há uma marca de seleção azul ao lado de Configuração do back-end antes de continuar.

Configuração de front-end

  1. Clique em Configuração de front-end.
  2. Em Nome, insira network-lb-forwarding-rule.
  3. Para processar o tráfego IPv4, siga estas etapas:
    1. Em Versão IP, selecione IPv4.
    2. Na seção Finalidade do IP interno, na lista de Endereços IP, selecione Criar endereço IP.
      1. Na página Reservar um novo endereço IP estático, em Nome, insira network-lb-ipv4.
      2. Clique em Reservar.
    3. Em Portas, escolha Porta única. Em Número da porta, digite 80.
    4. Clique em Concluído.
  4. Para processar o tráfego IPv6, siga estas etapas:

    1. Em Versão IP, selecione IPv6.
    2. Em Sub-rede, selecione lb-subnet.
    3. Na lista Intervalo IPv6, selecione Criar endereço IP.
      1. Na página Reservar um novo endereço IP estático, em Nome, insira network-lb-ipv6.
      2. Clique em Reservar.
    4. Em Portas, selecione Individuais. Em Número da porta, digite 80.
    5. Clique em Concluído.

    Um círculo azul com uma marca de seleção à esquerda de Configuração de front-end indica o sucesso da configuração.

Analise a configuração

  1. Clique em Analisar e finalizar.
  2. Revise suas configurações do balanceador de carga.
  3. Opcional: clique em Código equivalente para conferir a solicitação de API REST que será usada para criar o balanceador de carga.
  4. Clique em Criar.

    Na tela do balanceamento de carga, na coluna "Back-end" do novo balanceador de carga, você verá uma marca de seleção verde. Ela indica que o novo balanceador de carga é íntegro.

gcloud

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

    Para tráfego IPv4: crie um endereço IPv4 externo estático para seu balanceador de carga.

    gcloud compute addresses create network-lb-ipv4 \
        --region us-central1
    

    Para tráfego IPv6: crie um intervalo de endereços IPv6 estáticos para o balanceador de carga. A sub-rede usada precisa ser uma sub-rede de pilha dupla com um intervalo IPv6 externo.

    gcloud compute addresses create network-lb-ipv6 \
        --region us-central1 \
        --subnet lb-subnet \
        --ip-version IPV6 \
        --endpoint-type NETLB
    
  2. Crie uma verificação de integridade TCP.

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

    gcloud compute backend-services create network-lb-backend-service \
        --protocol TCP \
        --health-checks tcp-health-check \
        --health-checks-region us-central1 \
        --region us-central1
    
  4. Adicione os dois grupos de instâncias ao serviço de back-end.

    gcloud compute backend-services add-backend network-lb-backend-service \
    --instance-group ig-us-1 \
    --instance-group-zone us-central1-a \
    --region us-central1
    
    gcloud compute backend-services add-backend network-lb-backend-service \
    --instance-group ig-us-2 \
    --instance-group-zone us-central1-c \
    --region us-central1
    
  5. Crie as regras de encaminhamento dependendo se você quer processar o tráfego IPv4 ou IPv6. Crie as duas regras de encaminhamento para processar ambos os tipos de tráfego.

    1. Para tráfego IPv4: crie uma regra de encaminhamento para rotear o tráfego TCP de entrada para o serviço de back-end. Use o endereço IPv4 reservado na etapa 1 como o endereço IP externo estático do balanceador de carga.

      gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv4 \
        --load-balancing-scheme EXTERNAL \
        --region us-central1 \
        --ports 80 \
        --address network-lb-ipv4 \
        --backend-service network-lb-backend-service
      
    2. Para tráfego IPv6: crie uma regra de encaminhamento para processar o tráfego IPv6. Use o intervalo de endereços IPv6 reservado na etapa 1 como o endereço IP externo estático do balanceador de carga. A sub-rede usada precisa ser uma sub-rede de pilha dupla com um intervalo de sub-rede IPv6 externo.

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

Testar o balanceador de carga

Agora que o serviço de balanceamento de carga foi configurado, comece a enviar tráfego para o endereço IP externo do balanceador de carga e veja o tráfego ser distribuído às instâncias de back-end.

Procure o endereço IP externo do balanceador de carga.

Console

  1. Na página Componentes do balanceamento de carga, acesse a guia Regras de encaminhamento.

    Acessar as regras de encaminhamento

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

  3. Na coluna Endereço IP externo, anote o endereço IP externo listado.

gcloud: IPv4

Insira o comando a seguir para visualizar o endereço IPv4 externo da regra de encaminhamento network-lb-forwarding-rule usada pelo balanceador de carga.

gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv4 \
    --region us-central1

gcloud: IPv6

Insira o comando a seguir para visualizar o endereço IPv6 externo da regra de encaminhamento network-lb-forwarding-rule usada pelo balanceador de carga.

gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv6 \
    --region us-central1

Enviar tráfego ao balanceador de carga

Faça solicitações da Web para o balanceador de carga usando curl para contatar o endereço IP dele.

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

    $ while true; do curl -m1 IPV4_ADDRESS; done
    
  • Em clientes com conectividade 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 terá esta aparência:

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

Observe o texto retornado pelo comando curl. O nome da VM de back-end que gera a resposta é exibido nesse texto. Por exemplo: Page served from: VM_NAME.

A resposta do comando curl alterna aleatoriamente entre as instâncias de back-end. Se ocorrer falha na resposta, aguarde cerca de 30 segundos para que a configuração seja totalmente carregada e as instâncias sejam marcadas como íntegras antes de tentar novamente:

Outras opções de configuração

Nesta seção, você verá mais detalhadamente o exemplo de configuração para fornecer instruções sobre como personalizar ainda mais o balanceador de carga de rede. Essas tarefas são opcionais. É possível realizá-las em qualquer ordem.

Configurar a afinidade da sessão

A configuração de exemplo cria um serviço de back-end com a afinidade da sessão desativada (valor definido como NONE). Nesta seção, mostramos como atualizar o serviço de back-end para alterar a configuração de afinidade da sessão do balanceador de carga.

Para ver os tipos de afinidade de sessão compatíveis, consulte Opções de afinidade de sessão.

Console

  1. No Console do Google Cloud, acesse a página Balanceamento de carga.

    Acessar o "Balanceamento de carga"

  2. Na guia Balanceadores de carga, clique no nome do serviço de back-end e depois em Editar.

  3. Na página Editar balanceador de carga de rede de passagem externa, clique em Configuração de back-end.

  4. Selecione uma opção na lista Afinidade da sessão.

  5. Clique em Atualizar.

gcloud

Use o comando gcloud a seguir para atualizar a afinidade de sessão para o serviço de back-end:

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --session-affinity=SESSION_AFFINITY_OPTION

Substitua os marcadores por valores válidos:

  • BACKEND_SERVICE: o serviço de back-end que você está atualizando.
  • SESSION_AFFINITY_OPTION: a opção de afinidade de sessão que você quer definir.

    Para ver a lista de valores compatíveis com um balanceador de carga de rede de passagem externa, consulte Opções de afinidade de sessão.

Configurar uma política de rastreamento de conexão

A configuração de exemplo cria um serviço de back-end com as definições padrão para a política de rastreamento de conexão. Nesta seção, você verá como atualizar o serviço de back-end para alterar a política de rastreamento de conexão padrão do balanceador de carga.

Uma política de rastreamento de conexão inclui as seguintes configurações:

gcloud

Use o seguinte comando gcloud compute backend-services para atualizar a política de rastreamento de conexão do serviço de back-end:

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --tracking-mode=TRACKING_MODE \
    --connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR

Substitua os marcadores por valores válidos:

  • BACKEND_SERVICE: o serviço de back-end que você está atualizando.
  • TRACKING_MODE: o modo de rastreamento de conexão a ser usado para pacotes de entrada. Para ver a lista de valores compatíveis, consulte Modo de rastreamento.
  • CONNECTION_PERSISTENCE_BEHAVIOR: o comportamento de persistência de conexão quando os back-ends não estão íntegros. Para ver a lista de valores compatíveis, consulte Persistência de conexão em back-ends não íntegros.

Configurar o direcionamento de tráfego

Nesta seção, mostramos como atualizar a configuração de front-end de um balanceador de carga para definir o direcionamento de tráfego baseado em IP de origem. Para mais detalhes sobre como funciona o direcionamento de tráfego, consulte Direcionamento de tráfego.

Estas instruções presumem que você já tenha criado a regra de encaminhamento base mãe. Este exemplo cria uma segunda regra de encaminhamento, que é a regra de encaminhamento, com o mesmo endereço IP, protocolo IP e portas que o pai. Essa regra de encaminhamento é configurada com intervalos de IP de origem para que você possa personalizar como os pacotes desses intervalos de IP de origem são encaminhados.

gcloud

Use o comando a seguir para criar uma regra de encaminhamento de direcionamento que aponte para um serviço de back-end:

gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_BS \
    --load-balancing-scheme=EXTERNAL \
    --backend-service=BACKEND_SERVICE \
    --address=LOAD_BALANCER_VIP \
    --ip-protocol=IP_PROTOCOL \
    --ports=PORTS \
    --region=REGION \
    --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES

Use o comando a seguir para criar uma regra de encaminhamento de direcionamento que aponte para uma instância de destino:

gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_TI \
    --load-balancing-scheme=EXTERNAL \
    --target-instance=TARGET_INSTANCE \
    --address=LOAD_BALANCER_VIP \
    --ip-protocol=IP_PROTOCOL \
    --ports=PORTS \
    --region=REGION \
    --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES

Substitua os marcadores por valores válidos:

  • FORWARDING_RULE: o nome da regra de encaminhamento de direção que você está criando.
  • BACKEND_SERVICE ou TARGET_INSTANCE: o nome do serviço de back-end ou instância de destino para onde esta regra de encaminhamento de direcionamento enviará tráfego. Mesmo que a regra de encaminhamento principal aponte para um serviço de back-end, é possível criar regras de encaminhamento que apontem para instâncias de destino.
  • LOAD_BALANCER_VIP, IP_PROTOCOL, PORTS: o endereço IP, o protocolo IP e as portas, respectivamente, para a regra de encaminhamento de direcionamento que você está criando. Essas configurações precisam corresponder a uma regra de encaminhamento base preexistente.
  • REGION: a região da regra de encaminhamento que você está criando.
  • SOURCE_IP_ADDRESS_RANGES: lista separada por vírgulas de endereços IP ou intervalos de endereços IP. Essa regra de encaminhamento só encaminha o tráfego quando o endereço IP de origem do pacote de entrada se enquadra em um dos intervalos de IP definidos aqui.

Use o comando a seguir para excluir uma regra de encaminhamento de direcionamento É necessário excluir qualquer regra de encaminhamento de direcionamento que esteja sendo usada por um balanceador de carga antes de excluir o próprio balanceador de carga.

gcloud compute forwarding-rules delete STEERING_FORWARDING_RULE \
    --region=REGION

Configurar política de failover

Para configurar a política de failover, consulte Configurar failover para balanceadores de carga de rede de passagem externa.

Configurar balanceamento de carga ponderado

Para configurar o balanceamento de carga ponderado, consulte Configurar balanceamento de carga ponderado.

Criar uma regra de encaminhamento IPv6 com BYOIP

O balanceador de carga criado nas etapas anteriores foi configurado com regras de encaminhamento com IP version como IPv4 ou IPv6. Esta seção fornece instruções para criar uma regra de encaminhamento IPv6 com endereços BYOIP.

Trazer seus próprios endereços IP permite que você provisione e use seus próprios endereços IPv6 públicos para os recursos do Google Cloud. Para mais informações, consulte Trazer seus próprios endereços IP.

Antes de começar a configurar uma regra de encaminhamento IPv6 com endereços BYOIP, conclua as seguintes etapas:

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

Para criar uma regra de encaminhamento, siga estas etapas:

Console

  1. No Console do Google Cloud, acesse a página Balanceamento de carga.

    Acessar o "Balanceamento de carga"

  2. Clique no nome do balanceador de carga que você quer modificar.
  3. Clique em Editar.
  4. Clique em Configuração de front-end.
  5. Clique em Adicionar IP e porta de front-end.
  6. Na seção Novo IP e nova porta de front-end, especifique o seguinte:
    1. O protocolo é TCP.
    2. No campo Versão IP, selecione IPv6.
    3. No campo Origem do intervalo IPv6, selecione BYOIP.
    4. Na lista Coleção de IPs, selecione um subprefixo criado nas etapas anteriores com a opção de regra de encaminhamento ativada.
    5. No campo Intervalo IPv6, insira o intervalo de endereços IPv6. O intervalo de endereços IPv6 precisa obedecer às especificações de subprefixo IPv6.
    6. No campo Portas, digite um número de porta.
    7. Clique em Concluído.
  7. Clique em Atualizar.

Google Cloud CLI

Crie a regra de encaminhamento usando o 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:

  • FWD_RULE_NAME: o nome da regra de encaminhamento
  • PROTOCOL: o protocolo IP da regra de encaminhamento. O padrão é TCP. O protocolo IP pode ser TCP, UDP ou L3_DEFAULT.
  • REGION_A: região da regra de encaminhamento
  • IPV6_CIDR_RANGE: o intervalo de endereços IPv6 que a regra de encaminhamento atende. O intervalo de endereços IPv6 precisa obedecer às especificações de subprefixo IPv6.
  • BACKEND_SERVICE: o nome do serviço de back-end
  • PDP_NAME: o nome do prefixo delegado público. O PDP precisa ser um subprefixo no modo EXTERNAL_IPV6_FORWARDING_RULE_CREATION

A seguir