Configurar um balanceador de carga de rede de proxy externo regional com conectividade híbrida

Um balanceador de carga de rede de proxy externo regional é um balanceador de carga regional de camada 4 baseado em proxy que permite executar e escalonar o tráfego do serviço TCP em uma única região atrás de um endereço IP regional externo. Esses balanceadores de carga distribuem o tráfego TCP externo da Internet para back-ends na mesma região.

Nesta página, descrevemos como configurar um balanceador de carga de rede de proxy externo regional para balancear a carga do tráfego para back-ends em ambientes locais ou em outros ambientes de nuvem que estão conectados usando a conectividade híbrida A configuração da conectividade híbrida para conectar suas redes ao Google Cloud não está no escopo desta página.

Antes de começar, leia a Visão geral do balanceador de carga de rede de proxy externo.

Neste exemplo, usaremos o balanceador de carga para distribuir o tráfego TCP nas VMs de back-end localizadas no local ou em outros ambientes de nuvem.

Neste exemplo, você configura a implantação mostrada no diagrama a seguir.

Configuração de exemplo do balanceador de carga de rede de proxy externo com back-ends de NEG híbrido.
Exemplo de configuração do balanceador de carga de rede de proxy externo com back-ends de NEG híbrido

Este é um balanceador de carga regional. Todos os componentes do balanceador de carga (grupo de instâncias de back-end, serviço de back-end, proxy de destino e regra de encaminhamento) precisam estar na mesma região.

Permissões

Para configurar o balanceamento de carga híbrido, você precisa ter as seguintes permissões:

  • No Google Cloud

  • No local ou em outro ambiente de nuvem que não seja o Google Cloud

    • Permissões para configurar endpoints de rede que autorizam os serviços no local ou em outros ambientes de nuvem a serem acessados pelo Google Cloud com uma combinação de IP:Port. Para mais informações, entre em contato com o administrador de rede do ambiente.
    • Permissões para criar regras de firewall no seu ambiente local ou em outros ambientes de nuvem para que as sondagens de verificação de integridade do Google alcancem os endpoints.

Além disso, para concluir as instruções nesta página, você precisa criar um NEG híbrido de conectividade, um balanceador de carga e NEGs zonais (e os respectivos endpoints) para servir como back-ends baseados no Google Cloud para o balanceador de carga.

É necessário ser proprietário ou editor de um projeto ou ter os seguintes papéis de IAM do Compute Engine.

Tarefa Papel necessário
Criar redes, sub-redes e componentes do balanceador de carga Administrador de rede do Compute (roles/compute.networkAdmin)
Adicionar e remover regras de firewall Administrador de segurança do Compute (roles/compute.securityAdmin)
Criar instâncias Administrador da instância do Compute (roles/compute.instanceAdmin)

Estabelecer conectividade híbrida

O Google Cloud e os ambientes locais ou em nuvem precisam ser conectados por uma conectividade híbrida usando anexos da VLAN do Cloud Interconnect ou túneis do Cloud VPN com o Cloud Router. Recomendamos que você use uma conexão de alta disponibilidade.

Um Cloud Router ativado com roteamento dinâmico global aprende sobre o endpoint específico usando o Border Gateway Protocol (BGP) e o programa na sua rede VPC do Google Cloud. O roteamento dinâmico regional não é compatível. Rotas estáticas também não são compatíveis.

A rede VPC que você usa para configurar o Cloud Interconnect ou o Cloud VPN é a mesma rede usada para configurar a implantação do balanceamento de carga híbrido. Verifique se os intervalos de 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, as rotas de sub-rede são priorizadas em relação à conectividade remota.

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

Configurar o ambiente fora do Google Cloud

Execute as etapas a seguir para configurar seu ambiente local ou outro ambiente de nuvem para balanceamento de carga híbrido:

  • Configure endpoints da rede para expor serviços locais ao Google Cloud (IP:Port).
  • Configure regras de firewall no seu ambiente local ou em outro ambiente de nuvem
  • Configurar o Cloud Router para divulgar determinadas rotas necessárias para seu ambiente particular.

Configurar endpoints da rede

Depois de configurar a conectividade híbrida, você configura um ou mais endpoints de rede no seu ambiente local ou em outros ambientes de nuvem acessíveis pelo Cloud Interconnect ou pelo Cloud VPN usando uma combinação de IP:port. Essa combinação de IP:port é configurada como um ou mais endpoints para o NEG de conectividade híbrida criado no Google Cloud posteriormente neste processo.

Se houver vários caminhos para o endpoint do IP, o roteamento seguirá o comportamento descrito na Visão geral do Cloud Router.

Configurar regras de firewall

As regras de firewall a seguir precisam ser criadas no ambiente local ou em outro ambiente de nuvem:

  • Crie uma regra de firewall de permissão de entrada no ambiente local ou em outros ambientes de nuvem para permitir que o tráfego da sub-rede somente proxy da região chegue aos endpoints.
  • Não é necessário adicionar intervalos de sondagem de verificação de integridade do Google à lista de permissões para NEGs híbridos. No entanto, se você estiver usando uma combinação de NEGs híbridos e zonais em um único serviço de back-end, será necessário usar lista de permissões dos intervalos de sondagem de verificação de integridade do Google para NEGs zonais.

Configure o Cloud Router para divulgar os seguintes intervalos de IP personalizados no local ou outro ambiente de nuvem:

  • O intervalo da sub-rede somente proxy da região.

Configurar ambiente do Google Cloud

Para as etapas a seguir, certifique-se de usar a mesma rede VPC (chamada NETWORK neste procedimento) usada para configurar a conectividade híbrida entre os ambientes. É possível selecionar qualquer sub-rede dessa rede para reservar o endereço IP do balanceador de carga e criar o balanceador. Ela será chamada de LB_SUBNET neste procedimento.

Além disso, verifique se a região usada (chamada REGION neste procedimento) é a mesma usada para criar o túnel do Cloud VPN ou o anexo da VLAN do Cloud Interconnect.

Configurar a sub-rede somente proxy

Uma sub-rede somente proxy fornece um conjunto de endereços IP que o Google usa para executar proxies Envoy em seu nome. Os proxies encerram as conexões do cliente e criam novas conexões com os back-ends.

A sub-rede somente proxy é usada por todos os balanceadores de carga regionais baseados no Envoy na região (REGION) da rede VPC NETWORK.

Só pode haver uma sub-rede somente proxy ativa por região, por rede VPC. Pule esta etapa se já houver uma sub-rede somente proxy nessa região.

Console

Se você estiver usando o console do Google Cloud, é possível esperar e criar a sub-rede somente proxy depois na página Balanceamento de carga.

Se você quiser criar a sub-rede somente proxy agora, siga estas etapas:

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

    Acessar redes VPC

  2. Acesse a rede usada para configurar a conectividade híbrida entre os ambientes.

  3. Clique em Add subnet.

  4. Em Nome, insira proxy-only-subnet.

  5. Em Região, selecione us-west1.

  6. Defina Finalidade como Proxy gerenciado regional.

  7. Em Intervalo de endereços IP, insira 10.129.0.0/23.

  8. Clique em Adicionar.

gcloud

Para criar a sub-rede somente proxy, use o comando gcloud compute networks subnets create:

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=us-west1 \
    --network=NETWORK \
    --range=10.129.0.0/23

Reserve o endereço IP do balanceador de carga

Reserve um endereço IP externo para o balanceador de carga. Neste procedimento, você cria o endereço IP do balanceador de carga no nível Standard. Os balanceadores de carga de rede de proxy externos regionais dão suporte aos níveis de serviço de rede Premium e Standard. No entanto, a criação desse balanceador de carga no nível Premium não é compatível com o console do Google Cloud. Use a gcloud ou a API REST.

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 não são aceitos.

  5. Em Tipo, selecione Regional.

  6. Em Região, selecione us-west1.

  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, use o comando gcloud compute addresses create:

    gcloud compute addresses create ADDRESS_NAME  \
       --region=us-west1 \
       --network-tier=STANDARD
    

    Substitua ADDRESS_NAME pelo nome que você quer chamar com esse endereço.

  2. Para ver o resultado, use o comando gcloud compute addresses describe:

    gcloud compute addresses describe ADDRESS_NAME
    

Configurar o NEG de conectividade híbrida

Ao criar o NEG, use uma ZONE que minimize a distância geográfica entre o Google Cloud e o ambiente local ou de outra nuvem. Por exemplo, se você estiver hospedando um serviço em um ambiente local em Frankfurt, na Alemanha, será possível especificar a zona europe-west3-a do Google Cloud ao criar o NEG.

Além disso, a zona usada para criar o NEG precisa estar na mesma região em que o túnel do Cloud VPN ou o anexo da VLAN do Cloud Interconnect foi configurado para conectividade híbrida.

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

Console

Criar um NEG de conectividade híbrida

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

    Acessar grupos de endpoints da rede

  2. Clique em Criar grupo de endpoints de rede.

  3. Em Nome, insira HYBRID_NEG_NAME.

  4. Em Tipo de grupo de endpoints de rede, selecione Grupo de endpoints de rede de conectividade híbrida (zonal).

  5. Em Rede, selecione NETWORK.

  6. Em Sub-rede, selecione LB_SUBNET.

  7. Em Zona, selecione HYBRID_NEG_ZONE.

  8. Em Porta padrão, selecione o padrão.

  9. Em Máximo de conexões, insira 2.

  10. Clique em Criar.

Adicione endpoints ao NEG de conectividade híbrida

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

    Acessar grupos de endpoints da rede

  2. Clique no nome do grupo de endpoints da rede que você criou na etapa anterior (HYBRID_NEG_NAME).

  3. Na página Detalhes do grupo de endpoints da rede, na seção Endpoints da rede neste grupo, clique em Adicionar endpoint da rede.

  4. Na página Adicionar endpoint da rede, insira o endereço IP do novo endpoint da rede.

  5. Selecione o Tipo de porta:

    • Se você selecionar Padrão, o endpoint usará a porta padrão para todos os endpoints no grupo de endpoints da rede.
    • Se você selecionar Personalizado, insira um número de porta diferente para ser usado pelo endpoint.
  6. Para adicionar mais endpoints, clique em Adicionar endpoint da rede e repita as etapas anteriores.

  7. Depois de adicionar todos os endpoints que não são do Google Cloud, clique em Criar.

gcloud

  1. Para criar um NEG de conectividade híbrida, use o comando gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create HYBRID_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=HYBRID_NEG_ZONE \
        --network=NETWORK
     
  2. Adicione o endpoint IP:Porta local ao NEG híbrido:

    gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \
        --zone=HYBRID_NEG_ZONE \
        --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
    

Use esse comando para adicionar os endpoints de rede que você configurou anteriormente no local ou no seu ambiente de nuvem. Repita --add-endpoint quantas vezes forem necessárias.

Repita essas etapas para criar vários NEGs híbridos se necessário.

Configurar 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 rede (TCP/UDP/SSL) e clique em Próxima.
  4. Em Proxy ou passagem, selecione Balanceador de carga de proxy e clique em Próxima.
  5. Em Voltado ao público ou interno, selecione Voltado ao público (externo) e clique em Próxima.
  6. Em Implantação global ou de região única, selecione Melhor para cargas de trabalho regionais e clique em Próxima.
  7. Clique em Configurar.

Configuração básica

  1. Em Nome, insira um nome para o balanceador de carga.
  2. Em Região, selecione REGION.
  3. Em Rede, selecione NETWORK.

Reservar uma sub-rede somente proxy

  1. Clique em Reservar sub-rede.
  2. Em Nome, insira proxy-only-subnet.
  3. Em Intervalo de endereços IP, insira 10.129.0.0/23.
  4. Clique em Adicionar.

Configure o back-end

  1. Clique em Configuração de back-end.
  2. Em Tipo de back-end, selecione Grupo de endpoints de rede de conectividade híbrida (zonal).
  3. Em Protocol, selecione TCP.
  4. Em Novo back-end, selecione o NEG híbrido que você criou anteriormente (HYBRID_NEG_NAME). Se preferir, clique em Criar um grupo de endpoints de rede para criar o NEG híbrido agora. Para saber como configurar o NEG, consulte Configurar o NEG híbrido.
  5. Mantenha os valores padrão restantes e clique em Concluído.
  6. Configure a verificação de integridade:
    • Em Verificação de integridade, selecione Criar verificação de integridade.
    • Em Nome, digite um nome para a verificação de integridade.
    • Em Protocol, selecione TCP.
    • Em Porta, insira 80.
  7. Mantenha os valores padrão restantes e clique em Salvar.
  8. No Console do Google Cloud, verifique se há uma marca de seleção ao lado de Configuração do back-end. Se não houver, verifique se você concluiu todas as etapas.

Configure o front-end

  1. Clique em Configuração de front-end.
  2. Em Nome, digite um nome para a regra de encaminhamento.
  3. Em Endereço IP, selecione LB_IP_ADDRESS.
  4. Em Número da porta, digite um número de porta de 1 a 65535. A regra de encaminhamento encaminha pacotes com uma porta de destino correspondente.
  5. Ative o Protocolo de proxy somente se ele funcionar com o serviço em execução nos seus endpoints locais ou em outros endpoints da nuvem. Por exemplo, o protocolo PROXY não funciona com o software servidor Apache HTTP. Para mais informações, consulte Protocolo de proxy.
  6. Clique em Concluído.
  7. No Console do Google Cloud, verifique se há uma marca de seleção ao lado de Configuração do front-end. Se não houver, verifique se você concluiu todas as etapas anteriores.

Revisar e finalizar

  1. Clique em Revisar e finalizar.
  2. Verifique suas configurações.
  3. Clique em Criar.

gcloud

  1. Crie uma verificação de integridade para os back-ends:

    gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. Crie um serviço de back-end:

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION
    
  3. Adicione o back-end NEG híbrido ao serviço de back-end:

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
       --network-endpoint-group=HYBRID_NEG_NAME \
       --network-endpoint-group-zone=HYBRID_NEG_ZONE \
       --region=REGION \
       --balancing-mode=CONNECTION \
       --max-connections=MAX_CONNECTIONS
    

    Para MAX_CONNECTIONS, digite o máximo de conexões simultâneas que o back-end deve processar.

  4. Crie o proxy TCP de destino:

    gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \
       --backend-service=BACKEND_SERVICE_NAME \
       --region=REGION
    
  5. Crie a regra de encaminhamento. Use o comando gcloud compute forwarding-rules create. Substitua FWD_RULE_PORT por um único número de porta de 1 a 65535. A regra de encaminhamento encaminha pacotes com uma porta de destino correspondente.

    gcloud compute forwarding-rules create FORWARDING_RULE \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network=NETWORK \
       --subnet=LB_SUBNET \
       --address=LB_IP_ADDRESS \
       --ports=FWD_RULE_PORT \
       --region=REGION \
       --target-tcp-proxy=TARGET_TCP_PROXY_NAME \
       --target-tcp-proxy-region=REGION
    

Testar o balanceador de carga

Agora que você configurou o balanceador de carga, é possível testar o envio de tráfego para o endereço IP dele.

  1. Anote o endereço IP do balanceador de carga.

    Para encontrar o endereço IPv4, execute o seguinte comando:

    gcloud compute addresses describe ADDRESS_NAME
    
  2. Envie tráfego para o balanceador de carga executando o comando a seguir. Substitua LB_IP_ADDRESS pelo endereço IPv4 do balanceador de carga:

    curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
    

A seguir

  • Para saber como os balanceadores de carga de rede de proxy externos funcionam, consulte esta página.
  • Para configurar a geração de registros e o monitoramento do seu balanceador de carga, consulte esta página.
  • Para excluir os recursos que você criou para não ser cobrado por eles no futuro, consulte Limpar a configuração do balanceador de carga.