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 pass-through. Um balanceador de carga de rede distribui o tráfego TCP ou UDP entre instâncias de máquina virtual (VM) na mesma região.

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)

Protocolos, esquema e escopo

Cada balanceador de carga de rede é compatível com tráfego TCP ou UDP.

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.

    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.

    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: