Visão geral do balanceamento de carga de rede TCP/UDP externa

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O balanceamento de carga de rede TCP/UDP externo do Google Cloud, referido balanceamento de carga de rede, é um balanceador de carga regional sem proxy. Um balanceador de carga de rede distribui o tráfego externo entre instâncias de máquina virtual (VM) na mesma região.

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

Um balanceador de carga de rede pode 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

O balanceamento de carga da rede tem as seguintes características:

  • O balanceamento de carga da rede é um serviço gerenciado.
  • O balanceamento de carga da rede é implementado usando a rede virtual Andromeda e o Google Maglev.
  • Os balanceadores de carga de rede 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 em que a regra de encaminhamento tem o endereço IP 120.1.1.1. O balanceador de carga da rede é configurado na região us-central1 com os back-ends localizados na mesma região.

Os balanceadores de carga de rede 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 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 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 na região us-central1.
Exemplo de balanceamento de carga de rede 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 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 balanceamento de carga de rede para um usuário em Iowa (clique para ampliar)

Scope

Um balanceador de carga de rede equilibra o tráfego proveniente da Internet.

O escopo de um balanceador de carga de rede é regional, e não global. Isso significa que um balanceador de carga de rede não pode abranger várias regiões. Em uma única região, o balanceador de carga atende a todas as zonas.

Casos de uso

Use o balanceamento de carga da rede 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 não pode executar essa 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 balanceamento de carga HTTP(S) e balanceamento de carga do proxy SSL 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. 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 depende de você usar um balanceador de carga de rede baseado em serviço de back-end ou um balanceador de carga de rede baseado em pool de destino.

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

Os balanceadores de carga de rede podem ser criados com um serviço de back-end regional que define o comportamento do balanceador de carga e como ele distribui o tráfego para os grupos de instância do back-end. Os serviços de back-end permitem recursos que não são compatíveis com pools de destino legados, como suporte para verificações de integridade não legadas (TCP, SSL, HTTP, HTTPS ou HTTP/2), escalonamento automático com instância gerenciada diminuição de conexão e uma política de failover configurável.

Os balanceadores de carga de rede baseados em serviço de back-end são compatíveis com tráfego IPv4 e IPv6. Eles podem balancear a carga de tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6. Também é possível usar o direcionamento de tráfego baseado em IP de origem para direcionar o tráfego para back-ends específicos.

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

Também é possível fazer a transição de um balanceador de carga de rede baseado no 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 pools de destino para serviços de back-end.

Balanceador de carga de rede baseado em pool de destino

Um pool de destino é o back-end legado compatível com os balanceadores de carga da rede 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 com base em pool de destino aceitam tráfego TCP ou UDP. As regras de encaminhamento para balanceadores de carga de rede baseados em pool de destino são compatíveis apenas com endereços IPv4 externos.

Para detalhes, consulte balanceador de carga de rede com um back-end de pool de segmentação.

Como comparar o balanceamento de carga de rede com outros balanceadores de carga do Google Cloud

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