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.

Visão geral simples do balanceamento de carga (clique para ampliar)
Visão geral simples do balanceamento de carga (clique para ampliar)

Sobre o Cloud Load Balancing

O Cloud Load Balancing é um serviço gerenciado, totalmente distribuído e definido por software. Ele não é baseado em hardware, então você não precisa gerenciar uma infraestrutura de balanceamento físico de carga.

O Cloud Load Balancing foi criado na mesma infraestrutura de serviços de front-end usada pelo Google. Ele aceita mais de um milhão de consultas por segundo, com níveis consistentes de alto desempenho e baixa latência. São mais de 80 locais de balanceamento de carga globais diferentes com tráfego direcionado para o Cloud Load Balancing, o que maximiza a distância percorrida no backbone da rápida rede particular do Google. Ao usar o Cloud Load Balancing, é possível exibir conteúdo o mais próximo possível dos usuários.

O Cloud Load Balancing é um serviço gerenciado, totalmente distribuído e definido por software. Ele não é baseado em hardware, então você não precisa gerenciar uma infraestrutura de balanceamento físico de carga.

O Google Cloud oferece os seguintes recursos de balanceamento 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 em várias regiões do mundo. Ele oferece balanceamento de carga entre regiões com failover automático multirregional, que redireciona o tráfego para os back-ends de failover quando os back-ends principais não estão íntegros. O Cloud Load Balancing reage instantaneamente 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 à carga baseada em instâncias balanceadores de carga.

  • Escalonamento automático sem interrupções. O Cloud Load Balancing pode ser escalonado de acordo com o aumento do tráfego e do número de usuários, inclusive para o gerenciamento fácil de grandes picos instantâneos e inesperados com o encaminhamento do tráfego para outras regiões do mundo que podem lidar com ele. O escalonamento automático não exige pré-aquecimento. Vá do zero à potência máxima em segundos.

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

  • Balanceamento de carga externo e interno. É possível usar o balanceamento de carga externo quando os usuários acessam seus aplicativos da Internet e o balanceamento de carga interno quando os clientes estão no Google Cloud.

  • Balanceamento de carga global e regional. Distribua seus recursos com balanceamento de carga em uma ou várias regiões, para encerrar conexões próximas aos usuários e atender aos requisitos de alta disponibilidade.

  • Compatibilidade com recursos avançados. O Cloud Load Balancing é compatível com recursos como balanceamento de carga global IPv6, WebSockets, cabeçalhos de solicitação definidos pelo usuário e encaminhamento de protocolo para VIPs particulares.

    Ele também inclui as seguintes integrações de balanceamento de carga HTTP(S) externo:

    • Integração com Cloud CDN para entrega de conteúdo em cache
    • Integração com o Google Cloud Armor para proteger sua infraestrutura contra ataques distribuídos de negação de serviço (DDoS) e outros ataques a aplicativos direcionados.

Resumo dos balanceadores de carga do Google Cloud

No diagrama a seguir, você encontra os produtos disponíveis do Cloud Load Balancing.

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

A tabela a seguir apresenta informações específicas sobre cada balanceador de carga.

Tipo de balanceador de carga Tipo de tráfego Global ou regional Nível de serviço da rede Esquema de balanceamento de carga Portas de front-end do balanceador de carga Proxy ou passagem
Balanceador de carga HTTP(S) externo HTTP ou HTTPS Global no nível Premium. Regional no nível Standard. Premium ou padrão EXTERNAL HTTP em 80 ou 8080, HTTPS em 443 Proxy
Balanceador de carga HTTP(S) externo regional (Visualização) HTTP ou HTTPS Regional Somente padrão EXTERNAL_MANAGED HTTP em 80 ou 8080, HTTPS em 443 Proxy
Balanceador de carga HTTP(S) interno HTTP ou HTTPS Regional Somente no plano Premium INTERNAL_MANAGED HTTP em 80 ou 8080, HTTPS em 443 Proxy
Balanceador de carga de proxy SSL TCP com descarregamento de SSL Global no nível Premium. Regional no nível Standard. Premium ou padrão EXTERNAL 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 3389, 5222, 5432, 5671, 5672, 5900, 5901, 6379, 8085, 8099, 9092, 9200, e 9300 Proxy
Balanceador de carga de proxy TCP TCP sem descarregamento de SSL Global no nível Premium. Regional no nível Standard. Premium ou padrão EXTERNAL 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 3389, 5222, 5432, 5671, 5672, 5900, 5901, 6379, 8085, 8099, 9092, 9200, e 9300 Proxy
Balanceador de carga de rede TCP/UDP externo TCP, UDP, ESP ou ICMP (Pré-lançamento) Regional Premium ou padrão EXTERNAL Indiferente Passagem
Balanceador de carga TCP/UDP interno TCP ou UDP Back-ends regionais, front-ends regionais (acesso global compatível) Somente no plano Premium INTERNAL Indiferente Passagem

Como escolher um balanceador de carga

Para decidir qual produto do Cloud Load Balancing usar, primeiro determine qual tipo de tráfego seus balanceadores de carga precisam processar e se você precisa do balanceamento de carga global ou regional, de balanceamento de carga interno ou externo e de balanceamento de carga de passagem ou de proxy. Para detalhes sobre cada uma dessas decisões, consulte Como escolher um balanceador de carga.

Em seguida, use essa árvore de decisão para determinar quais balanceadores de carga estão disponíveis para seu cliente, seu protocolo e sua configuração de rede.

Árvore de decisão para escolher um balanceador de carga (clique para ampliar)
Árvore de decisão para escolher um balanceador de carga (clique para ampliar)

A tecnologia subjacente dos balanceadores de carga do Google Cloud

Esta seção fornece mais informações sobre cada tipo de balanceador de carga do Google Cloud, incluindo links para a documentação da visão geral para entender melhor.

  • 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 proxy Envoy é um proxy de borda e serviço de código aberto projetado para aplicativos nativos da nuvem.
Balanceador de carga Tecnologia subjacente
Balanceador de carga HTTP(S) externo GFEs
Balanceador de carga HTTP(S) externo regional Envoy, Maglev
Balanceador de carga HTTP(S) interno Andrômeda, Envoy
Balanceador de carga de rede TCP/UDP externo Maglev
Balanceador de carga TCP/UDP interno Andrômeda
balanceador de carga do proxy TCP. GFEs
balanceador de carga do proxy SSL; GFEs

Balanceamento de carga HTTP(S) interno

O balanceamento de carga de HTTP(S) interno é integrado à pilha de virtualização de rede Andromeda e é um serviço gerenciado baseado 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. Você especifica como o tráfego é roteado com mapas de URL. O balanceador de carga usa um endereço IP interno que atua como o front-end dos back-ends.

Balanceamento de carga HTTP(S) externo

O balanceamento de carga de HTTP(S) é implementado nos GFEs. Os GFEs são distribuídos globalmente e funcionam em conjunto usando a rede global e o plano de controle do Google. No nível Premium, os GFEs oferecem balanceamento de carga entre regiões, direcionando o tráfego para o back-end saudável mais próximo que tem capacidade e encerrando o tráfego HTTP(S) o mais próximo possível de seus usuários.

O balanceador de carga HTTP(S) regional é um serviço gerenciado com base no proxy do Envoy de código aberto, que ativa recursos avançados de gerenciamento de tráfego. Esse é um balanceador de carga HTTP(S) regional que só é compatível com o nível Padrão.

Balanceamento de carga TCP/UDP interno

Balanceamento de carga TCP/UDP interno é criado na pilha de virtualização de rede Andromeda. O balanceamento de carga TCP/UDP interno permite que você faça o balanceamento de carga de tráfego TCP/UDP atrás de um endereço IP de balanceamento de carga interno acessível somente às instâncias de máquina virtual (VM, na sigla em inglês) interna. Usando o balanceamento de carga TCP/UDP interno, um endereço IP de balanceamento de carga interno é configurado para atuar como o front-end para suas instâncias internas de back-end. Você só usa endereços IP internos para seu serviço de balanceamento de carga. De modo geral, a configuração fica mais simples.

O balanceamento de carga TCP/UDP interno é compatível com grupos de instâncias gerenciadas regionais para que você possa fazer escalonamento automático em uma região, protegendo seu serviço de falhas de zona.

Balanceamento de carga de rede TCP/UDP externa

O balanceamento de carga de rede foi desenvolvido com base no Maglev. Esse balanceador de carga permite que você balanceie a carga do tráfego nos seus sistemas com base nos dados do protocolo IP de entrada, incluindo endereço, protocolo e porta (opcional). Trata-se de um sistema de balanceamento de carga regional e sem representação. Ou seja, um balanceador de carga de rede é um balanceador de carga de passagem que não faz conexões de proxy de clientes.

Os balanceadores de carga de rede baseados em serviço de back-end são compatíveis com tráfego TCP, UDP, ESP e ICMP.

Os balanceadores de carga de rede baseados em pool de destino aceitam apenas tráfego TCP ou UDP.

Balanceamento de carga de proxy SSL

O balanceamento de carga do proxy SSL é implementado nos GFEs que são distribuídos globalmente. Se você escolher o nível Premium dos níveis de serviço de rede, um balanceador de carga de proxy SSL será global. No nível Premium, é possível implantar back-ends em várias regiões, e o balanceador de carga direciona automaticamente o tráfego do usuário para a região que tenha capacidade e seja mais próxima do usuário. Se você escolher o nível Standard, um balanceador de carga de proxy SSL só pode direcionar tráfego entre back-ends em uma única região.

Balanceamento de carga de proxy TCP

O balanceamento de carga do proxy TCP é implementado em GFEs distribuídos globalmente. Se você escolher o nível Premium dos níveis de serviço de rede, um balanceador de carga de proxy TCP será global. No nível Premium, é possível implantar back-ends em várias regiões, e o balanceador de carga direciona automaticamente o tráfego do usuário para a região que tenha capacidade e seja mais próxima do usuário. Se você escolher o nível Standard, um balanceador de carga de proxy TCP só poderá direcionar o tráfego entre os back-ends em uma única região.

Interfaces

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

  • A ferramenta de linha de comando gcloud: incluída no SDK do Cloud. A documentação do balanceamento de carga HTTP(S) chama nesta ferramenta frequentemente para executar tarefas. Para uma visão geral completa da ferramenta, consulte o Guia da ferramenta 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 sinalização --help:

    gcloud compute http-health-checks create --help
    
  • O Console do Cloud do Google: tarefas de balanceamento de carga podem ser realizadas usando o Console do 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ê.

A seguir