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

O balanceador de carga de proxy TCP regional interno é um balanceador de carga de Camada 4 regional e baseado em proxy. Com ele, é possível executar e escalonar o tráfego do serviço TCP atrás de um endereço IP interno acessível apenas a clientes na mesma rede VPC ou aos clientes conectados à rede VPC. Se você quiser disponibilizar o serviço para clientes em outras redes VPC, use o Private Service Connect para publicar o serviço.

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

Visão geral

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 o seguinte:

Configuração de exemplo do balanceador de carga de rede de proxy interno regional com back-ends de NEG híbrido.
Exemplo de configuração do balanceador de carga de rede de proxy interno regional com back-ends NEG híbridos (clique para ampliar).

O balanceador de carga de rede do proxy interno regional é regional. Todos os componentes do balanceador de carga (grupos 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. 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=NETWORK \
    --range=PROXY_ONLY_SUBNET_RANGE

Reserve o endereço IP do balanceador de carga

Por padrão, um endereço IP é usado para cada regra de encaminhamento. É possível reservar um endereço IPv4 compartilhado para usar o mesmo endereço IPv4 com várias regras de encaminhamento. No entanto, se você quiser usar o Private Service Connect para publicar o balanceador de carga, não use um endereço IPv4 compartilhado para a regra de encaminhamento.

Para reservar um endereço IPv4 interno estático para o balanceador de carga, consulte Reservar um novo endereço IPv4 ou IPv6 interno estático.

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, o ZONE usado 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 foram configurados para conectividade híbrida.

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

Console

Para 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. Insira um Nome para o NEG híbrido. Chamado de HYBRID_NEG_NAME neste procedimento.

  4. Selecione o Tipo de grupo de endpoints da rede: grupo de endpoints da rede de conectividade híbrida (zonal).

  5. Selecione a Rede: NETWORK

  6. Selecione a Sub-rede: LB_SUBNET

  7. Selecione a Zona: HYBRID_NEG_ZONE

  8. Insira a Porta padrão.

  9. 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 criado na etapa anterior (HYBRID_NEG_NAME). Você verá a página Detalhes do grupo de endpoints da rede.

  3. Na seção Endpoints da rede neste grupo, clique em Adicionar endpoint da rede. Você verá a página Adicionar endpoint de rede.

  4. Insira o endereço IP do novo endpoint da rede.

  5. Selecione o Tipo de porta.

    1. Se você selecionar Padrão, o endpoint usará a porta padrão para todos os endpoints no grupo de endpoints da rede.
    2. 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. Crie um NEG de conectividade híbrida usando 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 Interno e clique em Próxima.
  6. Em Implantação entre regiões ou região única, selecione Melhor para cargas de trabalho regionais e clique em Próxima.
  7. Clique em Configurar.

Configuração básica

  1. Digite um Nome para o balanceador de carga.
  2. Selecione a regiãoREGION.
  3. Selecione a Rede: NETWORK

Reservar uma sub-rede somente proxy

Para reservar uma sub-rede somente proxy:

  1. Clique em Reservar sub-rede.
  2. Insira o nome PROXY_ONLY_SUBNET_NAME.
  3. Digite um Intervalo de endereço IP: PROXY_ONLY_SUBNET_RANGE.
  4. Clique em Adicionar.

Configuração de 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 criado anteriormente: HYBRID_NEG_NAME. Se preferir, clique em Criar um grupo de endpoints da 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:
    1. Em Verificação de integridade, selecione Criar verificação de integridade.
    2. Digite um Nome para a verificação de integridade.
    3. Em Protocol, selecione TCP.
    4. 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.

Configuração de front-end

  1. Clique em Configuração de front-end.
  2. Insira um nome para a regra de encaminhamento: .
  3. Em Sub-rede, selecione LB_SUBNET.
  4. Em Endereço IP, selecione LB_IP_ADDRESS.
  5. 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.
  6. 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.
  7. Clique em Concluído.
  8. 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
    

    As sondagens de verificação de integridade para back-ends de NEG híbridos são originadas de proxies Envoy na sub-rede somente proxy.

  2. Crie um serviço de back-end.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=INTERNAL_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.

    Crie a regra de encaminhamento usando 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=INTERNAL_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

Para testar o balanceador de carga, crie uma VM cliente na mesma região que o balanceador de carga. Em seguida, envie o tráfego do cliente para o balanceador de carga.

Criar uma VM cliente

Crie uma VM cliente (client-vm) na mesma região do balanceador de carga.

Console

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Clique em Criar instância.

  3. Defina o Nome como client-vm.

  4. Defina Zona como CLIENT_VM_ZONE.

  5. Clique em Opções avançadas.

  6. Clique em Rede e configure os seguintes campos:

    1. Em Tags de rede, insira allow-ssh.
    2. Em Interfaces de rede, selecione o seguinte:
      • Rede: NETWORK
      • Sub-rede: LB_SUBNET
  7. Clique em Criar.

gcloud

A VM do cliente precisa estar na mesma rede e região VPC que o balanceador de carga. Ele não precisa estar na mesma sub-rede ou zona. O cliente usa a mesma sub-rede que as VMs de back-end.

gcloud compute instances create client-vm \
    --zone=CLIENT_VM_ZONE \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=LB_SUBNET

Permitir tráfego SSH para a VM de teste

Neste exemplo, você criará a regra de firewall:

  • fw-allow-ssh: uma regra de entrada que permite a conectividade SSH de entrada na porta TCP 22 de qualquer endereço. Escolha um intervalo de IP de origem mais restritivo para esta regra. Por exemplo, é possível especificar apenas os intervalos de IP do sistema do qual você inicia sessões SSH. Neste exemplo, usamos a tag de destino allow-ssh para identificar a VM do cliente de teste a que ela se aplicará.

Console

  1. No Console do Google Cloud, acesse a página políticas de Firewall. Acessar as políticas de firewall
  2. Clique em Criar regra de firewall novamente para criar uma regra que autorize conexões SSH de entrada:
    1. Nome: fw-allow-ssh
    2. Rede: NETWORK
    3. Prioridade: 1000
    4. Direção do tráfego: entrada
    5. Ação se houver correspondência: permitir
    6. Destinos: tags de destino especificadas
    7. Tags de meta: allow-ssh
    8. Filtro de origem: intervalos IPv4
    9. Intervalos IPv4 de origem: 0.0.0.0/0
    10. Portas e protocolos: escolha Portas e protocolos especificados e insira tcp:22.
    11. Clique em Criar.

gcloud

  1. Crie a regra de firewall fw-allow-ssh que permita a conectividade SSH para VMs com a tag de rede allow-ssh.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

Enviar tráfego ao 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. Conecte-se via SSH à instância do cliente.

    gcloud compute ssh client-vm \
      --zone=CLIENT_VM_ZONE
    
  2. Verifique se o balanceador de carga está disponibilizando nomes de host de back-end conforme o esperado.

    1. Use o comando compute addresses describe para ver o endereço IP do balanceador de carga:

      gcloud compute addresses describe LB_IP_ADDRESS \
        --region=REGION
      

      Anote o endereço IP.

    2. Envie tráfego para o balanceador de carga no endereço IP e na porta especificados ao criar a regra de encaminhamento do balanceador de carga. Testar se os back-ends NEG híbridos estão respondendo a solicitações depende do serviço em execução nos endpoints que não são do Google Cloud.

Opcional: publique o serviço usando o Private Service Connect

Um balanceador de carga de rede regional de proxy interno com conectividade híbrida permite disponibilizar um serviço hospedado no local ou em outros ambientes de nuvem para clientes na rede VPC.

Se você quiser disponibilizar o serviço híbrido em outras redes VPC, use o Private Service Connect para publicar o serviço. Ao colocar um anexo de serviço na frente do balanceador de carga do proxy TCP regional interno, é possível permitir que clientes em outras redes VPC alcancem os serviços híbridos executados no local ou em outros ambientes de nuvem.

Como usar o Private Service Connect para publicar um serviço híbrido.
Como usar o Private Service Connect para publicar um serviço híbrido (clique para ampliar).

A seguir