Vista geral do Cloud Load Balancing

Um equilibrador de carga distribui o tráfego de utilizadores por várias instâncias das suas aplicações. Ao distribuir a carga, o equilíbrio de carga reduz o risco de as suas aplicações terem problemas de desempenho. O Cloud Load Balancing da Google baseia-se em tecnologias fiáveis e de elevado desempenho, como o Maglev, o Andromeda, os Google Front Ends e o Envoy, as mesmas tecnologias que alimentam os produtos da Google.

O Cloud Load Balancing oferece um portefólio abrangente de balanceadores de carga de aplicações e de rede. Use os nossos balanceadores de carga de proxy globais para distribuir milhões de pedidos por segundo entre back-ends em várias regiões com a nossa frota do Google Front End em mais de 80 localizações distintas em todo o mundo, tudo com um único endereço IP anycast. Implemente um forte controlo jurisdicional com os nossos equilibradores de carga de proxy regionais, mantendo os seus servidores de back-end e proxies numa região à sua escolha sem se preocupar com a transferência de TLS/SSL. Use os nossos equilibradores de carga de passagem para encaminhar rapidamente vários protocolos para back-ends com o elevado desempenho do retorno direto do servidor (DSR).

Vista geral do Cloud Load Balancing.
Vista geral do Cloud Load Balancing (clique para aumentar).

Principais funcionalidades do Cloud Load Balancing

O Cloud Load Balancing oferece as seguintes funcionalidades do balanceador de carga:

  • Endereço IP anycast único. Com o Cloud Load Balancing, um único endereço IP anycast é o front-end para todas as suas instâncias de back-end em regiões de todo o mundo. Oferece balanceamento de carga entre regiões, incluindo ativação pós-falha automática em várias regiões, que move o tráfego para back-ends de ativação pós-falha se os back-ends principais ficarem em mau estado. O Cloud Load Balancing reage instantaneamente a alterações nos utilizadores, no tráfego, na rede, no estado de funcionamento do back-end e noutras condições relacionadas.

  • Dimensionamento automático integrado. O Cloud Load Balancing pode ser dimensionado à medida que os seus utilizadores e o tráfego aumentam, incluindo o processamento fácil de picos enormes, inesperados e instantâneos, através do desvio do tráfego para outras regiões do mundo que podem receber tráfego. O dimensionamento automático não requer pré-aquecimento: pode dimensionar de zero para tráfego total em questão de segundos.

  • Balanceamento de carga definido por software. O Cloud Load Balancing é um serviço gerido, definido por software e totalmente distribuído para todo o seu tráfego. Não é uma solução baseada em instâncias ou dispositivos, pelo que não fica restrito a uma infraestrutura de equilíbrio de carga física nem enfrenta os desafios de alta disponibilidade, escala e gestão inerentes aos equilibradores de carga baseados em instâncias.

  • Balanceamento de carga da camada 4 e da camada 7. Use o balanceamento de carga baseado na camada 4 para direcionar o tráfego com base em dados de protocolos da camada de rede e de transporte, como TCP, UDP, ESP, GRE, ICMP e ICMPv6 . Use o equilíbrio de carga baseado na camada 7 para adicionar decisões de encaminhamento de pedidos com base 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. Pode usar um equilibrador de carga externo quando os seus clientes precisam de aceder à sua aplicação a partir da Internet. Pode usar um balanceador de carga interno quando os seus clientes estão dentro de Google Cloud. Para saber mais, consulte o artigo Equilíbrio de carga externo vs. interno.

  • Equilíbrio de carga global e regional. Define o âmbito do equilibrador de carga. Um balanceador de carga global suporta back-ends em várias regiões, enquanto um balanceador de carga regional suporta back-ends numa única região. Embora o endereço IP de um balanceador de carga regional esteja localizado numa região, um balanceador de carga regional é acessível a nível global. Pode distribuir os seus backends numa ou várias regiões para terminar as ligações perto dos seus utilizadores e cumprir os seus requisitos de elevada disponibilidade. Para saber mais, consulte o artigo Equilíbrio de carga global versus regional.

  • Encaminhamento do tráfego no nível Premium e no nível Standard. Os serviços de balanceamento de carga no Google Cloud Platform estão disponíveis em diferentes versões, consoante o nível de rede que escolher, ou seja, o Nível Premium ou o Nível padrão, sendo o primeiro mais caro do que o segundo. Google Cloud O nível Premium tira partido da infraestrutura global de alta qualidade da Google, enquanto o nível Standard usa a Internet pública para encaminhar o tráfego na rede. O nível da rede que escolher depende de dar prioridade ao custo ou ao desempenho para a sua carga de trabalho empresarial. Alguns serviços de equilíbrio de carga só estão disponíveis no nível Premium e não no nível Standard. Para saber mais, consulte o artigo Níveis de serviço da rede Premium versus Standard.

  • Suporte de funcionalidades avançadas. O Cloud Load Balancing suporta funcionalidades como o balanceamento de carga IPv6, o encaminhamento de tráfego baseado no IP de origem, o balanceamento de carga ponderado, os WebSockets, os cabeçalhos de pedidos definidos pelo utilizador e o encaminhamento de protocolos para endereços IP virtuais (VIPs) privados.

    Também inclui as seguintes integrações:

    • Integração com a RFC na nuvem para o fornecimento de conteúdo em cache. O Cloud CDN é suportado com o balanceador de carga de aplicações externo global e o balanceador de carga de aplicações clássico.
    • Integração com o Google Cloud Armor para proteger a sua infraestrutura contra ataques de negação de serviço distribuída (DDoS) e outros ataques de aplicações direcionados. A proteção DDoS sempre ativada está disponível para o balanceador de carga de aplicações externo global, o balanceador de carga de aplicações clássico, o balanceador de carga de rede de proxy externo e o balanceador de carga de rede de passagem externo. Além disso, o Cloud Armor suporta a proteção avançada contra DDoS de rede apenas para balanceadores de carga de rede de encaminhamento externo. Para mais informações, consulte o artigo Configure a proteção avançada contra DDoS de rede.

Tipos de Google Cloud balanceadores de carga

O Cloud Load Balancing oferece dois tipos de balanceadores de carga: balanceadores de carga de aplicações e balanceadores de carga de rede. Escolhe um balanceador de carga de aplicações quando precisa de um balanceador de carga da camada 7 para as suas aplicações com tráfego HTTP(S). Escolhe um balanceador de carga de rede quando precisa de um balanceador de carga da camada 4 que suporte a transferência de TLS (com um balanceador de carga de proxy) ou precisa de suporte para protocolos IP, como UDP, ESP e ICMP (com um balanceador de carga de passagem).

A tabela seguinte oferece uma vista geral de alto nível dos diferentes tipos de equilibradores de carga categorizados pela camada OSI em que operam e se são usados para acesso externo ou interno.Google Cloud

lan Cloud Load Balancing Externo
(aceita tráfego da Internet)
Interno
(aceita tráfego Google Cloud interno)
Balanceadores de carga de aplicações

HTTPS
Balanceamento de carga da camada 7
  • global externo
  • regional externo
  • clássico
  • interno entre regiões
  • regional interno
Balanceadores de carga de rede

TCP/SSL/Outros
Balanceamento de carga da camada 4
Balanceadores de carga de rede de proxy
  • global externo
  • regional externo
  • clássico
  • interno entre regiões
  • regional interno
Balanceadores de carga de rede de passagem
  • regional externo
  • regional interno

Balanceadores de carga de aplicações

Os balanceadores de carga de aplicações são balanceadores de carga da camada 7 baseados em proxy que lhe permitem executar e dimensionar os seus serviços através de um endereço IP anycast. O balanceador de carga de aplicações distribui o tráfego HTTP e HTTPS para back-ends alojados numa variedade de Google Cloud plataformas, como o Compute Engine e o Google Kubernetes Engine (GKE), bem como back-ends externos fora doGoogle Cloud.

O diagrama seguinte oferece uma vista geral de alto nível dos diferentes tipos de balanceadores de carga de aplicações que podem ser implementados externa ou internamente, consoante a sua aplicação esteja virada para a Internet ou seja interna.

Diferentes tipos de balanceadores de carga de aplicações
Diferentes tipos de balanceadores de carga de aplicações.

Os equilibradores de carga de aplicações externos são implementados como serviços geridos nos front-ends da Google (GFEs) ou nos proxies Envoy. Os clientes podem ligar-se a estes balanceadores de carga a partir de qualquer lugar na Internet. Tenha em atenção o seguinte:

  • Estes equilibradores de carga podem ser implementados nos seguintes modos: global, regional ou clássico.
  • Os balanceadores de carga de aplicações externos globais suportam back-ends em várias regiões.
  • Os balanceadores de carga de aplicações externos regionais só suportam back-ends numa única região.
  • Os balanceadores de carga de aplicações clássicos são globais no nível Premium. No nível padrão, podem distribuir tráfego para back-ends apenas numa única região.
  • Os equilibradores de carga de aplicações usam o proxy Envoy de código aberto para ativar capacidades avançadas de gestão de tráfego.

Os balanceadores de carga de aplicações internos são criados na pilha de virtualização de rede Andromeda e no proxy Envoy de código aberto. Este balanceador de carga fornece balanceamento de carga interno baseado em proxy de dados de aplicações da camada 7. O equilibrador de carga usa um endereço IP interno que só está acessível a clientes na mesma rede VPC ou a clientes ligados à sua rede VPC. Tenha em conta o seguinte:

  • Estes balanceadores de carga podem ser implementados nos seguintes modos: regional ou entre regiões.
  • Os balanceadores de carga de aplicações internos regionais só suportam back-ends numa única região.
  • Os balanceadores de carga de aplicações internos entre regiões suportam back-ends em várias regiões e estão sempre acessíveis a nível global. Os clientes de qualquer Google Cloud região podem enviar tráfego para o balanceador de carga.

Para saber mais sobre os balanceadores de carga de aplicações, consulte o artigo Vista geral do balanceador de carga de aplicações.

Balanceadores de carga de rede

Os balanceadores de carga de rede são balanceadores de carga da camada 4 que podem processar tráfego TCP, UDP ou de outros protocolos IP. Estes balanceadores de carga estão disponíveis como balanceadores de carga de proxy ou balanceadores de carga de passagem. Pode escolher um balanceador de carga consoante as necessidades da sua aplicação e o tipo de tráfego que tem de processar. Escolha um balanceador de carga de rede de proxy se quiser configurar um balanceador de carga de proxy inverso com suporte para controlos de tráfego avançados e back-ends nas instalações e noutros ambientes na nuvem. Escolha um balanceador de carga de passagem se quiser preservar o endereço IP de origem dos pacotes do cliente, preferir o retorno direto do servidor para respostas ou quiser processar uma variedade de protocolos IP, como TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Balanceadores de carga de rede de proxy

Os equilibradores de carga de rede de proxy são equilibradores de carga de proxy inverso da camada 4 que distribuem o tráfego TCP para instâncias de máquinas virtuais (VMs) na sua Google Cloud rede VPC. O tráfego é terminado na camada de balanceamento de carga e, em seguida, encaminhado para o back-end disponível mais próximo através do TCP.

O diagrama seguinte oferece uma vista geral de alto nível dos diferentes tipos de balanceadores de carga de rede de proxy que podem ser implementados externamente ou internamente, consoante a sua aplicação esteja virada para a Internet ou seja interna.

Diferentes tipos de equilibradores de carga de rede de proxy
Diferentes tipos de balanceadores de carga de rede de proxy.

Os balanceadores de carga de rede de proxy externos são balanceadores de carga da camada 4 que distribuem o tráfego proveniente da Internet para back-ends na sua Google Cloud rede VPC, no local ou noutros ambientes de nuvem. Estes balanceadores de carga são criados em Google Front Ends (GFEs) ou proxies Envoy.

Estes equilibradores de carga podem ser implementados nos seguintes modos: global, regional ou clássico.

  • Os balanceadores de carga de rede de proxy externos globais suportam back-ends em várias regiões.
  • Os balanceadores de carga de rede de proxy externos regionais suportam back-ends numa única região.
  • Os balanceadores de carga de rede de proxy clássicos são globais no nível Premium. No nível padrão, podem distribuir tráfego para back-ends apenas numa única região.

Os balanceadores de carga de rede de proxy interno são balanceadores de carga regionais de camada 4 baseados em proxy Envoy que lhe permitem executar e dimensionar o tráfego de serviços TCP atrás de um endereço IP interno que só é acessível a clientes na mesma rede VPC ou a clientes ligados à sua rede VPC.

Estes equilibradores de carga podem ser implementados num dos seguintes modos: regional ou entre regiões.

  • Os balanceadores de carga de rede de proxy interno regionais suportam back-ends apenas numa única região.
  • Os balanceadores de carga de rede de proxy interno entre regiões suportam back-ends em várias regiões e estão sempre acessíveis a nível global. Os clientes de qualquer Google Cloud região podem enviar tráfego para o balanceador de carga.

Para saber mais sobre os equilibradores de carga de rede de proxy, consulte a vista geral do equilibrador de carga de rede de proxy.

Balanceadores de carga de rede de passagem

Os balanceadores de carga de rede de passagem são balanceadores de carga de passagem regionais da camada 4. Estes balanceadores de carga distribuem o tráfego entre back-ends na mesma região que o balanceador de carga. São implementados através da rede virtual Andromeda e do Google Maglev.

Como o nome sugere, estes equilibradores de carga não são proxies. Os pacotes com balanceamento de carga são recebidos pelas VMs de back-end com os endereços IP de origem e destino, o protocolo e, se o protocolo for baseado em portas, as portas de origem e destino do pacote inalteradas. As ligações com balanceamento de carga são terminadas nos back-ends. As respostas das VMs de back-end vão diretamente para os clientes e não voltam a passar pelo equilibrador de carga. O termo da indústria para isto é retorno direto do servidor (DSR).

Estes balanceadores de carga, conforme representado na imagem seguinte, são implementados em dois modos, consoante o balanceador de carga esteja virado para a Internet ou seja interno.

Diferentes tipos de equilibradores de carga de rede de passagem
Diferentes tipos de balanceadores de carga de rede de passagem.
  • Os balanceadores de carga de rede de encaminhamento externo são criados no Maglev. Os clientes podem estabelecer ligação a estes balanceadores de carga a partir de qualquer lugar na Internet, independentemente dos respetivos níveis de serviço de rede. O balanceador de carga também pode receber tráfego de VMs com endereços IP externos ou de VMs que tenham acesso à Internet através da NAT na nuvem ou da NAT baseada em instâncias. Google Cloud Google Cloud

    Os back-ends para equilibradores de carga de passagem externos podem ser implementados através de um serviço de back-end ou de um conjunto de destino. Para novas implementações, recomendamos a utilização de serviços de back-end.

  • Os balanceadores de carga de rede de encaminhamento interno são criados na pilha de virtualização de rede Andromeda. Um Network Load Balancer de encaminhamento direto interno permite-lhe equilibrar a carga do tráfego TCP/UDP atrás de um endereço IP de equilíbrio de carga interno que só é acessível a sistemas na mesma rede VPC ou sistemas ligados à sua rede VPC. Este equilibrador de carga só pode ser configurado no nível Premium.

Para saber mais acerca dos equilibradores de carga de rede de passagem, consulte o artigo Equilibrador de carga de rede de passagem.

Tecnologias subjacentes dos balanceadores de carga Google Cloud

A tabela seguinte lista a tecnologia subjacente na qual cada Google Cloud equilibrador de carga é criado.

  • Os front-ends da Google (GFEs) são sistemas distribuídos definidos por software que se encontram em pontos de presença (PoPs) da Google e realizam o equilíbrio de carga global em conjunto com outros sistemas e planos de controlo.
  • Andromeda é a pilha de virtualização de rede definida por software do Google Cloud.
  • Maglev é um sistema distribuído para o equilíbrio de carga da rede.
  • O Envoy é um proxy de serviço e de limite de código aberto, concebido para aplicações nativas da nuvem.
Balanceador de carga Tecnologia
Balanceador de carga de aplicações externo global Google Front End (GFE) baseado no Envoy
Balanceador de carga de aplicações clássico GFE
Balanceador de carga de aplicações externo regional Envoy
Balanceador de carga de aplicações interno entre regiões Envoy
Balanceador de carga de aplicações interno regional Envoy
Balanceador de carga de rede de proxy externo global GFE baseada no Envoy
Balanceador de carga de rede de proxy clássico GFE
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 proxy interno entre regiões Envoy
Balanceador de carga de rede de encaminhamento externo Maglev
Balanceador de carga de rede de encaminhamento interno Andrómeda

Escolha um equilibrador de carga

Para determinar que produto do Cloud Load Balancing usar, primeiro tem de determinar que tipo de tráfego os equilibradores de carga têm de processar. Como regra geral, deve escolher um balanceador de carga de aplicações quando precisar de um conjunto de funcionalidades flexível para as suas aplicações com tráfego HTTP(S). Escolhe um equilibrador de carga de rede quando precisa de descarregar TLS em grande escala ou suporte para UDP, ou se precisar de expor endereços IP de clientes às suas aplicações.

Pode restringir ainda mais as suas escolhas consoante os requisitos da sua aplicação: se a sua aplicação é externa (orientada para a Internet) ou interna, se precisa de back-ends implementados global ou regionalmente e se precisa do Nível de serviço de rede Premium ou Padrão.

O diagrama seguinte mostra todos os modos de implementação disponíveis para o Cloud Load Balancing. Para mais detalhes, consulte o guia Escolha um equilibrador de carga.

Escolha um equilibrador de carga.
Escolha um equilibrador de carga (clique para aumentar).

1. Os balanceadores de carga de aplicações externos globais suportam dois modos de funcionamento: global e clássico.

2. Os balanceadores de carga de rede de proxy externos globais suportam dois modos de funcionamento: global e clássico.

3. Os equilibradores de carga de rede de transmissão preservam os endereços IP de origem do cliente. Os equilibradores de carga de rede de passagem também suportam protocolos adicionais, como UDP, ESP e ICMP.

Resumo dos tipos de Google Cloud balanceadores de carga

A tabela seguinte fornece detalhes, como o nível de serviço de rede no qual cada balanceador de carga opera, juntamente com o respetivo esquema de balanceamento de carga.

Balanceador de carga Modo de implementação Tipo de tráfego Nível de serviço de rede Esquema de balanceamento de carga1
Balanceadores de carga de aplicações Global externo HTTP ou HTTPS Nível premium EXTERNAL_MANAGED
Regional externo HTTP ou HTTPS Nível Premium ou Standard EXTERNAL_MANAGED
Clássico HTTP ou HTTPS

Global no nível Premium

Regional no Standard Tier

EXTERNO2
Regional interno3 HTTP ou HTTPS Nível premium INTERNAL_MANAGED
Interno entre regiões HTTP ou HTTPS Nível premium INTERNAL_MANAGED
Balanceadores de carga da rede de proxy Global externo TCP com descarregamento de SSL opcional Nível premium EXTERNAL_MANAGED
Regional externo TCP Nível Premium ou Standard EXTERNAL_MANAGED
Clássico TCP com descarregamento de SSL opcional

Global no nível Premium

Regional no Standard Tier

EXTERNO
Regional interno3 TCP sem descarregamento de SSL Nível premium INTERNAL_MANAGED
Interno entre regiões 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 EXTERNO

Interno3

Sempre regional

TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH e GRE Nível premium INTERNO

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 gerido em EXTERNAL_MANAGED ou INTERNAL_MANAGED indica que o balanceador de carga é implementado como um serviço gerido num Google Front End (GFE) ou no proxy Envoy de código aberto. Num esquema de equilíbrio de carga gerido, os pedidos são encaminhados para o GFE ou para o proxy Envoy.

2 É possível anexar serviços de back-end a regras de encaminhamento EXTERNAL.EXTERNAL_MANAGED No entanto, não é possível anexar serviços de back-end da EXTERNAL a regras de encaminhamento da EXTERNAL_MANAGED. Para tirar partido das novas funcionalidades disponíveis apenas com o Application Load Balancer externo global, recomendamos que migre os seus recursos EXTERNAL existentes para EXTERNAL_MANAGED através do processo de migração descrito em Migre recursos do Application Load Balancer externo clássico para o global.

3 Por predefinição, os balanceadores de carga internos regionais só permitem tráfego de clientes na mesma região que o balanceador de carga. No entanto, pode permitir o tráfego de clientes noutras regiões ativando o acesso global na regra de encaminhamento.

Interfaces

Pode configurar e atualizar os equilibradores de carga através das seguintes interfaces:

  • A CLI do Google Cloud: uma ferramenta de linha de comando incluída na CLI do Google Cloud; a documentação recorre frequentemente a esta ferramenta para realizar tarefas. Para uma vista geral completa da ferramenta, consulte o guia da CLI gcloud. Pode encontrar comandos relacionados com o equilíbrio de carga no gcloud compute grupo de comandos.

    Também pode obter ajuda detalhada para qualquer comando gcloud usando a flag --help.

    gcloud compute http-health-checks create --help
    
  • A Google Cloud consola: as tarefas de equilíbrio de carga podem ser realizadas através da Google Cloud consola.

  • A API REST: todas as tarefas de equilíbrio de carga podem ser realizadas através da API Cloud Load Balancing. Os documentos de referência da API descrevem os recursos e os métodos disponíveis para si.

  • Terraform: pode aprovisionar, atualizar e eliminar a infraestrutura de balanceamento de carga através de uma ferramenta de infraestrutura como código de código aberto, como o Terraform. Google Cloud

O que se segue?