Visão geral do Cloud Load Balancing

Um balanceador de carga distribui o tráfego de usuários em várias instâncias de seus aplicativos. Ao distribuir a carga, o balanceamento de carga reduz o risco de seus aplicativos enfrentarem problemas de desempenho. O Cloud Load Balancing do Google foi criado com base em tecnologias confiáveis e de alto desempenho, como Maglev, Andromeda, Google Front Ends e Envoy, as mesmas tecnologias usadas nos próprios produtos do Google.

O Cloud Load Balancing oferece um portfólio abrangente de balanceadores de carga de aplicativos e redes regionais. Use nossos balanceadores de carga para distribuir milhões de solicitações por segundo entre back-ends em uma única região. É possível configurar esses balanceadores de carga para serem acessíveis por um único endereço IP Anycast. Implemente um controle jurisdicional forte com nossos balanceadores de carga de proxy regionais, mantendo seus back-ends e proxies na região sem se preocupar com o descarregamento de TLS/SSL. Use nossos balanceadores de carga de passagem regional para rotear rapidamente vários protocolos para back-ends com o alto desempenho do retorno direto do servidor (DSR, na sigla em inglês).

Visão geral do Cloud Load Balancing.
Visão geral do Cloud Load Balancing (clique para ampliar).

Principais recursos do Cloud Load Balancing

O Cloud Load Balancing oferece os seguintes recursos de balanceador de carga:

  • Endereço IP anycast único. Com o Cloud Load Balancing, um único endereço IP Anycast é o front-end de todas as instâncias de back-end.

  • Escalonamento automático sem interrupções. O Cloud Load Balancing pode ser escalonado à medida que o número de usuários e o tráfego aumentam, incluindo o gerenciamento fácil de picos grandes, inesperados e instantâneos, ao encaminhar o tráfego para back-ends em outras zonas que podem lidar com ele. O escalonamento automático não exige pré-aquecimento. Vá do zero ao tráfego máxima em segundos. O Cloud Load Balancing reage rapidamente a alterações de usuários, tráfego, rede, integridade do back-end e outras condições relacionadas.

  • Balanceamento de carga definido por software. O Cloud Load Balancing é um serviço totalmente gerenciado, distribuído e definido por software para todo seu tráfego. Como não se trata de uma solução baseada em dispositivos ou instâncias, você não ficará preso a uma infraestrutura física de balanceamento de carga nem enfrentará os desafios de alta disponibilidade, escala e gerenciamento inerentes aos balanceadores de carga baseados em instâncias.

  • Balanceamento de carga das camadas 4 e 7. Usar o balanceamento de carga baseado na camada 4 para direcionar o tráfego com base nos dados de protocolos de camada de rede e transporte, como TCP, UDP, ESP, GRE, ICMP e ICMPv6 . Use o balanceamento de carga com base na camada 7 para adicionar decisões de roteamento baseadas em atributos, como o cabeçalho HTTP e o identificador uniforme de recursos

  • Balanceamento de carga externo e interno. Define se o balanceador de carga pode ser usado para acesso externo ou interno. É possível usar um balanceador de carga externo quando os clientes precisam acessar seu aplicativo pela Internet. É possível usar um balanceador de carga interno quando os clientes estão dentro de Trusted Cloud. Para saber mais, consulte balanceamento de carga externo x interno.

Tipos de balanceadores de carga Trusted Cloud

O Cloud Load Balancing oferece dois tipos de balanceadores de carga: de aplicativo e de rede. Escolha um balanceador de carga de aplicativo quando precisar de um balanceador de carga da camada 7 para seus aplicativos com tráfego HTTP(S). Escolha um balanceador de carga de rede quando precisar de um balanceador de carga de camada 4 compatível com descarregamento de TLS (com um balanceador de carga de proxy) ou com protocolos IP, como UDP, ESP e ICMP com um balanceador de carga de passagem.

Balanceadores de carga de aplicativos

Os balanceadores de carga de aplicativo são baseados em proxy na camada 7 e permitem executar e escalonar os serviços em um endereço IP anycast. O balanceador de carga de aplicativo distribui o tráfego HTTP e HTTPS para back-ends hospedados em várias plataformas, como o Compute Engine e o Google Kubernetes Engine (GKE), assim como back-ends externos fora do Trusted Cloud. Trusted Cloud

Os balanceadores de carga do aplicativo podem ser implantados externamente ou internamente, dependendo se o aplicativo é voltado para a Internet ou interno. Em ambos os casos, esses balanceadores de carga oferecem suporte a back-ends apenas em uma única região.

O diagrama a seguir mostra um exemplo de arquitetura do balanceador de carga de aplicativo.

Arquitetura do balanceador de carga de aplicativo.
Arquitetura do balanceador de carga de aplicativo (clique para ampliar).

Balanceadores de carga de rede

Os balanceadores de carga de rede são de camada 4 e podem lidar com tráfego TCP, UDP ou outro protocolo IP. Eles estão disponíveis como balanceadores de carga de proxy ou balanceadores de carga de passagem. Escolha um balanceador de carga de acordo com as necessidades do seu aplicativo e o tipo de tráfego que ele precisa processar. Escolha um balanceador de carga de rede proxy se quiser configurar um balanceador de carga de proxy reverso compatível com controles de tráfego avançados e back-ends no local e em outros ambientes de nuvem. Escolha um balanceador de carga de rede de passagem se quiser preservar o endereço IP de origem dos pacotes do cliente, preferir o retorno direto do servidor para as respostas ou quiser gerenciar vários protocolos de IP, como TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Balanceadores de carga de rede proxy

Os balanceadores de carga de rede de proxy são balanceadores de carga de proxy reverso de camada 4 que distribuem o tráfego TCP para instâncias de máquina virtual (VM) na sua rede VPC Trusted Cloud. O tráfego é encerrado na camada de balanceamento de carga e encaminhado para o back-end mais próximo usando TCP.

Os balanceadores de carga de rede do proxy podem ser implantados externamente ou internamente, dependendo se o aplicativo é voltado para a Internet ou interno: Em ambos os casos, esses balanceadores de carga oferecem suporte a back-ends apenas em uma única região.

O diagrama a seguir mostra um exemplo de arquitetura do balanceador de carga de rede do proxy.

Arquitetura do balanceador de carga da rede proxy.
Arquitetura do balanceador de carga de rede do proxy (clique para ampliar).

Balanceadores de carga de rede de passagem

Os balanceadores de carga de rede de passagem são regionais e de camada 4. Eles distribuem o tráfego entre back-ends na mesma região do balanceador de carga. Eles são implementadas usando a rede virtual Andromeda e o Google Maggle.

Como o nome sugere, esses balanceadores de carga 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 carga balanceada são encerradas nos back-ends. 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).

Esses balanceadores de carga, conforme mostrado na imagem a seguir, são implantados de dois modos, dependendo se o balanceador de carga é voltado para a Internet ou interno.

  • Balanceadores de carga de rede de passagem externa são criados no Maglev. Os clientes podem se conectar a esses balanceadores de carga de qualquer lugar na Internet, independentemente dos níveis de serviço de rede. O balanceador de carga também pode receber tráfego de VMs Trusted Cloud com endereços IP externo ou de VMs Trusted Cloud que tenham acesso à Internet por meio do Cloud NAT ou NAT baseado em instância.

    Os back-ends para balanceadores de carga de rede de passagem externa podem ser implantados usando um serviço de back-end ou um pool de destino. Para novas implantações, recomendamos o uso de serviços de back-end.

  • Balanceadores de carga de rede de passagem interna são criados na pilha de virtualização de rede Andromeda. Um balanceador de carga de rede de passagem interna permite balancear a carga do tráfego TCP/UDP por trás de um endereço IP de balanceamento de carga interno acessível apenas a sistemas na mesma rede VPC ou em sistemas conectados à rede VPC. Esse balanceador de carga só pode ser configurado no nível Premium.

O diagrama a seguir mostra um exemplo de arquitetura de balanceador de carga de rede de passagem.

Arquitetura de balanceador de carga de rede de passagem.
Arquitetura do balanceador de carga de rede de passagem (clique para ampliar).

Tecnologias subjacentes dos balanceadores de carga Trusted Cloud

A tabela a seguir lista a tecnologia subjacente em que cada balanceador de cargaTrusted Cloud é criado.

  • Google front-ends (GFEs) são sistemas distribuídos definidos por software que estão localizados em pontos de presença (POPs, na sigla em inglês) do Google e fazem balanceamento de carga global em conjunto com outros sistemas e planos de controle.
  • Andrômeda é a pilha de virtualização de rede definida por software do Google Cloud.
  • Maglev é um sistema distribuído para balanceamento de carga de rede.
  • O Envoy é um proxy de serviço e borda de código aberto projetado para aplicativos nativos da nuvem.
Balanceador de carga Tecnologia
Balanceador de carga de aplicativo externo regional Envoy
Balanceador de carga de aplicativo interno regional Envoy
Balanceador de carga de rede de proxy externo regional Envoy
Balanceador de carga de rede de proxy interno regional Envoy
Balanceador de carga de rede de passagem externa Maglev
Balanceador de carga de rede de passagem interna Andrômeda

Escolher um balanceador de carga

Para determinar qual produto do Cloud Load Balancing deve ser usado, primeiro você precisa determinar que tipo de tráfego seus balanceadores de carga devem gerenciar. Como regra geral, escolha um balanceador de carga de aplicativo quando precisar de um conjunto de recursos flexível para aplicativos com tráfego HTTP(S). Escolha um balanceador de carga de rede quando precisar de descarregamento de TLS em escala ou com suporte para UDP ou se precisar expor endereços IP do cliente aos seus aplicativos.

É possível restringir ainda mais suas escolhas, dependendo se o aplicativo é externo (voltado à Internet) ou interno.

O diagrama a seguir mostra todos os modos de implantação disponíveis para o Cloud Load Balancing. Para mais detalhes, consulte o guia Escolher um balanceador de carga.

Escolha um balanceador de carga.
Escolha um balanceador de carga (clique para ampliar).

Resumo dos tipos de balanceadores de carga Trusted Cloud

A tabela a seguir fornece detalhes, como o nível de serviço de rede em que cada balanceador de carga opera, além do esquema de balanceamento de carga.

Balanceador de carga Modo de implantação Tipo de tráfego Nível de serviço da rede Esquema de balanceamento de carga1
Balanceadores de carga de aplicativos Regional externo HTTP ou HTTPS Nível Premium ou Standard EXTERNAL_MANAGED
Regional interno HTTP ou HTTPS Nível Premium INTERNAL_MANAGED
Balanceadores de carga de rede proxy Regional externo TCP Nível Premium ou Standard EXTERNAL_MANAGED
Regional interno TCP sem descarregamento de SSL Nível Premium INTERNAL_MANAGED
Balanceadores de carga de rede de passagem

Externo

Sempre regional

TCP, UDP, ESP, GRE, ICMP e ICMPv6 Nível Premium ou Standard EXTERNAL

Interno

Sempre regional

TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH e GRE Nível Premium INTERNAL

1 O esquema de balanceamento de carga é um atributo na regra de encaminhamento e no serviço de back-end de um balanceador de carga e indica se o balanceador de carga pode ser usado para tráfego interno ou externo.

O termo gerenciado em EXTERNAL_MANAGED ou INTERNAL_MANAGED indica que o balanceador de carga é implementado como um serviço gerenciado em um Google Front End (GFE) ou no proxy Envoy de código aberto. Em um esquema de balanceamento de carga gerenciado, as solicitações são roteadas para o GFE ou o proxy Envoy.

Interfaces

É possível configurar e atualizar os balanceadores de carga usando as seguintes interfaces:

  • A Google Cloud CLI: uma ferramenta de linha de comando incluída na Google Cloud CLI; a documentação chama essa ferramenta com frequência para realizar tarefas. Para uma visão geral completa da ferramenta, consulte o Guia da CLI gcloud. Encontre comandos relacionados ao balanceamento de carga no grupo de comandos gcloud compute.

    Também é possível acessar a ajuda detalhada de qualquer comando gcloud usando a flag --help:

    gcloud compute http-health-checks create --help
    
  • O console doTrusted Cloud : tarefas de balanceamento de carga podem ser realizadas usando o console doTrusted Cloud .

  • A API REST: todas as tarefas de balanceamento de carga podem ser realizadas usando a API Cloud Load Balancing. Os documentos de referência da API descrevem os recursos e métodos disponíveis para você.

  • Terraform: é possível provisionar, atualizar e excluir a infraestrutura de balanceamento de carga do Trusted Cloudusando uma ferramenta de infraestrutura como código de código aberto como o Terraform.

A seguir