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).
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.
- Os balanceadores de carga de aplicativo externos regionais são implementados como serviços gerenciados em proxies do Envoy. Os clientes podem se conectar a esses balanceadores de carga de qualquer lugar na Internet. Os balanceadores de carga de aplicativo usam o proxy Envoy de código aberto para ativar recursos avançados de gerenciamento de tráfego.
- Os balanceadores de carga de aplicativo regional interno são criados na pilha de virtualização de rede Andromeda e no proxy Envoy de código aberto. Esse balanceador de carga fornece balanceamento de carga interno com base em proxy dos dados do aplicativo na camada 7. O balanceador de carga usa um endereço IP interno acessível apenas a clientes na mesma rede VPC ou a clientes conectados à sua rede VPC.
O diagrama a seguir mostra um exemplo de arquitetura do balanceador de carga de aplicativo.
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.
- Balanceadores de carga de rede de proxy regional externo são balanceadores de carga de camada 4 que distribuem tráfego proveniente da Internet para back-ends na rede VPC Trusted Cloud , no local ou em outros ambientes de nuvem.
- Balanceadores de carga de rede de proxy regional interno são balanceadores de carga regionais de camada 4 baseados em proxy do Envoy que permitem executar e escalonar o tráfego do serviço TCP por trás de um IP interno que só pode ser acessado por clientes na mesma rede VPC ou em clientes conectados à sua rede VPC.
O diagrama a seguir mostra um exemplo de arquitetura do balanceador de carga de rede do proxy.
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.
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.
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
- Para ajudar você a determinar qual balanceador de carga do Trusted Cloud atende melhor às suas necessidades, consulte Escolher um balanceador de carga.
- Para entender os componentes de diferentes tipos de balanceadores de carga Trusted Cloud , consulte Modelo de recursos do Cloud Load Balancing.
- Para uma visão geral comparativa dos recursos de balanceamento de carga oferecidos pelo Cloud Load Balancing, consulte Comparação de recursos do balanceador de carga.
- Para usar modelos predefinidos do Terraform e simplificar a configuração e o gerenciamento da infraestrutura de rede do Trusted Cloud, confira o repositório do GitHub de soluções simplificadas de configuração de rede do Cloud.