Um balanceador de carga é um sistema composto por vários componentes que interagem. Não há um único recurso de API que represente um balanceador de carga. Em vez disso, vários componentes trabalham juntos para distribuir o tráfego de entrada entre vários back-ends.
O diagrama a seguir mostra os principais componentes de um balanceador de carga de aplicativo, um balanceador de carga de rede de proxy e um balanceador de carga de rede de passagem.
Balanceador de carga de aplicativo
Balanceador de carga de rede de proxy
Balanceador de carga de rede de passagem
Esta seção oferece uma visão geral de alto nível dos principais componentes de um balanceador de carga, desde o ponto em que o tráfego atinge o balanceador de carga até o estágio em que ele é roteado para o recurso de back-end. Para entender melhor cada componente do balanceador de carga, consulte a página vinculada em cada seção.
Regra de encaminhamento
Uma regra de encaminhamento especifica um endereço IP, um protocolo IP e uma ou mais portas em que o balanceador de carga aceita tráfego. A regra de encaminhamento e o endereço IP anexado a ela representam o front-end de um Google Cloud balanceador de carga.
Para mais informações, consulte Visão geral das regras de encaminhamento.
Proxy de destino
Os proxies de destino encerram as conexões de entrada dos clientes e criam novas conexões do balanceador de carga com os back-ends.
A primeira conexão é originada do cliente e encerrada no proxy de destino do balanceador de carga.
A segunda conexão começa no proxy de destino e termina na instância de back-end, que processa a solicitação do cliente.
A primeira conexão é encerrada em um Google Front End (GFE) ou em uma sub-rede especialmente designada, conhecida como sub-rede somente proxy, que é reservada exclusivamente para proxies Envoy. Para saber se um balanceador de carga é baseado em GFE ou Envoy, consulte Tecnologias subjacentes dos Google Cloud balanceadores de carga.
Os proxies de destino são usados apenas por balanceadores de carga baseados em proxy, como balanceadores de carga de aplicativo e balanceadores de carga de rede de proxy. Para esses tipos de balanceadores de carga, as respostas das instâncias de back-end são enviadas de volta ao proxy de destino, em vez de diretamente ao cliente.
Para mais informações, consulte Proxies de destino.
Sub-rede somente proxy
Uma sub-rede somente proxy fornece um pool de endereços IP reservados exclusivamente para proxies Envoy usados por Google Cloud balanceadores de carga. Os proxies encerram as conexões de entrada e criam novas conexões com o back-end.
Para mais informações, consulte Sub-redes somente proxy para balanceadores de carga baseados no Envoy.
Certificados SSL
Também conhecidos como certificados TLS (Transport Layer Security), os certificados SSL facilitam a comunicação segura entre clientes e balanceadores de carga. Os balanceadores de carga baseados em proxy com regras de encaminhamento que fazem referência a um proxy HTTPS de destino ou a um proxy SSL de destino exigem uma chave privada e um certificado SSL como parte da configuração do proxy de destino do balanceador de carga.
Para mais informações, consulte Certificados SSL.
Mapa de URL
Ao encerrar a conexão, o proxy HTTP(S) de destino usa o mapa de URL para decidir para onde rotear a nova solicitação (a segunda conexão, conforme declarado na seção Proxy de destino). O mapa de URL encaminha a solicitação para o serviço de back-end ou para o bucket de back-end. Os mapas de URL são usados apenas por balanceadores de carga de aplicativo. Como os balanceadores de carga de aplicativo operam na camada 7 do modelo OSI, eles podem tomar decisões de roteamento com base em atributos HTTP, como nome de domínio, caminho da solicitação e parâmetros de consulta.
Para mais informações, consulte Mapas de URL.
Serviço de back-end
Um serviço de back-end define como o balanceador de carga distribui o tráfego. A configuração do serviço de back-end contém um conjunto de valores, como o protocolo usado para se conectar a back-ends, várias configurações de distribuição e sessão, verificações de integridade e tempos limite.
Essas configurações fornecem um controle refinado sobre o comportamento do balanceador de carga e permitem direcionar o tráfego para os back-ends corretos, que podem ser grupos de instâncias de VM ou grupos de endpoints de rede (NEGs).
Para mais informações, consulte Visão geral dos serviços de back-end.
Bucket de back-end
Se a carga de trabalho veicular conteúdo estático usando o protocolo HTTP(S), você poderá usar um bucket do Cloud Storage para armazenar conteúdo estático e, em seguida, usar um bucket de back-end para rotear solicitações para ele.
Verificações de integridade
Ao configurar o serviço de back-end de um balanceador de carga, é necessário especificar uma ou mais verificações de integridade para os back-ends. Uma verificação de integridade, como o nome sugere, determina se as instâncias de back-end do balanceador de carga estão íntegras. Essa determinação é baseada na capacidade do back-end de responder ao tráfego de entrada. O tráfego que um back-end precisa responder depende do tipo de balanceador de carga. É possível criar verificações de integridade usando protocolos da camada 7 e da camada 4 para monitorar instâncias com carga balanceada.
Regras de firewall
Para que as verificações de integridade funcionem, crie regras de firewall de allow de entrada que permitam que as sondagens de verificação de integridade alcancem os back-ends.
Os balanceadores de carga baseados em Google Front Ends exigem uma regra de firewall de permissão de entrada
que permita que o tráfego dos CIDRs do Google Front End se conecte aos
back-ends. Os balanceadores de carga com base no proxy de código aberto Envoy exigem uma regra de firewall de allow de entrada que permita que o tráfego da sub-rede somente proxy alcance as instâncias de back-end.
Saiba mais em Regras de firewall.
Back-ends
Os back-ends são o destino final do tráfego com carga balanceada.
Diferentes balanceadores de carga oferecem suporte a diferentes tipos de back-ends. Ao adicionar um back-end ao serviço de back-end, você especifica um modo de balanceamento. Esse modo avalia a capacidade do back-end de processar novas solicitações e determina como o tráfego é distribuído entre os back-ends.
Para mais informações, consulte Back-ends.
A seguir
- Para ajudar você a determinar qual Google Cloud balanceador de carga atende melhor às suas necessidades, consulte Escolher um balanceador de carga.
- 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.