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

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 o tráfego TCP, UDP, ESP e ICMP. A compatibilidade com ESP e ICMP está em versão de pré-lançamento.

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 carga balanceada são recebidos pelas VMs de back-end com o IP de origem inalterado.
    • 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.

No diagrama a seguir, mostramos usuários na Califórnia, em Nova York e em Singapura. Todos eles estão se conectando aos recursos de back-end, que são myapp, test e travel. Quando um usuário em Singapura conecta-se ao back-end do Oeste dos EUA, o tráfego de entrada está mais próximo de Singapura, porque o intervalo é anycasted. A partir desse ponto, o tráfego é encaminhado para o back-end regional.

Três back-ends regionais e três regras de encaminhamento (clique para ampliar)
Exemplo de balanceamento de carga de rede (clique para ampliar)

Escopo

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 não TCP 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 de proxy SSL.
  • 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.

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 novos 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 podem ser usados para balancear a carga do tráfego TCP, UDP, ESP e ICMP.

    No momento, o GKE só é compatível com balanceadores de carga de rede baseados em pool de destino. Para todos os outros casos de uso que não são do GKE, recomendamos o uso de balanceadores de carga de rede baseados em serviço de back-end em vez do balanceador de carga de rede baseado em pool de destino legado.

  • Balanceador de carga de rede baseado em 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.

    Para detalhes, consulte balanceador de carga de rede com um back-end de pool de destino.

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: