Configure um balanceador de carga de aplicações interno regional com um back-end externo

O guia mostra como configurar um Application Load Balancer interno regional que envia pedidos por proxy para um back-end externo. Um back-end externo é um ponto final que é externo ao Google Cloud.

Antes de seguir este guia, familiarize-se com a documentação de vista geral do NEG da Internet, incluindo as limitações.

O diagrama de arquitetura seguinte mostra um front-end do Application Load Balancer interno regional com um back-end externo.

Um balanceador de carga de aplicações interno regional com um back-end externo.
Figura 1. Um balanceador de carga de aplicações interno regional com um back-end externo (clique para aumentar).

Autorizações

Para seguir este guia, tem de criar um NEG de Internet e criar ou modificar um Application Load Balancer num projeto. Deve ser proprietário ou editor (roles/owner ou roles/editor) do projeto ou ter ambas as seguintes funções do IAM do Compute Engine.

Tarefa Função necessária
Crie e modifique componentes do balanceador de carga Administrador de rede de Calcular
(roles/compute.networkAdmin)
Crie e modifique NEGs Administrador de instância de computação
(roles/compute.instanceAdmin)

Configure o ambiente de back-end externo fora Google Cloud

Para configurar o ambiente de back-end externo, consulte as secções seguintes.

Configure pontos finais de rede

Configure um ponto final de rede para expor o seu back-end externo ao Google Cloud. Certifique-se de que o ponto final, ou uma combinação de IP:Port, ou um nome de domínio totalmente qualificado (FQDN) e uma porta, está acessível através da Internet. Este ponto final é referenciado posteriormente a partir do NEG da Internet.

Para ver os requisitos de configuração detalhados para pontos finais de NEG da Internet, consulte a vista geral dos NEGs da Internet.

Permitir que o back-end externo receba tráfego de Google Cloud

Pode concluir este passo depois de criar a sub-rede apenas de proxy e configurar o gateway Cloud NAT.

Para permitir que os pedidos de Google Cloud alcancem o seu back-end externo, tem de executar os seguintes passos:

  1. Configure um gateway NAT da nuvem com endereços IP que são usados para o tráfego de saída de Google Cloud. O gateway mapeia o intervalo de sub-rede apenas de proxy para os endereços IP externos. Para ver os passos, consulte o artigo Configure um gateway Cloud NAT.
  2. Certifique-se de que o ambiente de back-end externo está configurado para permitir que o tráfego de Google Cloud alcance o back-end externo. Por exemplo, se usou endereços IP pré-reservados para o gateway NAT, tem de adicionar esses endereços IP à lista de autorizações no seu ambiente externo. É provável que tenha de trabalhar com o administrador de rede ou de segurança do seu ambiente externo para configurar esta opção.

Configure o seu Google Cloud ambiente

Precisa de uma rede VPC com duas sub-redes: uma para os componentes do balanceador de carga e outra para a sub-rede só de proxy da região. Em seguida, cria o balanceador de carga com um back-end do NEG da Internet.

Crie a rede de VPC e a sub-rede

Esta sub-rede é usada para criar os componentes do balanceador de carga.

Cloud Console

  1. Na Google Cloud consola, aceda à página Redes VPC.
    Aceda a redes de VPC
  2. Clique em Criar rede de VPC.
  3. Introduza um Nome: LB_NETWORK.
  4. Na secção Sub-redes:
    • Defina o Subnet creation mode (Modo de criação de sub-rede) como Custom (Personalizado).
    • Na secção Nova sub-rede, introduza as seguintes informações:
      • Nome: LB_SUBNET_NAME
      • Região: REGION
      • Intervalo de endereços IP: LB_SUBNET_RANGE
    • Clique em Concluído.
  5. Clique em Criar.

gcloud

  1. Crie a rede VPC personalizada com o comando gcloud compute networks create:

    gcloud compute networks create LB_NETWORK \
      --subnet-mode=custom
    
  2. Crie uma sub-rede na LB_NETWORK rede.

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

Configure a sub-rede só de proxy

Esta sub-rede apenas de proxy é usada por todos os equilibradores de carga baseados no Envoy regionais na região REGION.

Consola

  1. Na Google Cloud consola, aceda à página Redes VPC.
    Aceda a redes de VPC
  2. Selecione uma Rede na lista.
  3. Clique em Adicionar sub-rede.
  4. Introduza um Nome: PROXY_ONLY_SUBNET_NAME.
  5. Selecione uma região: REGION.
  6. Defina Purpose como Regional Managed Proxy.
  7. Introduza um intervalo de endereços IP: PROXY_ONLY_SUBNET_RANGE.
  8. Clique em Adicionar.

gcloud

Crie a sub-rede só de proxy com o comando gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=LB_NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

Configure um gateway do Cloud NAT

Antes de configurar o gateway Cloud NAT, certifique-se de que reviu as limitações associadas e as considerações de preços. Para ver detalhes, consulte o artigo NEGs regionais: use um gateway Cloud NAT.

Os comandos seguintes descrevem como configurar um gateway NAT da Cloud. O gateway Cloud NAT pode ser configurado para usar endereços IP externos de NAT automáticos, em que a atribuição se baseia na procura, ou para usar um conjunto de endereços IP externos pré-reservados manualmente. O gateway mapeia o intervalo de sub-rede apenas de proxy para os endereços IP externos.

Configure endereços IP atribuídos de NAT automáticos

Quando cria um gateway Cloud NAT com atribuição automática de endereços IP NAT, pode especificar os níveis de serviço de rede (nível Premium ou nível Standard) a partir dos quais o gateway Cloud NAT atribui os endereços IP.

Consola

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

    Aceda ao Cloud NAT

  2. Clique em Começar ou Criar gateway de NAT da nuvem.

  3. Introduza um nome da gateway LB_NAT_CONFIG.

  4. Para Tipo de NAT, selecione Público.

  5. Na lista Rede, selecione LB_NETWORK.

  6. Na lista Região, selecione REGION.

  7. Crie um Cloud Router na região.

  8. Para Tipo de ponto final de origem, selecione Balanceadores de carga de proxy geridos.

  9. Na lista Origem, selecione Personalizado.

    • Para Sub-redes, selecione PROXY_ONLY_SUBNET_NAME.
  10. Na lista Endereços IP do Cloud NAT, selecione Automático (recomendado).

  11. Para Nível de serviço de rede, escolha Premium ou Padrão.

  12. Clique em Criar.

gcloud

Use endereços IP alocados dinamicamente se o seu ambiente de back-end externo não exigir que autorize endereços IP específicos que possam enviar tráfego para o back-end externo. Google Cloud

  1. Crie um Cloud Router:

    gcloud beta compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  2. Configure o gateway do Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --auto-allocate-nat-external-ips \
      --region=REGION
    

Substitua o seguinte:

  • LB_NAT_CONFIG: o nome da configuração de NAT.

  • ROUTER_NAME: o nome do seu Cloud Router.

  • REGION: a região da NAT a criar. Se não for especificado, pode ser-lhe pedido que selecione uma região (apenas no modo interativo).

  • PROXY_ONLY_SUBNET_NAME: o nome da sua sub-rede de proxy apenas.

Configure endereços IP atribuídos manualmente

Use endereços IP atribuídos manualmente apenas se o seu ambiente de back-end externo exigir que use uma lista de autorizações para endereços IP específicos. Google Cloud Se o ambiente de back-end externo não precisar de uma lista de autorizações, use a atribuição dinâmica, conforme mostrado anteriormente.

Quando cria um gateway NAT da Cloud, pode optar por atribuir manualmente endereços IP NAT a partir do nível Premium, do nível Standard ou de ambos, sujeito a determinadas condições.

Consola

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

    Aceda ao Cloud NAT

  2. Clique em Começar ou Criar gateway de NAT da nuvem.

  3. Introduza um nome da gateway LB_NAT_CONFIG.

  4. Na lista Rede, selecione LB_NETWORK.

  5. Na lista Região, selecione REGION.

  6. Selecione ou crie um Cloud Router na região.

  7. Para Tipo de ponto final de origem, selecione Balanceadores de carga de proxy geridos.

  8. Na lista Origem, selecione Personalizado.

    • Em Sub-redes, selecione PROXY_ONLY_SUBNET_NAME.
  9. Na lista Endereços IP do Cloud NAT, selecione Manual.

  10. Para Nível de serviço de rede, escolha Premium ou Padrão.

  11. Selecione ou crie um endereço IP externo reservado estático para usar para NAT.

  12. Se quiser especificar endereços IP adicionais, clique em Adicionar endereço IP e, em seguida, selecione ou crie um endereço IP externo reservado estático adicional.

  13. Clique em Criar.

gcloud

  1. Crie os endereços IP. Uma vez que a gateway executa a tradução NAT individual, tem de se certificar de que o conjunto de endereços IP reservados é suficientemente grande para processar o volume de tráfego esperado. Os endereços IP NAT insuficientemente atribuídos podem resultar na perda de tráfego.

    gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    
  2. Crie um Cloud Router:

    gcloud compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  3. Configure o gateway do Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    

    Substitua o seguinte:

  • LB_NAT_CONFIG: o nome da configuração de NAT.

  • ROUTER_NAME: o nome do seu Cloud Router.

  • PROXY_ONLY_SUBNET_NAME: o nome da sua sub-rede de proxy apenas.

  • REGION: a região da NAT a criar. Se não for especificado, pode ser-lhe pedido que selecione uma região (apenas no modo interativo).

Configure a atribuição dinâmica de portas

Atualize o gateway NAT da nuvem para usar o modo de atribuição dinâmica de portas para usar totalmente os endereços IP atribuídos.

gcloud

  1. Atualize o gateway do Cloud NAT. Recomendamos que defina o número mínimo de portas como 2048 e o número máximo de portas como 4096.

    gcloud compute routers nats update LB_NAT_CONFIG \
        --router=ROUTER_NAME \
        --enable-dynamic-port-allocation \
        --min-ports-per-vm=MIN_PORTS_PER_VM \
        --max-ports-per-vm=MAX_PORTS_PER_VM \
        --region=REGION
    
  2. Verifique se a atribuição dinâmica de portas está ativada e se o número mínimo e máximo de portas está definido.

    gcloud compute routers nats describe LB_NAT_CONFIG \
         --router=ROUTER_NAME \
         --region=REGION
    

    O resultado é semelhante ao seguinte:

    enableDynamicPortAllocation: true
    enableEndpointIndependentMapping: false
    endpointTypes:
    ‐ ENDPOINT_TYPE_MANAGED_PROXY_LB
    logConfig:
      enable: true
      filter: ALL
    maxPortsPerVm: 4096
    minPortsPerVm: 2048
    name: LB_NAT_CONFIG
    natIpAllocateOption: MANUAL_ONLY
    natIps:
    ‐ https://www.googleapis.com/compute/projects/PROJECT_NAME/regions/REGION/addresses/ADDRESS
    sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES
    type: PUBLIC
    

Para mais informações, consulte o artigo Especifique intervalos de sub-redes para NAT na documentação do Cloud NAT.

Certifique-se de que usa uma lista de autorizações para os intervalos de endereços IP NAT no seu ambiente de back-end externo, para que o back-end externo possa receber tráfego de Google Cloud.

Reserve o endereço IP do balanceador de carga

Reserve um endereço IP interno para o balanceador de carga.

Consola

Pode reservar um endereço IP interno autónomo através da Google Cloud consola.

  1. Aceda à página Redes VPC.

    Aceda a redes de VPC

  2. Clique na rede que foi usada para configurar a conetividade híbrida entre os ambientes.
  3. Clique em Endereços IP internos estáticos e, de seguida, em Reservar endereço estático.
  4. Introduza um Nome: LB_IP_ADDRESS.
  5. Para a Sub-rede, selecione LB_SUBNET_NAME.
  6. Se quiser especificar o endereço IP a reservar, em Endereço IP estático, selecione Permitir-me escolher e, em seguida, preencha um Endereço IP personalizado. Caso contrário, o sistema atribui automaticamente um endereço IP na sub-rede.
  7. Se quiser usar este endereço IP com várias regras de encaminhamento, em Finalidade, escolha Partilhado.
  8. Clique em Reservar para concluir o processo.

gcloud

  1. Usando a CLI gcloud, execute o comando compute addresses create:

    gcloud compute addresses create LB_IP_ADDRESS \
      --region=REGION \
      --subnet=LB_SUBNET_NAME
    
  2. Use o compute addresses describecomando para ver o endereço IP atribuído:

    gcloud compute addresses describe LB_IP_ADDRESS \
      --region=REGION
    

Configure o NEG da Internet

Pode criar um NEG de Internet usando pontos finais INTERNET_FQDN_PORT ou pontos finais INTERNET_IP_PORT.

Consola

Crie um NEG com INTERNET_FQDN_PORT pontos finais

  1. Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.

    Aceda ao grupo de pontos finais da rede

  2. Clique em Criar grupo de pontos finais de rede.

  3. Especifique um INTERNET_NEG_NAME para o seu NEG de Internet. Para mais informações, consulte o artigo Convenção de nomenclatura de recursos.

  4. Na lista Tipo de grupo de pontos finais de rede, selecione Grupo de pontos finais de rede (Internet) e, em seguida, faça o seguinte:

    • Na lista Âmbito, selecione Regional.
    • Opcional: na lista Região, altere o REGION para este NEG.
    • Na lista Rede, selecione LB_NETWORK.
    • Na caixa Porta predefinida, introduza DEFAULT_PORT_NUMBER.
    • Na lista Adicionar pontos finais através de, selecione Nome de domínio totalmente qualificado e porta.
  5. Selecione Criar.

Adicione pontos finais INTERNET_FQDN_PORT ao NEG

  1. Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.

    Aceda ao grupo de pontos finais da rede

  2. Clique em INTERNET_NEG_NAME.
  3. Introduza o nome do domínio totalmente qualificado, como myorg.example.com. Tem de especificar os objetos FQDN na sintaxe FQDN padrão.

  4. Opcional: para Tipo de porta, selecione Personalizado. Se o Tipo de porta for Default, é usada a porta predefinida do NEG.

  5. Na caixa Número da porta, introduza PORT_NUMBER_1.
  6. Selecione Criar.

Crie um NEG com INTERNET_IP_PORT pontos finais

  1. Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.

    Aceda ao grupo de pontos finais da rede

  2. Clique em Criar grupo de pontos finais de rede.

  3. Especifique um nome INTERNET_NEG_NAME para o NEG da Internet. Para mais informações, consulte o artigo Convenção de nomenclatura de recursos.

  4. Na lista Tipo de grupo de pontos finais de rede, selecione Grupo de pontos finais de rede (Internet) e, em seguida, faça o seguinte:

    • Na lista Âmbito, selecione Regional.
    • Opcional: na lista Região, altere o REGION para este NEG.
    • Na lista Rede, selecione LB_NETWORK.
    • Na caixa Porta predefinida, introduza DEFAULT_PORT_NUMBER.
    • Na lista Adicionar pontos finais através de, selecione IP e porta.
  5. Selecione Criar.

Adicione pontos finais INTERNET_IP_PORT ao NEG

  1. Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.

    Aceda ao grupo de pontos finais da rede

  2. Clique em INTERNET_NEG_NAME.
  3. No campo Endereço IP, introduza IP_ADDRESS_1.
  4. Opcional: na lista Tipo de porta, selecione Personalizado. Se o Tipo de porta for Default, é usada a porta predefinida do NEG.

  5. No campo Número da porta, introduza PORT_NUMBER_1.
  6. Selecione Criar.

gcloud

Para criar um NEG com pontos finais INTERNET_FQDN_PORT:

  1. Crie o recurso NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_FQDN_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Adicione pontos finais ao NEG. Se não for especificada uma porta, é usada a porta predefinida do NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \
        [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Substitua o seguinte:

    • FULLY_QUALIFIED_DOMAIN_NAME: o nome do domínio totalmente qualificado para o ponto final
    • PORT_NUMBER: o número da porta do ponto final

    Pode adicionar até 256 pontos finais por NEG.

Se o seu domínio for resolvível através da Internet, não é necessária nenhuma outra configuração para configurar o DNS. No entanto, se estiver a usar FQDNs privados, tem de configurar o Cloud DNS para facilitar a resolução de DNS. O nome tem de estar alojado no Cloud DNS ou ser resolvível através do encaminhamento de DNS do Cloud DNS para um DNS no local.

Comece por criar uma zona do Cloud DNS para alojar os registos de DNS no seu projeto. Em seguida, adicione os registos de DNS. Consulte a documentação do Cloud DNS para ver passos de configuração específicos.

Para criar um NEG com pontos finais INTERNET_IP_PORT:

  1. Crie o recurso NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_IP_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Adicione pontos finais ao NEG. Se não for especificada uma porta, é usada a porta predefinida do NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \
        [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Substitua o seguinte:

    • IP_ADDRESS: o endereço IP do ponto final
    • PORT_NUMBER: o número da porta do ponto final

    Pode repetir este passo para adicionar até 256 pontos finais por NEG.

Crie o balanceador de carga

Consola

Selecione o tipo de balanceador de carga

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

    Aceda a Balanceamento de carga

  2. Clique em Criar equilibrador de carga.
  3. Em Tipo de balanceador de carga, selecione Balanceador de carga de aplicações (HTTP/HTTPS) e clique em Seguinte.
  4. Para Público ou interno, selecione Interno e clique em Seguinte.
  5. Para a Implementação em várias regiões ou numa única região, selecione Melhor para cargas de trabalho regionais e clique em Seguinte.
  6. Clique em Configurar.

Configuração básica

  1. Introduza um nome do balanceador de carga.
  2. Para Região, selecione REGION.
  3. Para Rede, selecione LB_NETWORK.

Reserve uma sub-rede só de proxy

Para reservar uma sub-rede só de proxy:

  1. Clique em Reservar sub-rede.
  2. Em Nome, introduza PROXY_ONLY_SUBNET_NAME.
  3. Para o Intervalo de endereços IP, introduza PROXY_ONLY_SUBNET_RANGE.
  4. Clique em Adicionar.

Configuração da interface

  1. Clique em Configuração do front-end.
  2. Introduza um Nome.
  3. Para Sub-rede, selecione LB_SUBNET_NAME.
  4. Para criar um balanceador de carga HTTPS, tem de ter um certificado SSL. Recomendamos a utilização de um certificado gerido pela Google.

    Propriedade Valor (introduza um valor ou selecione uma opção conforme especificado)
    Protocolo HTTPS
    Versão do IP IPv4
    Endereço IP Selecione o endereço IP reservado anteriormente: LB_IP_ADDRESS.
    Porta 443
    Certificado

    Selecione um certificado SSL existente ou crie um novo certificado.

    Para criar um balanceador de carga HTTPS, tem de ter um recurso de certificado SSL para usar no proxy HTTPS.

    Se quiser testar este processo sem configurar um recurso de certificado SSL (ou um domínio, conforme exigido pelos certificados geridos pela Google), pode configurar um balanceador de carga HTTP.

    Para criar um HTTP, verifique se as seguintes opções estão configuradas com estes valores:

    Propriedade Valor (introduza um valor ou selecione uma opção conforme especificado)
    Protocolo HTTP
    Versão do IP IPv4
    Endereço IP Selecione o endereço IP reservado anteriormente: LB_IP_ADDRESS.
    Porta 80
  5. Clique em Concluído.

Configuração do back-end

  1. Clique em Configuração de back-end.
  2. Clique em Serviços de back-end e contentores de back-end.
  3. Clique em Criar um serviço de back-end.
  4. Introduza um nome.
  5. Para Tipo de back-end, selecione Grupo de pontos finais da rede da Internet.
  6. Para Protocolo, selecione o protocolo que pretende usar do balanceador de carga para o NEG da Internet.
  7. Para Back-ends, na janela Novo back-end, selecione o grupo de pontos finais de rede da Internet regional criado no passo anterior.
  8. Clique em Concluído.
  9. Configure a verificação de estado:
    1. Para Verificação de funcionamento, selecione Criar uma verificação de funcionamento.
    2. Defina o nome da verificação de funcionamento como HTTP_HEALTH_CHECK_NAME.
    3. Para Protocolo, selecione HTTP.
    4. Defina Porta como 80.
  10. Clique em Criar.

Reveja e finalize

  1. Clique em Rever e finalizar.
  2. Se tudo parecer correto, clique em Criar.

gcloud

  1. Opcional: crie uma verificação de funcionamento. As sondas de verificação de funcionamento para back-ends externos usam as verificações de funcionamento do Envoy distribuídas e são posteriormente traduzidas por NAT.
    gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. Crie um serviço de back-end:
    gcloud compute backend-services create BACKEND_SERVICE \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=HTTP \
        --health-checks=HTTP_HEALTH_CHECK_NAME \
        --health-checks-region=REGION \
        --region=REGION
    
  3. Adicione o NEG da Internet ao serviço de back-end:
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --network-endpoint-group=INTERNET_NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
    
  4. Crie um mapa de URLs para encaminhar pedidos recebidos para o serviço de back-end:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE \
        --region=REGION
    
  5. Opcional: execute este passo se estiver a usar HTTPS entre o cliente e o balanceador de carga. Este passo não é obrigatório para equilibradores de carga HTTP.

    Pode criar certificados do Compute Engine ou do Certificate Manager. Use qualquer um dos seguintes métodos para criar certificados através do gestor de certificados:

    Depois de criar os certificados, anexe-os diretamente ao proxy de destino.

    Para criar um recurso de certificado SSL autogerido do Compute Engine:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --certificate CRT_FILE_PATH \
        --private-key KEY_FILE_PATH
    
  6. 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 compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --region=REGION
    

    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 compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME \
        --region=REGION
    
  7. Crie uma regra de encaminhamento para encaminhar pedidos recebidos para o proxy.

    Para um balanceador de carga HTTP:

    gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --network=LB_NETWORK \
        --subnet=LB_SUBNET_NAME \
        --address=LB_IP_ADDRESS \
        --target-http-proxy=TARGET_HTTP_PROXY_NAME \
        --target-http-proxy-region=REGION \
        --region=REGION \
        --ports=80
    

    Para um balanceador de carga HTTPS:

    gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --network=LB_NETWORK \
        --subnet=LB_SUBNET_NAME \
        --address=LB_IP_ADDRESS \
        --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
        --target-https-proxy-region=REGION \
        --region=REGION \
        --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.

Teste 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.

Crie uma VM de cliente

Este exemplo cria uma VM cliente (vm-client) na mesma região que o balanceador de carga. O cliente é usado para validar a configuração do equilibrador de carga e demonstrar o comportamento esperado.

gcloud

A VM do cliente pode estar em qualquer zona na mesma REGION que o balanceador de carga e pode usar qualquer sub-rede na mesma rede VPC.

gcloud compute instances create vm-client \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --network=LB_NETWORK \
    --subnet=LB_SUBNET_NAME \
    --zone=ZONE

Envie tráfego para o balanceador de carga

A configuração do balanceador de carga pode demorar alguns minutos a propagar-se após a primeira implementação.

  • Ligue-se à instância do cliente através de SSH.

    gcloud compute ssh vm-client \
      --zone=ZONE
    
  • Verifique se o balanceador de carga está a estabelecer ligação à aplicação que está a executar no back-end externo conforme esperado.

    Para testes HTTP, execute:

    curl IP_ADDRESS
    

    Para testar o HTTPS, execute o seguinte comando:

    curl -k -s 'https://TEST_DOMAIN_URL:443' --connect-to TEST_DOMAIN_URL:443:IP_ADDRESS:443
    

    Substitua TEST_DOMAIN_URL pelo domínio associado à sua aplicação. Por exemplo, test.example.com.

    A flag -k faz com que o curl ignore a validação de certificados.

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.

Para ativar ainda mais capacidades para o seu Application Load Balancer interno regional, como o acesso global (se os seus clientes estiverem numa região diferente), consulte o artigo Configure um Application Load Balancer interno com back-ends do grupo de instâncias de VMs: configuração adicional.

Use um cabeçalho personalizado para autenticar pedidos

Para autenticar pedidos enviados para o seu back-end externo, pode definir um cabeçalho personalizado para indicar que o pedido foi feito a partir de um equilibrador de carga. Google Cloud Também tem de configurar o back-end externo para esperar este cabeçalho personalizado no tráfego proveniente de Google Cloud.

Para saber como configurar cabeçalhos personalizados, consulte o artigo Configure a gestão de tráfego avançada.

Para outros métodos de autenticação, consulte o artigo Autenticar pedidos para o back-end externo.

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 \
          --region=REGION
      

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_HTTP_PROXY_NAME \
          --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
          --region REGION
      

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?