Configure um Application Load Balancer externo regional com um back-end externo

O guia mostra como configurar um Application Load Balancer externo 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 externo regional com um back-end externo.

Um Application Load Balancer externo regional com um back-end externo.
Figura 1. Um Application Load Balancer externo regional com um back-end externo (clique para ampliar).

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 estático para o balanceador de carga.

Consola

  1. Na Google Cloud consola, aceda à página Reserve um endereço estático.

    Aceda a Reservar um endereço estático

  2. Escolha um Nome para a nova morada.

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

  4. Para Versão do IP, selecione IPv4. Os endereços IPv6 só podem ser globais e só podem ser usados com equilibradores de carga globais.

  5. Para 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, este endereço IP é anexado à regra de encaminhamento do balanceador de carga.

  8. Clique em Reservar para reservar o endereço IP.

gcloud

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

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

    Substitua o seguinte:

    • LB_IP_ADDRESS: o nome que quer dar a esta morada.
    • REGION: a região onde quer reservar esta morada. Esta região deve ser a mesma região que o 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
    

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 Público (externo) e clique em Seguinte.
  5. Para a Implementação global ou de região única, 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 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
  4. 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=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 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=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-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. Se configurou um domínio, também pode enviar tráfego para o nome de domínio. No entanto, a propagação de DNS pode demorar algum tempo a ser concluída, pelo que pode começar por usar o endereço IP para testes.

Consola

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

    Aceda a 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 HTTP, pode testá-lo acedendo a http://IP_ADDRESS. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga. Deve ser direcionado para a aplicação que está a executar no back-end externo.

    • Se criou um balanceador de carga HTTPS, pode testá-lo acedendo a https://IP_ADDRESS. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga. Deve ser direcionado para a aplicação que está a executar no back-end externo.

    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 alternativa, pode usar curl a partir da linha de comandos da sua máquina local. Substitua IP_ADDRESS pelo endereço IPv4 do equilibrador de carga. Se estiver a usar um certificado gerido pela 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 estiver a usar um domínio personalizado, pode ter de aguardar que as definições de DNS atualizadas sejam propagadas. Em seguida, teste o domínio no navegador de Internet.

    Para obter ajuda na resolução de problemas, consulte o artigo Resolva problemas de NEG externos e de back-end da Internet.

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.

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 avançada de tráfego.

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

Ative a IAP no Application Load Balancer externo

Pode configurar as CAs para estarem ativadas ou desativadas (predefinição). Se a opção estiver ativada, tem de fornecer valores para oauth2-client-id e oauth2-client-secret.

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

Opcionalmente, pode ativar a IAP para um recurso do Compute Engine através da Google Cloud consola, da CLI gcloud ou da API.

O que se segue?