Configurar um balanceador de carga de aplicativo externo regional com um back-end externo

Neste guia, mostramos como configurar um balanceador de carga de aplicativo externo regional que envia solicitações por proxy a um back-end externo. Um back-end externo é um endpoint fora do Google Cloud.

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

O diagrama de arquitetura a seguir mostra um front-end do balanceador de carga de aplicativo externo regional com um back-end externo.

Um balanceador de carga de aplicativo externo regional com um back-end externo.
Figura 1. Um balanceador de carga de aplicativo externo regional com um back-end externo (clique para ampliar).

Permissões

Para seguir este guia, você precisa criar uma NEG da Internet e criar ou modificar um balanceador de carga de aplicativo em um projeto. É necessário ser proprietário ou editor (roles/owner ou roles/editor) de um projeto ou ter os seguintes papéis de IAM do Compute Engine.

Tarefa Papel necessário
Criar e modificar componentes do balanceador de carga Administrador de rede do Compute
(roles/compute.networkAdmin)
Criar e modificar NEGs Administrador da instância do Compute
(roles/compute.instanceAdmin)

Configurar seu ambiente de back-end externo fora do Google Cloud

Para configurar seu ambiente de back-end externo, consulte as seções a seguir.

Configurar endpoints da rede

Configure um endpoint de rede para expor seu back-end externo ao Google Cloud. Verifique se o endpoint, que pode ser uma combinação de IP:Porta ou um nome de domínio totalmente qualificado (FQDN, na sigla em inglês) e porta, pode ser acessado pela Internet. Posteriormente, esse endpoint será referenciado pelo NEG da Internet.

Para requisitos de configuração detalhados para endpoints NEG da Internet, consulte a Visão geral de NEGs da Internet.

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

Esta etapa pode ser concluída após a criação da sub-rede somente proxy e a configuração do gateway do Cloud NAT.

Para permitir que as solicitações do Google Cloud alcancem seu back-end externo, você precisa executar as seguintes etapas:

  1. Configure um gateway do Cloud NAT com endereços IP usados para o tráfego de saída do Google Cloud. O gateway mapeia o intervalo de sub-rede somente proxy para os endereços IP externos. Para ver as etapas, consulte Configurar um gateway do Cloud NAT.
  2. Verifique se o ambiente de back-end externo está configurado para permitir que o tráfego do Google Cloud alcance o back-end externo. Por exemplo, se você usou endereços IP pré-reservados para o gateway NAT, use a lista de permissões desses endereços no seu ambiente externo. Provavelmente, você precisará trabalhar com o administrador de segurança ou de rede do seu ambiente externo para configurar isso.

Configurar ambiente do Google Cloud

Você precisará de uma rede VPC com duas sub-redes: uma para os componentes do balanceador de carga e outra para a sub-rede somente proxy da região. Em seguida, crie o balanceador de carga com um back-end de NEG da Internet.

Criar a rede VPC e sub-rede

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

console do Cloud

  1. No Console do Google Cloud, acesse a página Redes VPC.
    Acessar redes VPC
  2. Clique em Criar rede VPC.
  3. Digite um Nome: 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, insira as informações a seguir:
      • Name: 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 usando o comando gcloud compute networks create:

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

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

Configurar a sub-rede somente proxy

Essa sub-rede somente proxy é usada por todos os balanceadores de carga regionais baseados no Envoy na região REGION.

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.
    Acessar redes VPC
  2. Selecione uma Rede na lista.
  3. Clique em Add subnet.
  4. Digite um Nome: PROXY_ONLY_SUBNET_NAME.
  5. Selecionar uma região: REGION.
  6. Defina Finalidade como Proxy gerenciado regional.
  7. Digite um Intervalo de endereço IP: PROXY_ONLY_SUBNET_RANGE.
  8. Clique em Adicionar.

gcloud

Crie a sub-rede somente 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

Configurar um gateway do Cloud NAT

Antes de configurar o gateway do Cloud NAT, revise as limitações e considerações sobre preço associadas. Para detalhes, consulte NEGs regionais: usar um gateway do Cloud NAT.

Os comandos a seguir descrevem como configurar um gateway do Cloud NAT. O gateway do Cloud NAT pode ser configurado para usar endereços IP externos NAT automáticos, em que a alocação é baseada na demanda, ou para usar um conjunto pré-reservado manualmente de endereços IP externos. O gateway mapeia o intervalo de sub-rede somente proxy para os endereços IP externos.

Configurar endereços IP alocados NAT automáticos

Ao criar um gateway do Cloud NAT com alocação automática de endereço IP NAT, é possível especificar os Níveis de serviço de rede (nível Premium ou Standard) com os quais o gateway do Cloud NAT aloca os endereços IP.

Console

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

    Acesse o Cloud NAT

  2. Clique em Primeiros passos ou Criar gateway Cloud NAT.

  3. Digite um nome de gateway LB_NAT_CONFIG.

  4. Em 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. Em Tipo de endpoint de origem, selecione Balanceadores de carga de proxy gerenciados.

  9. Na lista Origem, selecione Personalizado.

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

  11. Em Nível de serviço de rede, escolha Premium ou Standard.

  12. Clique em Criar.

gcloud

Use endereços IP alocados dinamicamente se o ambiente de back-end externo não precisar de uma lista de permissões de endereços IP específicos do Google Cloud que podem enviar tráfego ao back-end externo.

  1. Criar 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:

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

  • ROUTER_NAME: o nome do seu Cloud Router.

  • REGION: a região do NAT a ser excluída. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).

  • PROXY_ONLY_SUBNET_NAME: o nome da sub-rede somente proxy.

Configurar endereços IP alocados manualmente

Use endereços IP alocados manualmente somente se o ambiente de back-end externo exigir o uso de uma lista de permissões de endereços IP específicos do Google Cloud. Se o ambiente de back-end externo não precisar de uma lista de permissões, use a alocação dinâmica, conforme mostrado anteriormente.

Ao criar um gateway do Cloud NAT, você tem a opção de atribuir manualmente endereços IP NAT de nível Premium, Standard ou ambos, sujeitos a determinadas condições.

Console

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

    Acesse o Cloud NAT

  2. Clique em Primeiros passos ou Criar gateway Cloud NAT.

  3. Digite um nome de 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. Em Tipo de endpoint de origem, selecione Balanceadores de carga de proxy gerenciados.

  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. Em Nível de serviço de rede, escolha Premium ou Standard.

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

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

  13. Clique em Criar.

gcloud

  1. Crie os endereços IP. Como o gateway faz a conversão NAT um para um, é preciso garantir que o pool de endereços IP reservados seja grande o suficiente para processar a quantidade de tráfego que você espera. A insuficiência de endereços IP NAT alocados pode resultar em perda de tráfego.

    gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    
  2. Criar 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:

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

  • ROUTER_NAME: o nome do seu Cloud Router.

  • PROXY_ONLY_SUBNET_NAME: o nome da sub-rede somente proxy.

  • REGION: a região do NAT a ser excluída. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).

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

Use uma lista de permissões dos intervalos de endereços IP NAT no ambiente de back-end externo, para que o back-end externo possa receber tráfego do Google Cloud.

Reserve o endereço IP do balanceador de carga

Reserve um endereço IP estático para o balanceador de carga.

Console

  1. No console do Google Cloud, acesse a página Reservar um endereço estático.

    Acessar "Reservar um endereço estático"

  2. Escolha um nome para o novo endereço.

  3. Em Nível de serviço de rede, selecione Padrão.

  4. Em Versão IP, selecione IPv4. Os endereços IPv6 só podem ser globais. Também só podem ser usados com balanceadores de carga globais.

  5. Em Tipo, selecione Regional.

  6. Selecione uma Região.

  7. Deixe a opção Anexado a definida como Nenhum. Depois de criar o balanceador de carga, esse endereço IP será anexado à regra de encaminhamento do balanceador de carga.

  8. Clique em Reservar para reservar o IP.

gcloud

  1. Para reservar um endereço IP externo estático usando gcloud compute, use o comando compute addresses create.

    gcloud compute addresses create LB_IP_ADDRESS  \
       --region=REGION \
       --network-tier=STANDARD
    

    Substitua:

    • LB_IP_ADDRESS: o nome que você quer atribuir a esse endereço.
    • REGION: a região em que você quer reservar o endereço. Essa região precisa ser a mesma do balanceador de carga. Todos os endereços IP regionais são IPv4.
  2. Use o comando compute addresses describe para ver o resultado:

    gcloud compute addresses describe LB_IP_ADDRESS
    

Configurar o NEG da Internet

É possível criar um NEG da Internet com endpoints INTERNET_FQDN_PORT ou INTERNET_IP_PORT.

Console

Criar um NEG com endpoints INTERNET_FQDN_PORT

  1. No console do Google Cloud, acesse a página Grupo de endpoints de rede.

    Acessar "Grupo de endpoints de rede"

  2. Clique em Criar grupo de endpoints de rede.

  3. Especifique um INTERNET_NEG_NAME para seu NEG da Internet. Saiba mais em Convenção de nomenclatura de recursos.

  4. Na lista Tipo de grupo de endpoints de rede, selecione Grupo de endpoints de rede (Internet) e, em seguida, faça isto:

    • Na lista Escopo, selecione Regional.
    • Opcional: na lista Região, mude a REGION desse NEG.
    • Na lista Rede, selecione LB_NETWORK.
    • Na caixa Porta padrão, digite DEFAULT_PORT_NUMBER.
    • Na lista Adicionar endpoints via, selecione Nome de domínio totalmente qualificado e porta.
  5. Selecione Criar.

Adicione INTERNET_FQDN_PORT endpoints ao NEG

  1. No console do Google Cloud, acesse a página Grupo de endpoints de rede.

    Acessar "Grupo de endpoints de rede"

  2. Clique em INTERNET_NEG_NAME.
  3. Insira o Nome de domínio totalmente qualificado, como myorg.example.com. É preciso especificar objetos FQDN na sintaxe padrão de FQDN.

  4. Opcional: em Tipo de porta, selecione Personalizado. Se o Tipo de porta for Default, a porta padrão do NEG será usada.

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

Criar um NEG com endpoints INTERNET_IP_PORT

  1. No console do Google Cloud, acesse a página Grupo de endpoints de rede.

    Acessar "Grupo de endpoints de rede"

  2. Clique em Criar grupo de endpoints de rede.

  3. Especifique um nome INTERNET_NEG_NAME para seu NEG da Internet. Saiba mais em Convenção de nomenclatura de recursos.

  4. Na lista Tipo de grupo de endpoints de rede, selecione Grupo de endpoints de rede (Internet) e, em seguida, faça isto:

    • Na lista Escopo, selecione Regional.
    • Opcional: na lista Região, mude a REGION desse NEG.
    • Na lista Rede, selecione LB_NETWORK.
    • Na caixa Porta padrão, digite DEFAULT_PORT_NUMBER.
    • Na lista Adicionar endpoints via, selecione IP e porta.
  5. Selecione Criar.

Adicione INTERNET_IP_PORT endpoints ao NEG

  1. No console do Google Cloud, acesse a página Grupo de endpoints de rede.

    Acessar "Grupo de endpoints de rede"

  2. Clique em INTERNET_NEG_NAME.
  3. No campo Endereço IP, digite IP_ADDRESS_1.
  4. Opcional: na lista Tipo de porta, selecione Personalizado. Se o Tipo de porta for Default, a porta padrão do NEG será usada.

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

gcloud

Para criar um NEG com endpoints INTERNET_FQDN_PORT:

  1. Crie o recurso de 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 endpoints ao NEG. Se uma porta não for especificada, a porta padrão do NEG será usada.

    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:

    • FULLY_QUALIFIED_DOMAIN_NAME: o nome de domínio totalmente qualificado do endpoint
    • PORT_NUMBER: o número da porta do endpoint

    É possível adicionar até 256 endpoints por NEG.

Se seu domínio puder ser resolvido pela Internet, nenhuma outra configuração precisará ser definida no DNS. No entanto, se você estiver usando FQDNs particulares, será necessário configurar o Cloud DNS para facilitar a resolução de DNS. O nome precisa estar hospedado no Cloud DNS ou ser resolvido via encaminhamento de DNS do Cloud DNS para um DNS local.

Comece criando uma zona do Cloud DNS para hospedar os registros DNS no seu projeto. Em seguida, adicione os registros DNS a ele. Consulte a documentação do Cloud DNS para ver etapas de configuração específicas.

Para criar um NEG com endpoints INTERNET_IP_PORT:

  1. Crie o recurso de 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 endpoints ao NEG. Se uma porta não for especificada, a porta padrão do NEG será usada.

    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:

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

    É possível repetir essa etapa para adicionar até 256 endpoints por NEG.

Criar o balanceador de carga

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 aplicativo (HTTP/HTTPS) e clique em Próxima.
  4. Em Voltado ao público ou interno, selecione Voltado ao público (externo) e clique em Próxima.
  5. Em Implantação global ou de região única, selecione Melhor para cargas de trabalho regionais e clique em Próxima.
  6. Clique em Configurar.

Configuração básica

  1. Digite um Nome do balanceador de carga.
  2. Em Região, selecione REGION.
  3. Em Rede, selecione LB_NETWORK.

Reservar uma sub-rede somente proxy

Para reservar uma sub-rede somente proxy:

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

Configuração de front-end

  1. Clique em Configuração de front-end.
  2. Digite um Nome.
  3. Em Sub-rede, selecione LB_SUBNET_NAME.
  4. Para criar um balanceador de carga HTTPS, é necessário ter um certificado SSL. Recomendamos o uso de um certificado gerenciado pelo Google.

    Propriedade Valor: digite um valor ou selecione uma opção conforme especificado
    Protocolo HTTPS
    Nível de serviço da rede Premium
    Versão 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.

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

    Se você quiser testar esse processo sem configurar um recurso de certificado SSL (ou um domínio conforme exigido pelos certificados gerenciados pelo Google), configure um balanceador de carga HTTP.

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

    Propriedade Valor: digite um valor ou selecione uma opção conforme especificado
    Protocolo HTTP
    Nível de serviço da rede Premium
    Versão IP IPv4
    Endereço IP Selecione o endereço IP reservado anteriormente: LB_IP_ADDRESS.
    Porta 80
  5. Clique em Concluído.

Configuração de back-end

  1. Clique em Configuração de back-end.
  2. Clique em Serviços e buckets de back-end.
  3. Clique em Criar um serviço de back-end.
  4. Digite um nome.
  5. Para o tipo de back-end, selecione Grupo de endpoints da rede na Internet.
  6. Em Protocolo, selecione o protocolo que você pretende usar do balanceador de carga para o NEG na Internet.
  7. Em Back-ends, na janela Novo back-end, selecione o Grupo de endpoints de rede regional da Internet criado na etapa anterior.
  8. Clique em Concluído.
  9. Configure a verificação de integridade:
    1. Em Verificação de integridade, selecione Criar verificação de integridade.
    2. Defina o nome da verificação de integridade como HTTP_HEALTH_CHECK_NAME.
    3. Em Protocolo, selecione HTTP.
    4. Defina a Porta como 80.
  10. Clique em Criar.

Revisar e finalizar

  1. Clique em Analisar e finalizar.
  2. Se estiver tudo certo, clique em Criar.

gcloud

  1. Opcional: crie uma verificação de integridade. As sondagens de verificação de integridade para back-ends externos usam as verificações de integridade distribuídas do Envoy e, posteriormente, são convertidas 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=EXTERNAL_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 URL para encaminhar solicitações recebidas para o serviço de back-end :
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE \
        --region=REGION
    
  5. Opcional: execute esta etapa se você estiver usando HTTPS entre o cliente e o balanceador de carga. Ela não é necessário para balanceadores de carga HTTP.

    É possível criar certificados do Compute Engine ou do Gerenciador de certificados. Use um dos métodos a seguir para criar certificados usando o Gerenciador de certificados:

    • Certificados regionais autogerenciados. Para informações sobre como criar e usar certificados autogerenciados regionais, consulte Implantar um certificado autogerenciado regional. Mapas de certificados não são compatíveis.

    • Certificados regionais gerenciados pelo Google. Mapas de certificados não são compatíveis.

      Os seguintes tipos de certificados regionais gerenciados pelo Google são aceitos pelo Gerenciador de certificados:

    • Depois de criar certificados, anexe o certificado diretamente ao proxy de destino.

      Para criar um recurso de certificado SSL autogerenciado do Compute Engine:
      gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
          --certificate CRT_FILE_PATH \
          --private-key KEY_FILE_PATH
      
    • Crie um proxy de destino HTTP(S) para encaminhar solicitações ao mapa de URLs.

      Para um balanceador de carga HTTP, crie um proxy de destino HTTP:

      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 de destino HTTPS. O proxy é a parte do balanceador de carga onde é armazenado o certificado SSL para balanceamento de carga HTTPS. Portanto, nesta etapa, também é possível carregar o certificado.

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --ssl-certificates=SSL_CERTIFICATE_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      
    • Crie uma regra de encaminhamento para encaminhar as solicitações recebidas para o proxy.

      Para um balanceador de carga HTTP:

      gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --network-tier=STANDARD \
          --network=LB_NETWORK \
          --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=EXTERNAL_MANAGED \
          --network-tier=STANDARD \
          --network=LB_NETWORK \
          --address=LB_IP_ADDRESS \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=443
      

Como conectar seu domínio ao balanceador de carga

Após a criação do balanceador de carga, anote o endereço IP associado a ele, por exemplo, 30.90.80.100. Para apontar seu domínio para o balanceador de carga, crie um registro A usando o serviço de registro de domínio. Se você adicionou vários domínios ao certificado SSL, adicione um registro A para cada um deles, todos apontando para o endereço IP do balanceador de carga. Por exemplo, para criar registros 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 você usa o Cloud DNS como provedor de DNS, consulte Adicionar, modificar e excluir registros.

Testar o balanceador de carga

Agora que você configurou o balanceador de carga, é possível começar a enviar tráfego para o endereço IP dele. Se você tiver configurado um domínio, também será possível enviar tráfego para o nome do domínio. No entanto, a propagação de DNS pode levar algum tempo para ser concluída. Portanto, é possível começar usando o endereço IP para o teste.

Console

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

    Acessar o "Balanceamento de carga"

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

  3. Anote o Endereço IP do balanceador de carga.

  4. Enviar tráfego ao balanceador de carga

    • Se você criou um balanceador de carga HTTP, acesse http://IP_ADDRESS para testá-lo. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga. Isso redirecionará você ao aplicativo em execução no back-end externo.

    • Se você criou um balanceador de carga HTTPS, acesse https://IP_ADDRESS para testá-lo. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga. Isso redirecionará você ao aplicativo em execução no back-end externo.

    Se isso não funcionar e você estiver usando um certificado gerenciado pelo Google, confirme se o status do recurso do certificado é "ATIVO". Para mais informações, consulte Status do recurso de certificado SSL gerenciado pelo Google.

    Se preferir, use o curl na linha de comando da sua máquina local. Substitua IP_ADDRESS pelo endereço IPv4 do balanceador de carga: Se você estiver usando um certificado gerenciado pelo Google, teste o domínio que aponta para o endereço IP do balanceador de carga. Por exemplo:

    curl -s 'https://www.example.com:443' --resolve www.example.com:443:IP_ADDRESS
    
  5. Opcional: se você estiver usando um domínio personalizado, talvez seja necessário aguardar até que as configurações de DNS atualizadas sejam propagadas. Em seguida, teste seu domínio no navegador da Web.

    Para ajuda com a solução de problemas, consulte Solução de problemas de back-end externo e NEG na Internet.

Configurações avançadas

Nesta seção, o exemplo é detalhado para fornecer outras opções de configuração. Todas as tarefas são opcionais. É possível realizá-las em qualquer ordem.

Usar um cabeçalho personalizado para autenticar solicitações

Para autenticar solicitações enviadas ao back-end externo, defina um cabeçalho personalizado para indicar que a solicitação veio de um balanceador de carga do Google Cloud. Você também precisará configurar o back-end externo para que espere esse cabeçalho personalizado no tráfego proveniente do Google Cloud.

Para saber como configurar cabeçalhos personalizados, consulte Configurar gerenciamento de tráfego avançado.

Para outros métodos de autenticação, consulte Autenticar solicitações no back-end externo.

Ativar o IAP no balanceador de carga externo do aplicativo

É possível configurar o IAP para ser ativado ou desativado (padrão). Se ativado, você precisa fornecer valores para oauth2-client-id e oauth2-client-secret.

Para ativar o IAP, atualize o serviço de back-end para incluir a sinalização --iap=enabled com o oauth2-client-id e oauth2-client-secret.

Se preferir, ative o IAP para um recurso do Compute Engine usando o console do Google Cloud, a gcloud CLI ou a API do Google Cloud.

A seguir