Configure um balanceador de carga de aplicações externo global com conetividade híbrida

Esta página ilustra como implementar um Application Load Balancer externo global para equilibrar a carga do tráfego para pontos finais de rede no local ou noutras nuvens públicas e que são acessíveis através da conetividade híbrida.

Depois de concluir estas tarefas, pode explorar opcionalmente a ativação de serviços adicionais (como o Cloud CDN e o Google Cloud Armor) e funcionalidades avançadas de gestão de tráfego.

Se ainda não o fez, reveja a vista geral dos NEGs de conetividade híbrida para compreender os requisitos de rede para configurar o equilíbrio de carga híbrido.

Vista geral da configuração

O exemplo nesta página configura a seguinte implementação de exemplo:

Exemplo de balanceador de carga de aplicações externo para conetividade híbrida.
Exemplo de equilibrador de carga de aplicações externo para conetividade híbrida (clique para aumentar).

Tem de configurar a conetividade híbrida antes de tentar configurar uma implementação de equilíbrio de carga híbrido. Este documento não inclui a configuração da conetividade híbrida.

Consoante o produto de conetividade híbrida que escolher (Cloud VPN ou Cloud Interconnect [dedicado ou parceiro]), use a documentação do produto relevante para o configurar.

Autorizações

Para configurar o equilíbrio de carga híbrido, tem de ter as seguintes autorizações:

  • Ativar Google Cloud

  • No seu ambiente local ou noutro ambiente que não seja deGoogle Cloud nuvem

    • Autorizações para configurar pontos finais de rede que permitem que os serviços no seu ambiente no local ou noutros ambientes de nuvem sejam acessíveis a partir deGoogle Cloud através de uma combinação IP:Port. Para mais informações, contacte o administrador de rede do seu ambiente.
    • Autorizações para criar regras de firewall no seu ambiente nas instalações ou noutros ambientes na nuvem para permitir que as sondas de verificação de estado da Google alcancem os pontos finais.

Além disso, para concluir as instruções nesta página, tem de criar um NEG de conetividade híbrida, um equilibrador de carga e NEGs zonais (e os respetivos pontos finais) para funcionarem como back-ends baseados em Google Cloudpara o equilibrador de carga.

Deve ser proprietário ou editor do projeto, ou ter as seguintes funções do IAM do Compute Engine.

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

Estabeleça conetividade híbrida

O seu Google Cloud ambiente nas instalações ou outros ambientes na nuvem têm de estar ligados através de conetividade híbrida com anexos de VLAN do Cloud Interconnect ou túneis do Cloud VPN com VMs do Cloud Router ou do dispositivo de router. Recomendamos que use uma ligação de alta disponibilidade.

Um Cloud Router ativado com encaminhamento dinâmico global sabe mais sobre o ponto final específico através do protocolo de gateway de fronteira (BGP) e programa-o na sua Google Cloud rede VPC. O encaminhamento dinâmico regional não é suportado. As rotas estáticas também não são suportadas.

Pode usar a mesma rede ou uma rede VPC diferente no mesmo projeto para configurar a rede híbrida (Cloud Interconnect, Cloud VPN ou uma VM de dispositivo de encaminhamento) e o equilibrador de carga. Tenha em atenção o seguinte:

  • Se usar redes VPC diferentes, as duas redes têm de estar ligadas através do peering de redes VPC ou têm de ser raios VPC no mesmo hub do Network Connectivity Center.

  • Se usar a mesma rede VPC, certifique-se de que os intervalos CIDR da sub-rede da rede VPC não entram em conflito com os intervalos CIDR remotos. Quando os endereços IP se sobrepõem, os caminhos de sub-rede têm prioridade sobre a conetividade remota.

Para ver instruções, consulte a seguinte documentação:

Configure o seu ambiente externo ao domínio Google Cloud

Execute os passos seguintes para configurar o seu ambiente no local ou outro ambiente de nuvem para o equilíbrio de carga híbrido:

  • Configure pontos finais de rede para expor serviços no local a Google Cloud (IP:Port).
  • Configure regras de firewall no seu ambiente nas instalações ou noutro ambiente na nuvem.
  • Configure o Cloud Router para anunciar determinadas rotas necessárias ao seu ambiente privado.

Configure pontos finais de rede

Depois de configurar a conetividade híbrida, configura um ou mais pontos finais de rede no seu ambiente nas instalações ou noutros ambientes na nuvem que são acessíveis através do Cloud Interconnect ou do Cloud VPN ou do dispositivo Router usando uma combinação IP:port. Esta IP:port combinação é configurada como um ou mais pontos finais para o NEG de conetividade híbrida que é criado Google Cloud mais tarde neste processo.

Se existirem vários caminhos para o ponto final IP, o encaminhamento segue o comportamento descrito na vista geral do Cloud Router.

Configure regras de firewall

As seguintes regras de firewall têm de ser criadas no seu ambiente nas instalações ou noutro ambiente na nuvem:

  • Crie uma regra de firewall de permissão de entrada para permitir o tráfego das sondas de verificação de estado da Google para os seus pontos finais. Os intervalos de endereços IP de origem a serem permitidos são 35.191.0.0/16 e 130.211.0.0/22. Para mais informações, consulte os Intervalos de IP de sondagem e as regras da firewall.

Configure o Cloud Router para anunciar os seguintes intervalos de IP personalizados ao seu ambiente nas instalações ou outro ambiente na nuvem:

  • Os intervalos usados pelas sondas de verificação de saúde da Google: 35.191.0.0/16 e 130.211.0.0/22.

Configure o Google Cloud ambiente

Para os passos seguintes, certifique-se de que usa a mesma rede VPC (denominada NETWORK neste procedimento) que foi usada para configurar a conetividade híbrida entre os ambientes.

Crie a sub-rede para os back-ends

Esta sub-rede é usada para criar os back-ends do NEG zonal do equilibrador de carga, o front-end e o endereço IP interno.

Crie esta sub-rede na NETWORKrede que foi usada para configurar a conetividade híbrida entre os ambientes.

Consola

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

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

    Aceda a redes de VPC

  2. Aceda à rede que foi usada para configurar a conetividade híbrida entre os ambientes.

    • Clique em Edit.
    • Para o Modo de criação de sub-rede, escolha Personalizado.
    • Clique em Guardar.
  3. Opcional: se quiser configurar intervalos de endereços IPv6 internos em sub-redes nesta rede, conclua estes passos:

    1. Para o intervalo IPv6 interno ULA da rede VPC, selecione Ativado.
    2. Para Atribuir intervalo IPv6 interno, selecione Automaticamente ou Manualmente.

      Se selecionar Manualmente, introduza um intervalo de /48 no intervalo de fd20::/20. Se o intervalo estiver em uso, é-lhe pedido que faculte um intervalo diferente.

  4. No separador Sub-redes, clique em Adicionar sub-rede.

  5. No painel Adicionar uma sub-rede, configure os seguintes campos:

    1. No campo Nome, indique um nome para a sub-rede.
    2. No campo Região, selecione uma região.
    3. No campo Intervalo de endereços IP, introduza um intervalo de endereços IP.
    4. Para o Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
    5. No campo Tipo de acesso IPv6, selecione Externo.
    6. Clique em Adicionar.

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

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

    Aceda a redes de VPC

  2. Aceda à rede que foi usada para configurar a conetividade híbrida entre os ambientes.

    • Clique em Edit.
    • Para o Modo de criação de sub-rede, escolha Personalizado.
    • Clique em Guardar.
  3. No separador Sub-redes, clique em Adicionar sub-rede.

  4. No painel Adicionar uma sub-rede, introduza as seguintes informações:

    • No campo Nome, indique um nome para a sub-rede.
    • No campo Região, selecione uma região.
    • No campo Intervalo de endereços IP, introduza um intervalo de endereços IP.
    • No campo Tipo de pilha de IP, selecione IPv4 (pilha única).
    • Clique em Adicionar.

gcloud

Crie uma sub-rede na NETWORK rede que foi usada para configurar a conetividade híbrida entre os ambientes.

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

gcloud compute networks update NETWORK \
    [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
    --switch-to-custom-subnet-mode
gcloud compute networks subnets create LB_SUBNET_NAME \
    --network=NETWORK \
    --range=LB_SUBNET_RANGE \
    --region=REGION \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=EXTERNAL

Para tráfego IPv4, use o seguinte comando:

gcloud compute networks subnets create LB_SUBNET_NAME \
    --network=NETWORK \
    --range=LB_SUBNET_RANGE \
    --region=REGION

Substitua o seguinte:

  • NETWORK: um nome para a rede da VPC.

  • LB_SUBNET_NAME: um nome para a sub-rede.

  • REGION: o nome da região.

  • ULA_IPV6_RANGE: um prefixo /48 do intervalo fd20::/20 usado pela Google para intervalos de sub-redes IPv6 internos. Se não usar a flag --internal-ipv6-range, a Google seleciona um prefixo /48 para a rede.

Crie uma regra de firewall

Neste exemplo, cria a seguinte regra de firewall:

  • fw-allow-health-check: uma regra de entrada, aplicável às instâncias com balanceamento de carga, que permite o tráfego do balanceador de carga e dos sistemas de verificação de funcionamento (130.211.0.0/22 e 35.191.0.0/16). Este exemplo usa a etiqueta de destino allow-health-check para identificar as VMs de back-end às quais deve ser aplicada. Google CloudGoogle Cloud

Consola

  1. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Clique em Criar regra de firewall:

    1. Introduza um Nome de fw-allow-health-check.
    2. Na secção Rede, selecione NETWORK.
    3. Em Segmentações, selecione Etiquetas de segmentação especificadas.
    4. Preencha o campo Etiquetas alvo com allow-health-check.
    5. Defina o Filtro de origem como Intervalos IPv4.
    6. Defina os Intervalos IPv4 de origem como 130.211.0.0/22 e 35.191.0.0/16.
    7. Em Protocolos e portas, selecione Protocolos e portas especificados.
    8. Selecione a caixa de verificação junto a TCP e escreva 80 para os números das portas.
  3. Clique em Criar.

  4. Para permitir o tráfego de sub-rede IPv6, clique novamente em Criar regra de firewall e introduza as seguintes informações:

    1. Nome: fw-allow-lb-access-ipv6
    2. Rede: NETWORK
    3. Prioridade: 1000
    4. Direção do trânsito: entrada
    5. Objetivos: etiquetas de destino especificadas
    6. No campo Etiquetas de destino, introduza allow-health-check-ipv6
    7. Filtro de origem: intervalos IPv6
    8. Intervalos IPv6 de origem: 2600:2d00:1:b029::/64,2600:2d00:1:1::/64
    9. Protocolos e portas: Permitir tudo
  5. Clique em Criar.

gcloud

  1. Crie a regra fw-allow-health-check-and-proxy para permitir que o balanceador de carga e as Google Cloud verificações de funcionamento comuniquem com as instâncias de back-end na porta TCP 80.

    Substitua NETWORK pelo nome da rede VPC usada para configurar a conetividade híbrida.

    gcloud compute firewall-rules create fw-allow-health-check \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp:80
    
  2. Crie a regra fw-allow-health-check-ipv6 para permitir Google Cloud verificações de funcionamento de IPv6.

    gcloud compute firewall-rules create fw-allow-health-check-ipv6 \
       --network=NETWORK \
       --action=allow \
       --direction=ingress \
       --target-tags=allow-health-check-ipv6 \
       --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \
       --rules=tcp,udp,icmp
    

Configure o NEG zonal

Para back-ends baseados em Google Cloud, recomendamos que configure vários NEGs zonais na mesma região onde configurou a conetividade híbrida.

Os NEGs zonais com um ou mais pontos finais do tipo GCE_VM_IP_PORT suportam a pilha dupla.

Para este exemplo, configurámos um NEG zonal (com pontos finais do tipo GCE_VM_IP_PORT) na região REGION. Primeiro, crie as VMs na zona GCP_NEG_ZONE. Em seguida, crie um NEG zonal no mesmo GCP_NEG_ZONE e adicione os pontos finais de rede das VMs ao NEG.

Crie VMs

Consola

  1. Aceda à página de instâncias de VM na Google Cloud consola.
    Aceder a instâncias de VM

  2. Clique em Criar instância.

  3. Defina o Nome como vm-a1.

  4. Para a Região, escolha REGION.

  5. Para a Zona, escolha GCP_NEG_ZONE.

  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. Clique em Escolher para alterar a imagem, se necessário.

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

    • Clique em Rede e adicione as seguintes etiquetas de rede: allow-health-check.
    • Clique em Editar em Interfaces de rede, faça as seguintes alterações e, de seguida, clique em Concluído:
      • Rede: NETWORK
      • Subnet: LB_SUBNET_NAME
      • Tipo de pilha de IP: IPv4 e IPv6 (dupla pilha)
    • 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.

  9. Repita os passos seguintes para criar uma segunda VM com a seguinte combinação de nome e zona:

    • Nome: vm-a2, zona: GCP_NEG_ZONE

gcloud

Crie as VMs executando o seguinte comando duas vezes, usando estas combinações para o nome da VM e a respetiva zona. Os conteúdos do script são idênticos para ambas as VMs.

  • VM_NAME de vm-a1 e qualquer zona GCP_NEG_ZONE à sua escolha
  • VM_NAME de vm-a2 e a mesma zona de GCP_NEG_ZONE

    Para suportar o tráfego IPv4 e IPv6, execute o seguinte comando:

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-health-check,allow-health-check-ipv6 \
        --ipv6-network-tier=PREMIUM \
        --stack-type=IPV4_IPV6 \
        --subnet=LB_SUBNET_NAME \
        --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 o NEG zonal

Consola

Para criar um grupo de pontos finais de rede zonal:

  1. Aceda à página Grupos de pontos finais de rede na Google 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. Referido como GCP_NEG_NAME neste procedimento.
  4. Selecione o Tipo de grupo de pontos finais da rede: Grupo de pontos finais da rede (zonal).
  5. Selecione a rede: NETWORK
  6. Selecione a Sub-rede: LB_SUBNET_NAME
  7. Selecione a zona: GCP_NEG_ZONE
  8. Introduza a Porta predefinida: 80.
  9. Clique em Criar.

Adicione pontos finais ao NEG zonal:

  1. Aceda à página Grupos de pontos finais de rede na Google Cloud consola.
    Aceda aos grupos de pontos finais da rede
  2. Clique no Nome do grupo de pontos finais de rede criado no passo anterior (GCP_NEG_NAME). É apresentada a página Detalhes do grupo de pontos finais de 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.
  4. Selecione uma instância de VM para adicionar os respetivos endereços IP internos como pontos finais de rede. Na secção Interface de rede, é apresentado o nome, a zona e a sub-rede da VM.
  5. No campo Endereço IPv4, introduza o endereço IPv4 do novo ponto final de rede.
  6. No campo Endereço IPv6, introduza o endereço IPv6 do novo ponto final de rede.
  7. Selecione o Tipo de porta.
    1. Se selecionar Predefinição, o ponto final usa a porta predefinida 80 para todos os pontos finais no grupo de pontos finais da rede. Isto é suficiente para o nosso exemplo porque o servidor Apache está a processar pedidos na porta 80.
    2. Se selecionar Personalizado, introduza o Número da porta do ponto final a usar.
  8. Para adicionar mais pontos finais, clique em Adicionar ponto final de rede e repita os passos anteriores.
  9. Depois de adicionar todos os pontos finais, clique em Criar.

gcloud

  1. Crie um NEG zonal (com GCE_VM_IP_PORT pontos finais) usando o comando gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create GCP_NEG_NAME \
        --network-endpoint-type=GCE_VM_IP_PORT \
        --zone=GCP_NEG_ZONE \
        --network=NETWORK \
        --subnet=LB_SUBNET_NAME
    

    Pode especificar um --default-port ao criar o NEG ou especificar um número de porta para cada ponto final conforme mostrado no passo seguinte.

  2. Adicione pontos finais de pilha dupla a GCP_NEG_NAME.

    gcloud compute network-endpoint-groups update GCP_NEG_NAME \
       --zone=GCP_NEG_ZONE \
       --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \
                       ipv6=IPv6_ADDRESS,port=80' \
       --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \
                       ipv6=IPv6_ADDRESS,port=80'
    

Configure o NEG de conetividade híbrida

Ao criar o NEG, use um ZONE que minimize a distância geográfica entre Google Cloud e o seu ambiente nas instalações ou noutra nuvem. Por exemplo, se estiver a alojar um serviço num ambiente no local em Frankfurt, na Alemanha, pode especificar a zona europe-west3-a Google Cloud quando criar o NEG.

Além disso, se estiver a usar o Cloud Interconnect, o ZONE usado para criar o NEG deve estar na mesma região onde o anexo de VLAN do Cloud Interconnect de conetividade híbrida foi configurado.

Para ver as regiões e as zonas disponíveis, consulte a documentação do Compute Engine: regiões e zonas disponíveis.

Consola

Para criar um grupo de pontos finais de rede de conetividade híbrida:

  1. Aceda à página Grupos de pontos finais de rede na Google Cloud consola.
    Aceda a Grupos de pontos finais da rede
  2. Clique em Criar grupo de pontos finais de rede.
  3. Introduza um nome para o NEG híbrido. Referido como ON_PREM_NEG_NAME neste procedimento.
  4. Selecione o tipo de grupo de pontos finais da rede: grupo de pontos finais da rede de conetividade híbrida (zonal).
  5. Selecione a rede: NETWORK
  6. Selecione a sub-rede: LB_SUBNET_NAME
  7. Selecione a zona: ON_PREM_NEG_ZONE
  8. Introduza a porta predefinida.
  9. Clique em Criar

Adicione pontos finais ao NEG de conetividade híbrida:

  1. Aceda à página Grupos de pontos finais de rede na Google Cloud consola.
    Aceda à página Grupos de pontos finais da rede
  2. Clique no Nome do grupo de pontos finais de rede criado no passo anterior (ON_PREM_NEG_NAME). É apresentada a página Detalhes do grupo de pontos finais de 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.
  4. Introduza o endereço IP do novo ponto final de rede.
  5. Selecione o Tipo de porta.
    1. Se selecionar Predefinição, o ponto final usa a porta predefinida para todos os pontos finais no grupo de pontos finais de rede.
    2. Se selecionar Personalizado, pode introduzir um Número de porta diferente para o ponto final usar.
  6. Para adicionar mais pontos finais, clique em Adicionar ponto final de rede e repita os passos anteriores.
  7. Depois de adicionar todos osGoogle Cloud pontos finais que não sejam de serviço Web, clique em Criar.

gcloud

  1. Crie um NEG de conetividade híbrida com o comando gcloud compute network-endpoint-groups create.

    gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=ON_PREM_NEG_ZONE \
        --network=NETWORK
    
  2. Adicione o ponto final a on-prem-neg:

    gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \
        --zone=ON_PREM_NEG_ZONE \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
    

Pode usar este comando para adicionar os pontos finais de rede que configurou anteriormente no local ou no seu ambiente de nuvem. Repita --add-endpoint quantas vezes forem necessárias.

Pode repetir estes passos para criar vários NEGs híbridos, se necessário.

Configure o balanceador de carga

Consola

gcloud

  1. Crie um endereço IP externo estático global para o qual os clientes externos enviam tráfego.
      gcloud compute addresses create LB_IP_ADDRESS_NAME \
          --network-tier=PREMIUM \
          --global
      
  2. Crie uma verificação de funcionamento para os back-ends.
      gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
          --use-serving-port
      
  3. Crie um serviço de back-end. Adiciona o NEG zonal e o NEG de conetividade híbrida como back-ends a este serviço de back-end.
  4.   gcloud beta compute backend-services create BACKEND_SERVICE \
          --health-checks=HTTP_HEALTH_CHECK_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --ip-address-selection-policy=PREFER_IPV6 \
          --global
      
  5. Adicione o NEG zonal como um back-end ao serviço de back-end:
      gcloud beta compute backend-services add-backend BACKEND_SERVICE \
          --global \
          --balancing-mode=RATE \
          --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
          --network-endpoint-group=GCP_NEG_NAME \
          --network-endpoint-group-zone=GCP_NEG_ZONE
       
    Para ver detalhes sobre a configuração do modo de equilíbrio, consulte a documentação da CLI gcloud para o parâmetro --max-rate-per-endpoint.
  6. Adicione o NEG híbrido como back-end ao serviço de back-end:
      gcloud compute backend-services add-backend BACKEND_SERVICE \
          --global \
          --balancing-mode=RATE \
          --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
          --network-endpoint-group=ON_PREM_NEG_NAME \
          --network-endpoint-group-zone=ON_PREM_NEG_ZONE
      
  7. Crie um mapa de URLs para encaminhar pedidos recebidos para o serviço de back-end.
      gcloud beta compute url-maps create URL_MAP_NAME \
          --default-service BACKEND_SERVICE
      
  8. Execute este passo apenas se quiser criar um balanceador de carga HTTPS. Isto não é necessário para balanceadores de carga HTTP.
    Para criar um balanceador de carga HTTPS, tem de ter um recurso de certificado SSL para usar no proxy HTTPS de destino. Pode criar um recurso de certificado SSL usando um certificado SSL gerido pela Google ou um certificado SSL autogerido. Recomendamos a utilização de certificados geridos pela Google, uma vez que Google Cloud obtêm, gerem e renovam estes certificados automaticamente.

    Para criar um certificado gerido pela Google, tem de ter um domínio. Se não tiver um domínio, pode usar um certificado SSL autoassinado para testes.

    Para criar um recurso de certificado SSL gerido pela Google:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --domains DOMAIN
    
    Para criar um recurso de certificado SSL autogerido:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --certificate CRT_FILE_PATH \
        --private-key KEY_FILE_PATH
    
  9. Crie um proxy HTTP(S) de destino para encaminhar pedidos para o seu mapa de URLs.

    Para um balanceador de carga HTTP, crie um proxy HTTP de destino:
    gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --url-map=URL_MAP_NAME
    
    Para um balanceador de carga HTTPS, crie um proxy HTTPS de destino. O proxy é a parte do balanceador de carga que contém o certificado SSL para o balanceamento de carga HTTPS, pelo que também carrega o certificado neste passo.
    gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME
    

    Substitua o seguinte:

    • TARGET_HTTP_PROXY_NAME: o nome do proxy HTTP de destino.
    • TARGET_HTTPS_PROXY_NAME: o nome do proxy HTTPS de destino.
    • HTTP_KEEP_ALIVE_TIMEOUT_SEC: um campo opcional usado para especificar o tempo limite de manutenção ativa do HTTP do cliente. O valor de tempo limite tem de estar entre 5 e 1200 segundos. O valor predefinido é 610 segundos.
    • SSL_CERTIFICATE_NAME: o nome do certificado SSL.
    • URL_MAP_NAME: o nome do mapa de URLs.
  10. Crie uma regra de encaminhamento para encaminhar pedidos recebidos para o proxy.

    Para um balanceador de carga de HTTP:
    gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=LB_IP_ADDRESS_NAME \
        --target-http-proxy=TARGET_HTTP_PROXY_NAME \
        --global \
        --ports=80
    
    Para um balanceador de carga HTTPS:
    gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=LB_IP_ADDRESS_NAME \
        --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
        --global \
        --ports=443
    

Associe o seu domínio ao balanceador de carga

Após a criação do balanceador de carga, tome nota do endereço IP associado ao balanceador de carga, por exemplo, 30.90.80.100. Para direcionar o seu domínio para o equilibrador de carga, crie um registo A através do serviço de registo de domínios. Se adicionou vários domínios ao seu certificado SSL, tem de adicionar um registo A para cada um, todos a apontar para o endereço IP do equilibrador de carga. Por exemplo, para criar registos A para www.example.com e example.com, use o seguinte:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Se usar o Cloud DNS como fornecedor de DNS, consulte o artigo Adicione, modifique e elimine registos.

Testar o balanceador de carga

Agora que configurou o equilibrador de carga, pode começar a enviar tráfego para o endereço IP do equilibrador de carga.

  1. Aceda à página Balanceamento de carga na Google Cloud consola.
    Aceda à página Balanceamento de carga

  2. Clique no balanceador de carga que acabou de criar.

  3. Tome nota do endereço IP do balanceador de carga.

  4. Envie tráfego para o balanceador de carga.

    • Se criou um balanceador de carga de HTTP, pode testá-lo com um navegador de Internet acedendo a http://IP_ADDRESS. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga. Deve ser direcionado para o serviço que expôs através do ponto final.

    • Se criou um balanceador de carga HTTPS, pode testá-lo usando curl da seguinte forma. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga. Deve ser direcionado para o serviço que expôs através do ponto final.

      curl -k https://IP_ADDRESS
      

      Se isso não funcionar e estiver a usar um certificado gerido pela Google, confirme que o estado do recurso do certificado é ACTIVE. Para mais informações, consulte o estado do recurso do certificado SSL gerido pela Google. Em seguida, teste o domínio que aponta para o endereço IP do balanceador de carga. Por exemplo:

      curl -s https://DOMAIN_NAME
      

      Substitua DOMAIN_NAME pelo nome do domínio da sua aplicação, por exemplo, test.example.com.

  5. Os testes dos pontos finais nãoGoogle Cloud dependem do serviço que expôs através do ponto final do NEG híbrido.

Configuração adicional

Esta secção expande o exemplo de configuração para oferecer opções de configuração alternativas e adicionais. Todas as tarefas são opcionais. Pode realizá-las por qualquer ordem.

Atualize o tempo limite de manutenção ativa de HTTP do cliente

O balanceador de carga criado nos passos anteriores foi configurado com um valor predefinido para o tempo limite de manutenção ativa do HTTP do cliente.

Para atualizar o limite de tempo limite de manutenção ativa HTTP do cliente, siga as instruções abaixo.

Consola

  1. Na Google 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. Expanda Funcionalidades avançadas. Para Limite de tempo de manutenção ativa de HTTP, introduza um valor de limite de tempo.
  6. Clique em Atualizar.
  7. Para rever as alterações, clique em Rever e finalizar e, de seguida, clique em Atualizar.

gcloud

Para um balanceador de carga HTTP, atualize o proxy HTTP de destino através do comando gcloud compute target-http-proxies update:

      gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
          --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
          --global
    

Para um balanceador de carga HTTPS, atualize o proxy HTTPS de destino com o comando gcloud compute target-https-proxies update:

      gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
          --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
          --global
    

Substitua o seguinte:

  • TARGET_HTTP_PROXY_NAME: o nome do proxy HTTP de destino.
  • TARGET_HTTPS_PROXY_NAME: o nome do proxy HTTPS de destino.
  • HTTP_KEEP_ALIVE_TIMEOUT_SEC: o valor de tempo limite de manutenção ativa de HTTP de 5 para 600 segundos.

O que se segue?