Configure um balanceador de carga de rede de proxy externo regional com conetividade híbrida

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

Esta página descreve como configurar um Network Load Balancer de proxy externo regional para equilibrar a carga do tráfego para back-ends em ambientes nas instalações ou noutros ambientes na nuvem que estão ligados através da conetividade híbrida. A configuração da conetividade híbrida para associar as suas redes ao Google Cloud não está no âmbito desta página.

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

Neste exemplo, vamos usar o balanceador de carga para distribuir o tráfego TCP por VMs de back-end localizadas no local ou noutros ambientes de nuvem.

Neste exemplo, configura a implementação apresentada no diagrama seguinte.

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

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) têm de estar na mesma região.

Autorizações

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

  • Ativar Google Cloud

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

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

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

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

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

Estabeleça conetividade híbrida

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

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

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

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

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

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

Configure o seu ambiente externo ao domínio Google Cloud

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

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

Configure pontos finais de rede

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

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

Configure regras de firewall

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

  • Crie uma regra de firewall de permissão de entrada em ambientes no local ou noutras nuvens para permitir que o tráfego da sub-rede só de proxy da região alcance os pontos finais.
  • Não é necessário permitir tráfego dos intervalos de sondas de verificação de estado da Google para NEGs híbridos. No entanto, se estiver a usar uma combinação de NEGs híbridos e zonais num único serviço de back-end, tem de permitir o tráfego dos intervalos de sondas de verificação de estado da Google para os NEGs zonais.

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

  • O intervalo da sub-rede só de proxy da região.

Configure o seu Google Cloud ambiente

Para os passos seguintes, certifique-se de que usa a mesma rede VPC (denominada NETWORK neste procedimento) que foi usada para configurar a conetividade híbrida entre os ambientes. Pode selecionar qualquer sub-rede desta rede para reservar o endereço IP do balanceador de carga e criar o balanceador de carga. Esta sub-rede é referida como LB_SUBNET neste procedimento.

Além disso, certifique-se de que a região usada (denominada REGION_A neste procedimento) é a mesma região que foi usada para criar o túnel da Cloud VPN ou a ligação VLAN do Cloud Interconnect.

Configure a sub-rede só de proxy

Uma sub-rede apenas de proxy fornece um conjunto de endereços IP que a Google usa para executar proxies do Envoy em seu nome. Os proxies terminam as ligações do cliente e criam novas ligações aos backends.

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

Só pode existir uma sub-rede só de proxy ativa por região e por rede VPC. Pode ignorar este passo se já existir uma sub-rede apenas de proxy nesta região.

Consola

Se estiver a usar a Google Cloud consola, pode aguardar e criar a sub-rede apenas de proxy mais tarde na página Equilíbrio de carga.

Se quiser criar a sub-rede apenas de proxy agora, siga estes passos:

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

    Aceda a redes de VPC

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

  3. Clique em Adicionar sub-rede.

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

  5. Para Região, selecione REGION_A.

  6. Defina Purpose como Regional Managed Proxy.

  7. Para o Intervalo de endereços IP, introduza 10.129.0.0/23.

  8. Clique em Adicionar.

gcloud

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

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

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

  5. Para Tipo, selecione Regional.

  6. Para Região, selecione REGION_A.

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

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

    Substitua ADDRESS_NAME pelo nome que quer dar a este endereço.

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

    gcloud compute addresses describe ADDRESS_NAME
    

Configure o NEG de conetividade híbrida

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

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

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

Consola

Crie um NEG de conetividade híbrida

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

    Aceda a Grupos de pontos finais da rede

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

  3. Em Nome, introduza HYBRID_NEG_NAME.

  4. Em Tipo de grupo de pontos finais da rede, selecione Grupo de pontos finais da rede de conetividade híbrida (zonal).

  5. Para Rede, selecione NETWORK.

  6. Para Sub-rede, selecione LB_SUBNET.

  7. Para Zona, selecione HYBRID_NEG_ZONE.

  8. Para Porta predefinida, selecione a predefinição.

  9. Para Máximo de ligações, introduza 2.

  10. Clique em Criar.

Adicione pontos finais ao NEG de conetividade híbrida

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

    Aceda a Grupos de pontos finais da rede

  2. Clique no nome do grupo de pontos finais de rede que criou no passo anterior (HYBRID_NEG_NAME).

  3. Na página Detalhes do grupo de pontos finais de rede, na secção Pontos finais de rede neste grupo, clique em Adicionar ponto final de rede.

  4. Na página Adicionar ponto final de rede, introduza o endereço IP do novo ponto final de rede.

  5. Selecione o Tipo de porta:

    • Se selecionar Predefinição, o ponto final usa a porta predefinida para todos os pontos finais no grupo de pontos finais de rede.
    • Se selecionar Personalizado, pode introduzir um número de porta diferente para o ponto final usar.
  6. Para adicionar mais pontos finais, clique em Adicionar ponto final de rede e repita os passos anteriores.

  7. Depois de adicionar todos osGoogle Cloud pontos finais que não sejam de serviço Web, clique em Criar.

gcloud

  1. Para criar um NEG de conetividade 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 ponto final IP:Port no 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"
    

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

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

Configure o balanceador de carga

Consola

Inicie a configuração

  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. Para Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Seguinte.
  4. Para Proxy ou passagem, selecione Proxy de balanceamento de carga e clique em Seguinte.
  5. Para Público ou interno, selecione Público (externo) e clique em Seguinte.
  6. Para a Implementação global ou de região única, selecione Melhor para cargas de trabalho regionais e clique em Seguinte.
  7. Clique em Configurar.

Configuração básica

  1. Em Nome, introduza um nome para o balanceador de carga.
  2. Para Região, selecione REGION_A.
  3. Para Rede, selecione NETWORK.

Reserve uma sub-rede só de proxy

  1. Clique em Reservar sub-rede.
  2. Em Nome, introduza proxy-only-subnet.
  3. Para o Intervalo de endereços IP, introduza 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 pontos finais da rede de conetividade híbrida (zonal).
  3. Em Protocolo, selecione TCP.
  4. Para Novo back-end, selecione o NEG híbrido que criou anteriormente (HYBRID_NEG_NAME). Em alternativa, pode clicar em Criar um grupo de pontos finais da rede para criar o NEG híbrido agora. Para orientações sobre a configuração do NEG, consulte o artigo Configure o NEG híbrido.
  5. Mantenha os restantes valores predefinidos e, de seguida, clique em Concluído.
  6. Configure a verificação de estado:
    • Para Verificação de funcionamento, selecione Criar uma verificação de funcionamento.
    • Em Nome, introduza um nome para a verificação de estado.
    • Em Protocolo, selecione TCP.
    • Em Porta, introduza 80.
  7. Mantenha os restantes valores predefinidos e, de seguida, clique em Guardar.
  8. Na Google Cloud consola, verifique se existe uma marca de verificação junto a Configuração de back-end. Caso contrário, verifique novamente se concluiu todos os passos.

Configure a interface

  1. Clique em Configuração do front-end.
  2. Em Nome, introduza um nome para a regra de encaminhamento.
  3. Para Nível de serviço de rede, selecione Padrão.
  4. Para Endereço IP, selecione LB_IP_ADDRESS.
  5. Para o Número da porta, introduza qualquer número de porta entre 1 e 65535. A regra de encaminhamento encaminha apenas pacotes com uma porta de destino correspondente.
  6. Ative o protocolo proxy apenas se funcionar com o serviço em execução nos seus pontos finais nas instalações ou noutra nuvem. Por exemplo, o protocolo PROXY não funciona com o software do servidor HTTP Apache. Para mais informações, consulte o protocolo PROXY.
  7. Clique em Concluído.
  8. Na Google Cloud consola, verifique se existe uma marca de verificação junto a Configuração do front-end. Caso contrário, verifique novamente se concluiu todos os passos anteriores.

Reveja e finalize

  1. Clique em Rever e finalizar.
  2. Verifique as definições.
  3. Clique em Criar.

gcloud

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

    gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \
        --region=REGION_A \
        --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_A \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION_A
    
  3. Adicione o back-end do 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_A \
       --balancing-mode=CONNECTION \
       --max-connections=MAX_CONNECTIONS
    

    Para MAX_CONNECTIONS, introduza o número máximo de ligaçõ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_A
    
  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 entre 1 e 65535. A regra de encaminhamento só encaminha pacotes com uma porta de destino correspondente.

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

Teste o balanceador de carga

Agora que configurou o equilibrador de carga, pode testar o envio de tráfego para o endereço IP do equilibrador de carga.

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

    Para obter 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 seguinte comando. Substitua LB_IP_ADDRESS pela morada IPv4 do seu equilibrador de carga.

    curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
    

O que se segue?