Visão geral do balanceador de carga de rede de passagem externa

Os balanceadores de carga de rede de passagem externa são regionais, da camada 4, que distribuem o tráfego externo entre back-ends (grupos de instâncias ou grupos de endpoints de rede) na mesma região do balanceador de carga. Esses back-ends precisam estar na mesma região e projeto, mas podem estar em redes VPC diferentes.

É possível configurar um balanceador de carga de rede de passagem externa para tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Os balanceadores de carga de rede de passagem externa podem receber tráfego de:

  • Qualquer cliente na Internet
  • VMs do Google Cloud com IPs externos
  • VMs do Google Cloud que têm acesso à Internet por meio do Cloud NAT ou NAT baseada em instância

Os balanceadores de carga de rede de passagem externa têm as seguintes características:

  • Um balanceador de carga de rede de passagem externa é um serviço gerenciado implementado usando a rede virtual Andromeda e o Google Maglev.
  • O escopo de um balanceador de carga de rede de passagem externo é regional. Isso significa que o balanceador de carga não pode abranger várias regiões. Em uma única região, o balanceador de carga atende a todas as zonas.
  • Os balanceadores de carga de rede de passagem externa não são proxies.
    • Os pacotes com balanceamento de carga são recebidos por VMs de back-end com os endereços IP de origem e destino do pacote e, se o protocolo for baseado em portas, as portas de origem e de destino inalteradas.
    • As conexões com balanceamento de carga são encerradas pelas VMs de back-end.
    • As respostas das VMs de back-end vão diretamente para os clientes, e não voltam pelo balanceador de carga. O termo do setor para isso é retorno direto do servidor (DSR, na sigla em inglês).

Os diagramas a seguir mostram um balanceador de carga de rede de passagem externa cuja regra de encaminhamento tem o endereço IP 120.1.1.1. O balanceador de carga de rede de passagem externa é configurado na região us-central1 com back-ends localizados na mesma região.

Os balanceadores de carga de rede de passagem externa são de natureza regional e oferecem suporte apenas a back-ends na mesma região dos front-ends configurados. No entanto, os pacotes para balanceadores de carga de rede de passagem externa ainda podem ser enviados de qualquer lugar na Internet, independentemente de o endereço IP do balanceador de carga estar no nível Premium ou Padrão. Se o endereço IP do balanceador de carga estiver no nível Premium, o tráfego vai passar pelo backbone global de alta qualidade do Google, com a intenção de que os pacotes entrem e saiam de um ponto de peering de borda do Google o mais próximo possível do cliente. Se o endereço IP do balanceador de carga estiver no nível Padrão, o tráfego vai entrar e sair da rede do Google em um ponto de peering mais próximo da região do Google Cloud em que os componentes do balanceador de carga estão configurados.

No diagrama a seguir, o tráfego é encaminhado de um usuário em Singapura para o balanceador de carga de rede de passagem em us-central1 (endereço IP da regra de encaminhamento 120.1.1.1).

Um usuário em Singapura, perto de asia-southeast1, acessando um balanceador de carga de rede de passagem externa na região us-central1.
Exemplo de balanceador de carga de rede de passagem externa para um usuário em Singapura (clique para ampliar).

No diagrama a seguir, o tráfego é encaminhado de um usuário em Iowa para o balanceador de carga de rede de passagem externa em us-central1 (endereço IP da regra de encaminhamento 120.1.1.1).

Um usuário em Iowa, perto de us-central1, acessando um balanceador de carga de rede na
    mesma região us-central1.
Exemplo de balanceador de carga de rede de passagem externa para um usuário em Iowa (clique para ampliar).

Casos de uso

Use um balanceador de carga de rede de passagem externa nas seguintes circunstâncias:

  • Você precisa fazer o balanceamento de carga do tráfego UDP ou de uma porta TCP que não é compatível com outros balanceadores de carga.
  • É aceitável que o tráfego SSL seja descriptografado por seus back-ends, no lugar do balanceador de carga. O balanceador de carga de rede de passagem externa não pode executar esta tarefa. Quando os back-ends descriptografam o tráfego SSL, há uma carga de CPU maior nas VMs.
  • O gerenciamento automático dos certificados SSL da VM de back-end é aceitável para você. Os certificados SSL gerenciados pelo Google estão disponíveis apenas para balanceadores de carga de aplicativos externos e de rede de proxy externo.
  • Você precisa encaminhar os pacotes originais sem proxy. Por exemplo, se você precisa preservar o IP de origem do cliente.
  • Você tem uma configuração atual que usa um balanceador de carga de passagem e quer migrá-lo sem alterações.
  • Você precisa de proteção avançada contra DDoS de rede para seu balanceador de carga de rede de passagem externa. Para mais informações, consulte Configurar a proteção avançada contra DDoS da rede usando o Google Cloud Armor.

Balanceamento de carga para aplicativos do GKE

Se você estiver criando aplicativos no GKE, recomendamos usar o controlador de serviços do GKE integrado, que implanta balanceadores de carga do Google Cloud em nome dos usuários do GKE. Isso é o mesmo que a arquitetura de balanceamento de carga independente, exceto pelo fato de o ciclo de vida dela ser totalmente automatizado e controlado pelo GKE.

Documentação relacionada do GKE:

Arquitetura

A arquitetura de um balanceador de carga de rede de passagem externa depende de você usar um balanceador de carga de rede de passagem externa baseado em serviço de back-end ou um balanceador de carga de rede de passagem externa baseado em pool de destino.

Balanceador de carga de rede de passagem externa baseado em serviço de back-end

É possível criar balanceadores de carga de rede de passagem externa com um serviço de back-end regional que defina o comportamento do balanceador de carga e como ele distribui o tráfego para os back-ends. Os balanceadores de carga de rede de passagem externa baseados em serviço de back-end aceitam tráfego IPv4 e IPv6, vários protocolos (TCP, UDP, ESP, GRE, ICMP e ICMPv6), grupos de instâncias gerenciados e não gerenciados, back-ends de NEG por zona usando endpoints GCE_VM_IP (incluindo suporte para várias interfaces de rede), controles refinados de distribuição de tráfego (rastreamento de conexão, diminuição da conexão, direcionamento de tráfego, balanceamento de carga ponderado e políticas de failover) e permitem que você use verificações de integridade não legadas que correspondem ao tipo de tráfego (TCP, SSL, HTTP, HTTPS ou HTTP/2) que você está distribuindo.

Para detalhes da arquitetura, consulte Balanceador de carga de rede de passagem externa com um serviço de back-end regional.

Também é possível transformar um balanceador de carga de rede de passagem externa baseado em pool de destino para usar um serviço de back-end. Para mais instruções, consulte Como fazer a transição de balanceadores de carga de rede de passagem externa de pools de destino para serviços de back-end.

Balanceador de carga de rede de passagem externa com base em pool de destino

Um pool de destino é o back-end legado compatível com os balanceadores de carga de rede de passagem externa do Google Cloud. Um pool de destino define um grupo de instâncias que receberá o tráfego de entrada do balanceador de carga.

Os balanceadores de carga de rede de passagem externa baseados em pool de destino são compatíveis com tráfego TCP ou UDP. As regras de encaminhamento para balanceadores de carga de rede de passagem externa baseados em pool de destino só aceitam endereços IPv4 externos.

Para detalhes da arquitetura, consulte Balanceador de carga de rede de passagem externa com um back-end de pool de destino.

Como comparar balanceadores de carga de rede de passagem externa com outros do Google Cloud

Conheça as diferenças entre os balanceadores de carga do Google Cloud nos documentos a seguir: