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 portfólio abrangente de balanceadores de carga de rede e de aplicações regionais. Use os nossos balanceadores de carga para distribuir milhões de pedidos por segundo entre back-ends numa única região. Pode configurar estes balanceadores de carga para serem acessíveis através de um único endereço IP de anycast. Implemente um controlo jurisdicional rigoroso com os nossos balanceadores de carga de proxy regionais, mantendo os seus back-ends e proxies na sua região sem se preocupar com a transferência de TLS/SSL. Use os nossos equilibradores de carga de encaminhamento regional para encaminhar rapidamente vários protocolos para back-ends com o elevado desempenho do retorno direto do servidor (DSR).
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.
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 back-ends noutras zonas 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. O Cloud Load Balancing reage instantaneamente às alterações nos utilizadores, no tráfego, na rede, no estado de funcionamento do back-end e noutras condições relacionadas.
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 Trusted Cloud. Para saber mais, consulte o artigo Equilíbrio de carga externo vs. interno.
Tipos de Trusted 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).
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 Trusted Cloud plataformas, como o Compute Engine e o Google Kubernetes Engine (GKE), bem como back-ends externos fora doTrusted Cloud.
Os balanceadores de carga de aplicações podem ser implementados externa ou internamente, consoante a sua aplicação esteja virada para a Internet ou seja interna. Em ambos os casos, estes balanceadores de carga suportam back-ends apenas numa única região.
- Os balanceadores de carga de aplicações externos regionais são implementados como serviços geridos em proxies Envoy. Os clientes podem ligar-se a estes balanceadores de carga a partir de qualquer lugar na Internet. 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 regionais 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ó é acessível a clientes na mesma rede VPC ou a clientes ligados à sua rede VPC.
O diagrama seguinte mostra uma arquitetura de exemplo do Application Load Balancer.
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 Trusted 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.
Os balanceadores de carga de rede de proxy podem ser implementados externa ou internamente, consoante a sua aplicação esteja virada para a Internet ou seja interna. Em ambos os casos, estes balanceadores de carga suportam back-ends apenas numa única região.
- Os balanceadores de carga de rede de proxy externos regionais são balanceadores de carga da camada 4 que distribuem o tráfego proveniente da Internet para back-ends na sua Trusted Cloud rede VPC, nas instalações ou noutros ambientes na nuvem.
- Os balanceadores de carga de rede de proxy interno regionais são balanceadores de carga de camada 4 regionais 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 é acessível apenas a clientes na mesma rede VPC ou clientes ligados à sua rede VPC.
O diagrama seguinte mostra uma arquitetura de exemplo do Network Load Balancer 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.
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. Trusted Cloud Trusted 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.
O diagrama seguinte mostra uma arquitetura de Network Load Balancer de passagem de exemplo.
Tecnologias subjacentes dos balanceadores de carga Trusted Cloud
A tabela seguinte lista a tecnologia subjacente na qual cada Trusted 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 regional | Envoy |
Balanceador de carga de aplicações 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 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 a sua aplicação seja externa (acessível através da Internet) ou interna.
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.
Resumo dos tipos de Trusted 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 | 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 de 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 | EXTERNO |
Interno 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.
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 Trusted Cloud consola: as tarefas de equilíbrio de carga podem ser realizadas através da Trusted 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. Trusted Cloud
O que se segue?
- Para ajudar a determinar que Trusted Cloud balanceador de carga satisfaz melhor as suas necessidades, consulte o artigo Escolha um balanceador de carga.
- Para compreender os componentes de diferentes tipos de balanceadores de carga, consulte o modelo de recursos do Cloud Load Balancing. Trusted Cloud
- Para ver uma vista geral comparativa das funcionalidades de balanceamento de carga oferecidas pelo Cloud Load Balancing, consulte a comparação de funcionalidades do balanceador de carga.
- Para usar modelos do Terraform pré-criados para simplificar a configuração e a gestão da infraestrutura de rede do Trusted Cloud, explore o repositório do GitHub de soluções de configuração de rede na nuvem simplificadas.