Neste documento, apresentamos os conceitos que você precisa entender para configurar um balanceador de carga de proxy de rede externo do Google Cloud.
O balanceador de carga de rede proxy externo é um balanceador de carga de proxy reverso que distribui o tráfego TCP vindo da Internet para instâncias de máquina virtual (VM) na sua rede de nuvem privada virtual (VPC) do Google Cloud. Ao usar um balanceador de carga de rede de proxy externo, o tráfego de entrada TCPou SSL é encerrado no balanceador de carga. Uma nova conexão encaminha o tráfego para o back-end mais próximousando TCP ou SSL (recomendado). Para mais casos de uso, consulte Visão geral do balanceador de carga de rede proxy.
Os balanceadores de carga de rede de proxy externo permitem que você use um único endereço IP para todos os usuários em todo o mundo. O balanceador de carga roteia automaticamente o tráfego para os back-ends mais próximos do usuário.
Neste exemplo, o tráfego SSL de usuários nas cidades A e B é encerrado na camada de balanceamento de carga, e uma conexão separada é estabelecida para o back-end selecionado.
Modos de operação
É possível configurar um balanceador de carga de rede de proxy externo nos seguintes modos:
- Um balanceador de carga de rede de proxy clássico é implementado em Google Front Ends (GFEs) distribuídos globalmente. Esse balanceador de carga pode ser configurado para lidar com tráfego TCP ou SSL usando um proxy TCP ou SSL de destino, respectivamente. Com o nível Premium, esse balanceador de carga pode ser configurado como um serviço de balanceamento de carga global. No nível Standard, esse balanceador de carga é configurado como um serviço de balanceamento de carga regional. Os balanceadores de carga de rede de proxy clássico também podem ser usados em outros protocolos que usam SSL, como WebSockets e IMAP sobre SSL.
- Um Balanceador de carga de rede de proxy externo global é implementado em aplicativos distribuídos globalmente GFEs e oferece suporte a recursos de gerenciamento de tráfego avançado. Esse balanceador de carga pode ser configurado para lidar com tráfego TCP ou SSL usando um proxy TCP ou SSL de destino, respectivamente. Esse balanceador de carga é configurado como um serviço global com o nível Premium. Os balanceadores de carga de rede de proxy externo global também podem ser usados em outros protocolos que usam SSL, como WebSockets e IMAP sobre SSL.
- Um balanceador de carga de rede de proxy externo regional é implementado na pilha de software Envoy Proxy de código aberto. Ele pode processar apenas o tráfego TCP. Esse balanceador de carga é configurado como um serviço de balanceamento de carga regional que pode usar o nível Premium ou Padrão.
Identificar o modo
Para determinar o modo de um balanceador de carga, conclua as etapas a seguir.
Console
No Console do Google Cloud, acesse a página Balanceamento de carga.
Na guia Balanceadores de carga, você verá o protocolo, a região e o tipo de balanceador. Se a região estiver em branco, o balanceador de carga será global.
Veja na tabela a seguir como identificar o modo do balanceador de carga.
Modo balanceador de carga Tipo do balanceador de carga Tipo de acesso Região Balanceador de carga de rede de proxy clássico Rede (proxy clássico) Externo Balanceador de carga de rede de proxy externo global Rede (proxy) Externo Balanceador de carga de rede de proxy externo regional Rede (proxy) Externo Especifica uma região
gcloud
Use o comando
gcloud compute forwarding-rules describe
:gcloud compute forwarding-rules describe FORWARDING_RULE_NAME
Na saída do comando, verifique o esquema de balanceamento de carga, a região e o nível da rede. Veja na tabela a seguir como identificar o modo do balanceador de carga.
Modo balanceador de carga Esquema de balanceamento de carga Regra de encaminhamento Nível da rede Balanceador de carga de rede de proxy clássico EXTERNAL Global Padrão ou Premium Balanceador de carga de rede de proxy externo global EXTERNAL_MANAGED Global Premium Balanceador de carga de rede de proxy externo regional EXTERNAL_MANAGED Regional Padrão ou Premium
Arquitetura
Os diagramas a seguir mostram os componentes dos balanceadores de carga de rede de proxy externo.
Global
Este diagrama mostra os componentes de uma implantação de balanceador de carga de rede de proxy externo global. Esta arquitetura se aplica ao balanceador de carga de rede de proxy externo global e ao balanceador de carga de rede de proxy clássico no nível Premium.
Regional
Este diagrama mostra os componentes de uma implantação do balanceador de carga de rede de proxy externo regional.
Veja a seguir os componentes dos balanceadores de carga de rede proxy externos.
Sub-rede somente proxy
Observação: sub-redes apenas de proxy são necessárias apenas para balanceadores de carga de rede de proxy regional externo.A sub-rede somente proxy fornece um conjunto de endereços IP
que o Google usa para executar proxies Envoy em seu nome. É preciso criar uma sub-rede somente proxy em cada região de uma rede VPC em que você usa balanceadores de carga. A sinalização --purpose
dessa sub-rede somente proxy está definida como
REGIONAL_MANAGED_PROXY
. Todos os balanceadores de carga regionais baseados em
Envoy na mesma
região e rede VPC compartilham um pool de proxies do Envoy da
mesma sub-rede somente proxy.
As VMs de back-end ou os endpoints de todos os balanceadores de carga em uma região e rede VPC recebem conexões da sub-rede somente proxy.
Pontos a serem lembrados:
- As sub-redes somente proxy são usadas apenas para proxies Envoy, não para seus back-ends.
- O endereço IP do balanceador de carga não está localizado na sub-rede somente proxy. O endereço IP do balanceador de carga é definido pela regra de encaminhamento externo gerenciado dele.
Regras de encaminhamento e endereços IP
As regras de encaminhamento roteiam o tráfego por endereço IP, porta e protocolo para uma configuração de balanceamento de carga que consiste em proxy de destino e serviço de back-end.
Especificação de endereço IP. Cada regra de encaminhamento referencia um endereço IP que pode ser usado nos registros DNS para seu aplicativo. É possível reservar um endereço IP estático que possa ser usado ou permitir que o Cloud Load Balancing atribua um para você. Recomendamos que você reserve um endereço IP estático. Caso contrário, você precisará atualizar seu registro DNS com o endereço IP temporário recém-atribuído sempre que excluir uma regra de encaminhamento e criar uma nova.
Especificação da porta. As regras de encaminhamento externas usadas na definição desse balanceador de carga podem referenciar exatamente uma porta de 1 a 65535. Se você quiser aceitar várias portas consecutivas, precisará configurar várias regras de encaminhamento. É possível configurar várias regras de encaminhamento com o mesmo endereço IP virtual e portas diferentes. Portanto, é possível fazer proxy de vários aplicativos com portas personalizadas separadas para o mesmo endereço IP virtual do proxy TCP. Para mais detalhes, consulte Especificações de porta para regras de encaminhamento.
Para dar suporte a várias portas consecutivas, você precisa configurar várias regras de encaminhamento. É possível configurar várias regras de encaminhamento com o mesmo endereço IP virtual e portas diferentes. Portanto, é possível representar vários aplicativos com portas personalizadas separadas para o mesmo endereço IP virtual do proxy TCP.
A tabela a seguir mostra os requisitos da regra de encaminhamento para balanceadores de carga de rede de proxy externos.
Modo balanceador de carga | Nível de serviço de rede | Regra de encaminhamento, endereço IP e esquema de balanceamento de carga | Como rotear da Internet para o front-end do balanceador de carga |
---|---|---|---|
Balanceador de carga de rede de proxy clássico | Nível Premium | Regra de encaminhamento externo global Esquema de balanceamento de carga: |
Solicitações encaminhadas para os GFEs mais próximos do cliente na Internet. |
Nível Standard | Regra de encaminhamento externo regional Esquema de balanceamento de carga: |
Solicitações encaminhadas para um GFE na região do balanceador de carga. | |
Balanceador de carga de rede de proxy externo global | Nível Premium | Regra de encaminhamento externo global Esquema de balanceamento de carga: |
Solicitações encaminhadas para os GFEs mais próximos do cliente na Internet. |
Balanceador de carga de rede de proxy externo regional | Nível Premiume Standard * | Regra de encaminhamento externo regional Esquema de balanceamento de carga: |
Solicitações encaminhadas para os proxies do Envoy na mesma região que o balanceador de carga. |
Regras de encaminhamento e redes VPC
Esta seção descreve como as regras de encaminhamento usadas por balanceadores de carga de aplicativo externos são associadas às redes VPC.
Modo balanceador de carga | Associação de rede VPC |
---|---|
Balanceador de carga de rede de proxy externo global Balanceador de carga de rede de proxy clássico |
Nenhuma rede VPC associada. A regra de encaminhamento sempre usa um endereço IP que está fora da rede VPC. Portanto, a regra de encaminhamento não tem uma rede VPC associada. |
Balanceador de carga de rede de proxy externo regional | A rede VPC da regra de encaminhamento é a rede em que a sub-rede somente proxy foi criada. Você especifica a rede ao criar a regra de encaminhamento. |
Proxies de destino
Os balanceadores de carga de rede de proxy externo encerram as conexões do cliente e criam novas conexões com os back-ends. O proxy de destino roteia essas novas conexões para o serviço de back-end.
Dependendo do tipo de tráfego que seu aplicativo precisa processar, é possível configurar um balanceador de carga de rede de proxy externo com um proxy TCP ou SSL de destino.
- Proxy TCP de destino: configure o balanceador de carga com um proxy TCP de destino se estiver esperando tráfego TCP.
- Proxy SSL de destino: configure o balanceador de carga com um proxy SSL de destino se estiver esperando tráfego do cliente criptografado. Este tipo de balanceador de carga é destinado apenas para tráfego não HTTP(S). Para o tráfego HTTP(S), recomendamos que você use um balanceador de carga de aplicativo externo.
Por padrão, o proxy de destino não preserva o endereço IP original do cliente e as informações da porta. É possível preservar essas informações ativando o protocolo PROXY no proxy de destino.
A tabela a seguir mostra os requisitos de proxy de destino para balanceadores de carga de rede de proxy externos.
Modo balanceador de carga | Nível de serviço de rede | Proxy de destino |
---|---|---|
Balanceador de carga de rede de proxy clássico | Nível Premium | targetTcpProxies ou targetSslProxies |
Nível Standard | targetTcpProxies ou targetSslProxies |
|
Balanceador de carga de rede de proxy externo global | Nível Premium | targetTcpProxies ou targetSslProxies |
Balanceador de carga de rede de proxy externo regional | Nível Premium e Standard | regionTargetTcpProxies |
Certificados SSL
Os certificados SSL só serão necessários se você estiver implantando um balanceador de carga de rede de proxy externo global e um balanceador de carga de rede de proxy clássico com um proxy SSL de destino.
Os balanceadores de carga de rede de proxy externo que usam proxies SSL de destino exigem chaves privadas e certificados SSL como parte da configuração do balanceador de carga:
O Google Cloud oferece dois métodos de configuração para atribuir chaves privadas e certificados SSL a destinos de SSL: certificados SSL do Compute Engine e Gerenciador de certificados. Para uma descrição de cada configuração, consulte Métodos de configuração de certificado nas informações gerais dos certificados SSL.
O Google Cloud oferece dois tipos de certificado: autogerenciados e gerenciados pelo Google. Para conferir uma descrição de cada tipo, consulte Tipos de certificado nas informações gerais de certificados SSL.
Serviços de back-end
Os serviços de back-end direcionam o tráfego de entrada para um ou mais back-ends anexados. Cada back-end é composto de um grupo de instâncias ou grupo de endpoint da rede e informações sobre a capacidade de serviço do back-end. A capacidade de exibição do back-end pode ser baseada em CPU ou solicitações por segundo (RPS, na sigla em inglês).
Cada balanceador de carga tem um único recurso de serviço de back-end que especifica a verificação de integridade a ser realizada para os back-ends disponíveis.
As alterações no serviço de back-end não são instantâneas. Pode levar vários minutos para que as alterações sejam propagadas para os GFEs. Para garantir o mínimo possível de interrupções aos usuários, ative a diminuição das conexões nos serviços de back-end. Essas interrupções podem acontecer quando um back-end é encerrado, removido manualmente ou removido por um escalonador automático. Para saber mais sobre como usar a diminuição da conexão para minimizar as interrupções do serviço, consulte Ativar a diminuição da conexão.
Para mais informações sobre o recurso de serviço de back-end, consulte Visão geral dos serviços de back-end.
A tabela a seguir especifica os diferentes back-ends aceitos no serviço de back-end dos balanceadores de carga de rede de proxy externos.
Modo balanceador de carga | Back-ends compatíveis em um serviço de back-end | ||||||
---|---|---|---|---|---|---|---|
Grupos de instâncias | NEGs por zona | NEGs na Internet | NEGs sem servidor | NEGs híbridos | NEGs do Private Service Connect | GKE | |
Balanceador de carga de rede de proxy clássico | Use NEGs zonais independentes | ||||||
Balanceador de carga de rede de proxy externo global | * | Endpoints
do tipo GCE_VM_IP_PORT * |
|||||
Balanceador de carga de rede de proxy externo regional | Endpoints do tipo GCE_VM_IP_PORT |
Somente NEGs regionais | Adicionar um NEG do Private Service Connect |
* Os balanceadores de carga de rede de proxy externos globais dão suporte a
grupos de instâncias IPv4 e IPv6 (pilha dupla) e back-ends de NEG zonais com endpoints GCE_VM_IP_PORT
.
Back-ends e redes VPC
As restrições de onde os back-ends podem estar localizados dependem do tipo de balanceador de carga.
Para o balanceador de carga de rede de proxy externo global e o balanceador de carga de rede de proxy clássico, todas as instâncias de back-end dos back-ends de grupos de instâncias e todos os endpoints de back-end dos back-ends de NEG precisam estar localizados no mesmo projeto. No entanto, um back-end de grupo de instâncias ou um NEG pode usar outra rede VPC nesse projeto. As diferentes redes VPC não precisam estar conectadas usando o peering de rede VPC, porque os GFEs se comunicam diretamente com back-ends nas respectivas redes VPC.
Para o balanceador de carga de rede de proxy externo regional, isso depende do tipo de back-end.
Para grupos de instâncias, NEGs zonais e NEGs de conectividade híbrida, todos os back-ends precisam estar localizados no mesmo projeto e região do serviço de back-end. No entanto, um balanceador de carga pode referenciar um back-end que usa outra rede VPC no mesmo projeto que o serviço de back-end. Esse recurso está em Pré-lançamento. A conectividade entre a rede VPC do balanceador de carga e a rede VPC de back-end pode ser configurada usando o peering de rede VPC, túneis da Cloud VPN, anexos da VLAN do Cloud Interconnect ou um framework do Network Connectivity Center.
Definição de rede de back-end
- Para NEGs zonais e híbridos, especifique explicitamente a rede VPC ao criar o NEG.
- Para grupos gerenciados de instâncias, a rede VPC é definida no modelo de instância.
- Para grupos não gerenciados de instâncias, a rede VPC do grupo de instâncias é definida para corresponder à rede VPC da interface
nic0
da primeira VM adicionada ao grupo de instâncias.
Requisitos de rede de back-end
A rede do seu back-end precisa atender a um dos requisitos de rede a seguir:
A rede VPC do back-end precisa corresponder exatamente à rede VPC da regra de encaminhamento.
A rede VPC do back-end precisa estar conectada à rede VPC da regra de encaminhamento usando o peering de rede VPC. É necessário configurar as trocas de rotas de sub-rede para permitir a comunicação entre a sub-rede somente proxy na rede VPC da regra de encaminhamento e as sub-redes usadas pelas instâncias ou endpoints de back-end.
- A rede VPC do back-end e a rede VPC da regra de encaminhamento precisam ser spokes VPC no mesmo hub do Network Connectivity Center. Os filtros de importação e exportação precisam permitir a comunicação entre a sub-rede somente proxy na rede VPC da regra de encaminhamento e as sub-redes usadas por instâncias ou endpoints de back-end.
- Para os outros tipos de back-end, todos os back-ends precisam estar localizados na mesma rede e região VPC.
Back-ends e interfaces de rede
Se você usar back-ends de grupos de instâncias, os pacotes serão sempre entregues a nic0
. Se
você quiser enviar pacotes para várias placas de rede (NIC), use back-ends NEG.
Se você usar back-ends de NEG zonal, os pacotes serão enviados para qualquer interface de rede representada pelo endpoint no NEG. Os endpoints do NEG precisam estar na mesma rede VPC que a rede VPC definida explicitamente do NEG.
Protocolo para comunicação com os back-ends
Ao configurar um serviço de back-end para um balanceador de carga do proxy de rede externo, defina o protocolo que o serviço usará para se comunicar com os back-ends.
- Para os balanceadores de carga de rede de proxy clássicos, é possível escolher TCP ou SSL.
- Para balanceadores de carga de rede de proxy externo global, você pode escolher TCP ou SSL.
- Para balanceadores de carga de rede de proxy externo regional, use TCP.
O balanceador de carga usa apenas o protocolo que você especifica e não tenta negociar uma conexão com o outro protocolo.
Regras de firewall
As seguintes regras de firewall são obrigatórias:
Para balanceadores de carga de rede de proxy clássicos, uma regra de firewall de entrada
allow
para permitir que o tráfego de GFEs alcance seus back-ends.Para balanceadores de carga de rede de proxy externo global, uma regra de firewall de entrada
allow
para permitir que o tráfego de GFEs alcance seus back-ends.
Para balanceadores de carga de rede de proxy externo regional, uma regra de firewall de entrada para permitir que o tráfego da sub-rede somente proxy alcance seus back-ends.
Uma regra de firewall de entrada
allow
para permitir que o tráfego dos intervalos de sondagem de verificação de integridade alcance seus back-ends. Saiba mais sobre sondagens de verificação de integridade e por que é necessário permitir tráfego delas em Intervalos de IP de sondagem e regras de firewall.
As regras de firewall são implementadas no nível da instância da VM, não no nível dos proxies do GFE. Não é possível usar regras de firewall para impedir que o tráfego chegue ao balanceador de carga.
As portas dessas regras de firewall precisam ser configuradas da seguinte maneira:
- Permite o tráfego para a porta de destino da verificação de integridade de cada serviço de back-end.
- Para back-ends de grupos de instâncias: determine as portas a serem configuradas pelo mapeamento entre a porta nomeada do serviço de back-end e os números de porta associados a essa porta nomeada em cada grupo de instâncias. Os números de porta podem variar entre grupos de instâncias atribuídos ao mesmo serviço de back-end.
- Para back-ends NEG de
GCE_VM_IP_PORT NEG
: permite tráfego para os números de portas dos endpoints.
A tabela a seguir resume os intervalos de endereços IP de origem obrigatórios para as regras de firewall.
Modo balanceador de carga | Intervalos de origem da verificação de integridade | Solicitar intervalos de origem |
---|---|---|
Balanceador de carga de rede de proxy externo global |
Para tráfego IPv6 para os back-ends:
|
A origem do tráfego do GFE depende do tipo de back-end:
|
Balanceador de carga de rede de proxy clássico |
|
Esses intervalos se aplicam a sondagens e solicitações de verificação de integridade do GFE. |
Balanceador de carga de rede de proxy externo regional *, † |
Para tráfego IPv6 para os back-ends:
|
Esses intervalos se aplicam a sondagens de verificações de integridade. |
* Não é necessário colocar intervalos de sondagem de verificação de integridade do Google na lista de permissões para NEGs híbridos. No entanto, se você estiver usando uma combinação de NEGs híbridos e zonais em um único serviço de back-end, será necessário usar lista de permissões dos intervalos de sondagem de verificação de integridade do Google para NEGs zonais.
† Para NEGs regionais da Internet, as verificações de integridade são opcionais. O tráfego de balanceadores de carga que usam NEGs regionais da Internet é proveniente da sub-rede somente proxy e, em seguida, é convertido por NAT (usando o Cloud NAT) para endereços IP NAT alocados automaticamente ou manualmente. Esse tráfego inclui sondagens de verificação de integridade e solicitações de usuários do balanceador de carga aos back-ends. Para detalhes, consulte NEGs regionais: usar o Cloud NAT para saída.
Endereços IP de origem
O endereço IP de origem dos pacotes, como visto pelos back-ends, não é o endereço IP externo do Google Cloud do balanceador de carga. Em outras palavras, há duas conexões TCP:
Para os balanceadores de carga de rede de proxy clássicos e os balanceadores de carga de rede de proxy externos globais:Conexão 1, do cliente original para o balanceador de carga (GFE):
- Endereço IP de origem: o cliente original (ou endereço IP externo se o cliente estiver atrás de NAT ou de um proxy de encaminhamento).
- Endereço IP de destino: o endereço IP do seu balanceador de carga.
Conexão 2, do balanceador de carga (GFE) para o endpoint ou VM de back-end:
Endereço IP de origem: um endereço IP em um dos intervalos especificados nas regras de firewall.
Endereço IP de destino: o endereço IP interno da VM ou contêiner de back-end na rede VPC.
Conexão 1, do cliente original para o balanceador de carga (sub-rede somente proxy):
- Endereço IP de origem: o cliente original (ou endereço IP externo se o cliente estiver atrás de NAT ou de um proxy de encaminhamento).
- Endereço IP de destino: o endereço IP do seu balanceador de carga.
Conexão 2, do balanceador de carga (sub-rede somente proxy) para o endpoint ou a VM de back-end:
Endereço IP de origem: um endereço IP na sub-rede somente proxy compartilhado entre todos os balanceadores de carga baseados em Envoy implantados na mesma região e rede como o balanceador de carga.
Endereço IP de destino: o endereço IP interno da VM ou contêiner de back-end na rede VPC.
Portas abertas
Balanceadores de carga de rede de proxy externo são balanceadores de carga de proxy reverso. O balanceador de carga encerra as conexões de entrada e depois abre novas conexões do balanceador de carga para os back-ends. Esses balanceadores de carga são implementados usando proxies do Google Front End (GFE) em todo o mundo.
Os GFEs têm várias portas abertas para oferecer suporte a outros serviços do Google, executados na mesma arquitetura. Ao executar uma verificação de portas, é possível ver outras portas abertas para outros serviços do Google em execução nos GFEs.
Executar uma verificação de porta no endereço IP de um balanceador de carga baseado no GFE não é útil do ponto de vista de auditoria pelos seguintes motivos:
Uma verificação de porta (por exemplo, com
nmap
) geralmente não espera nenhum pacote de resposta ou um pacote TCP RST ao realizar a sondagem de TCP SYN. Os GFEs enviarão pacotes SYN-ACK em resposta a sondagens SYN apenas para portas em que você configurou uma regra de encaminhamento. Os GFEs só enviam pacotes para os back-ends em resposta aos enviados para o endereço IP do balanceador de carga e para a porta de destino configurada na regra de encaminhamento. Os pacotes enviados para um endereço IP ou uma porta diferente não são enviados para os back-ends.Os GFEs implementam recursos de segurança, como o Google Cloud Armor. Com o Google Cloud Armor Standard, os GFEs oferecem proteção sempre ativada contra ataques DDoS volumétricos e baseados em protocolo e inundações de SYN. Essa proteção está disponível mesmo que você não tenha configurado explicitamente o Google Cloud Armor. Você só vai receber cobranças se configurar políticas de segurança ou se se inscrever no Managed Protection Plus.
Os pacotes enviados para o endereço IP do balanceador de carga poderiam ser respondidos por qualquer GFE na frota do Google; No entanto, a verificação de uma combinação de endereço IP e porta de balanceador de carga interroga apenas um único GFE por conexão TCP. O endereço IP do seu balanceador de carga não é atribuído a um único dispositivo ou sistema. Portanto, a verificação do endereço IP de um balanceador de carga baseado em GFE não verifica todos os GFEs na frota do Google.
Com isso em mente, veja a seguir algumas maneiras mais eficazes de auditar a segurança das instâncias de back-end:
Um auditor de segurança precisa inspecionar a configuração das regras de encaminhamento para a configuração do balanceador de carga. As regras de encaminhamento definem a porta de destino para a qual o balanceador de carga aceita pacotes e os encaminha para os back-ends. Para balanceadores de carga baseados em GFE, cada regra de encaminhamento externo só pode referir-se a uma única porta TCP de destino.
Um auditor de segurança deve inspecionar a configuração da regra de firewall aplicável às VMs de back-end. As regras de firewall definidas bloqueiam o tráfego dos GFEs para as VMs de back-end, mas não bloqueiam o tráfego de entrada para os GFEs. Para ver as práticas recomendadas, consulte a seção de regras de firewall.
Arquitetura da VPC compartilhada
Os balanceadores de carga de rede de proxy externos regionais e os balanceadores de carga de rede de proxy clássicos aceitam implantações que usam redes VPC compartilhadas. A VPC compartilhada permite manter uma separação clara de responsabilidades entre administradores de rede e desenvolvedores de serviços. Suas equipes de desenvolvimento podem se concentrar na criação de serviços em projetos de serviço, enquanto as equipes de infraestrutura de rede podem provisionar e administrar o balanceamento de carga. Se você ainda não estiver familiarizado com a VPC compartilhada, leia a documentação de visão geral da VPC compartilhada.
Endereço IP | Regra de encaminhamento | Proxy de destino | Componentes de back-end |
---|---|---|---|
Um endereço IP externo precisa ser definido no mesmo projeto que o balanceador de carga. | A regra de encaminhamento externo precisa ser definida no mesmo projeto que as instâncias de back-end (o projeto de serviço). | O proxy TCPou SSL de destino precisa ser definido no mesmo projeto que as instâncias de back-end. |
Para balanceadores de carga de rede de proxy clássicos, um serviço de back-end global precisa ser definido no mesmo projeto que as instâncias de back-end. Essas instâncias precisam estarem grupos de instâncias anexados ao serviço de back-end como back-ends. As verificações de integridade associadas aos serviços de back-end precisam ser definidas no mesmo projeto como serviço de back-end. Para balanceadores de carga de rede de proxy externo regional, as VMs de back-end geralmente estão localizadas em um projeto de serviço. Um serviço de back-end interno regional e uma verificação de integridade precisam ser definidos nesse projeto de serviço. |
Distribuição de tráfego
Ao adicionar um grupo de instâncias de back-end ou NEG a um serviço de back-end, você especifica um modo de balanceamento, que define um método para medir a carga de back-end e a capacidade de destino.
Para balanceadores de carga de rede de proxy externo, o modo de balanceamento pode ser CONNECTION
ou UTILIZATION
:
- Se o modo de balanceamento de carga for
CONNECTION
, a carga será distribuída com base no número total de conexões que o back-end pode processar. - Se o modo de balanceamento de carga for
UTILIZATION
, a carga será distribuída com base na utilização das instâncias em um grupo. Esse modo de balanceamento se aplica apenas a back-ends de grupos de instâncias de VMs.
A distribuição do tráfego entre back-ends é determinada pelo modo de balanceamento do balanceador de carga.
Balanceador de carga de rede de proxy clássico
Para o balanceador de carga de rede de proxy clássico, o modo de balanceamento é usado para selecionar o back-end mais favorável (grupo de instâncias ou NEG). O tráfego é distribuído em estilo round-robin entre instâncias ou endpoints no back-end.
Como as conexões são distribuídas
Um balanceador de carga de rede de proxy clássico pode ser configurado como um serviço de balanceamento de carga global com nível Premium e como um serviço regional no nível Standard.
O modo de balanceamento e a escolha de destino definem a integridade do back-end na perspectiva de cada NEG GCE_VM_IP_PORT
zonal, grupo de instâncias zonal ou zona de um grupo de instâncias regional. Em seguida, o tráfego é distribuído dentro de uma zona usando hash consistente.
Para o nível Premium:
É possível ter apenas um serviço de back-end que pode ter back-ends em várias regiões. Para balanceamento de carga global, você implanta seus back-ends em várias regiões, e o balanceador de carga direciona automaticamente o tráfego para a região mais próxima do usuário. Se uma região estiver no limite da capacidade, o balanceador de carga direcionará automaticamente as novas conexões para outra região que tenha capacidade disponível. As conexões de usuário atuais permanecem na região em que estão.
O Google divulga o endereço IP do balanceador de carga de todos os pontos de presença em todo o mundo. Cada endereço IP do balanceador de carga é anycast global.
Se você configurar um serviço de back-end com back-ends em várias regiões, o Google Front Ends (GFEs) tentará direcionar solicitações para grupos de instâncias de back-end íntegros ou NEGs na região mais próxima ao usuário.
Para o nível Standard:
O Google divulga o endereço IP do balanceador de carga a partir dos pontos de presença associados à região da regra de encaminhamento. O balanceador de carga usa um endereço IP externo regional.
Só é possível configurar back-ends na mesma região da regra de encaminhamento. O balanceador de carga direciona apenas solicitações para back-ends íntegros nessa região.
Balanceador de carga de rede de proxy externo global
Para o balanceador de carga de rede de proxy externo global, a distribuição de tráfego é baseada no modo de balanceamento de carga e na política de localidade do balanceamento de carga.
O modo de balanceamento determina a ponderação e fração do tráfego que precisa ser
enviada para cada back-end (grupo de instâncias ou NEG). A política de localidade do balanceamento de carga
(LocalityLbPolicy
) determina como os back-ends do grupo são balanceados por carga.
Quando um serviço de back-end recebe tráfego, ele direciona primeiro o tráfego para um back-end (grupo de instâncias ou NEG ) de acordo com o modo de balanceamento do back-end. Depois que um back-end é selecionado, o tráfego é distribuído entre as instâncias ou os endpoints do grupo, de acordo com a política de localidade do balanceamento de carga.
Para ver mais informações, consulte os seguintes tópicos:
- Modo de balanceamento.
- Política de localidade do balanceamento de carga (documentação da API de serviço de back-end global).
Como as conexões são distribuídas
Um balanceador de carga de rede de proxy externo global pode ser configurado como um serviço de balanceamento de carga global com o nível Premium.
O modo de balanceamento e a escolha do destino determinam a integridade do back-end a partir
da perspectiva de cada NEG GCE_VM_IP_PORT
zonal ou grupo de instâncias zonal.
Em seguida, o tráfego é distribuído dentro de uma zona usando hash consistente.
É possível ter apenas um serviço de back-end que pode ter back-ends em várias regiões. Para balanceamento de carga global, você implanta seus back-ends em várias regiões, e o balanceador de carga direciona automaticamente o tráfego para a região mais próxima do usuário. Se uma região estiver no limite da capacidade, o balanceador de carga direcionará automaticamente as novas conexões para outra região que tenha capacidade disponível. As conexões de usuário atuais permanecem na região em que estão.
O Google divulga o endereço IP do balanceador de carga de todos os pontos de presença em todo o mundo. Cada endereço IP do balanceador de carga é anycast global.
Se você configurar um serviço de back-end com back-ends em várias regiões, o Google Front Ends (GFEs) tentará direcionar solicitações para grupos de instâncias de back-end íntegros ou NEGs na região mais próxima ao usuário.
Balanceador de carga de rede de proxy externo regional
Para balanceadores de carga de rede externos regionais, a distribuição de tráfego é baseada no modo de balanceamento de carga e na política de localidade do balanceamento de carga.
O modo de balanceamento determina o peso/fração de tráfego que precisa ser enviada para cada back-end
(grupo de instâncias ou NEG). A política de localidade do balanceamento de carga
(LocalityLbPolicy
) determina como os back-ends do grupo são balanceados por carga.
Quando um serviço de back-end recebe tráfego, ele direciona primeiro o tráfego para um back-end (grupo de instâncias ou NEG) de acordo com o modo de balanceamento. Depois que um back-end é selecionado, o tráfego é distribuído entre as instâncias ou os endpoints do grupo, de acordo com a política de localidade do balanceamento de carga.
Para ver mais informações, consulte os seguintes tópicos:
- Modos de balanceamento
- Política de localidade do balanceamento de carga (documentação da API de serviço de back-end regional).
Afinidade da sessão
Afinidade da sessão envia todas as solicitações do mesmo cliente para o mesmo back-end, caso o back-end esteja íntegro e tenha capacidade.
Os balanceadores de carga de rede de proxy externos oferecem os seguintes tipos de afinidade da sessão:
NONE
. A afinidade de sessão não está definida para o balanceador de carga.- Afinidade de IP do cliente, que encaminha todas as solicitações do mesmo endereço IP do cliente para o mesmo back-end.
Failover
O failover para balanceadores de carga de rede de proxy externos funciona da seguinte maneira:
- Se um back-end se tornar não íntegro, o tráfego será redirecionado automaticamente para back-ends íntegros na mesma região.
- Se todos os back-ends em uma região não estiverem íntegros, o tráfego vai ser distribuído para back-ends íntegros em outras regiões (somente nos modos global e clássico).
- Se nenhum back-end estiver íntegro, o balanceador de carga descartará o tráfego.
Balanceamento de carga para aplicativos do GKE
Se você estiver criando aplicativos no Google Kubernetes Engine, poderá usar NEGs independentes para balancear a carga do tráfego diretamente para contêineres. Com os NEGs independentes, você é responsável por criar o objeto Serviço que cria o NEG e, em seguida, associar o NEG ao serviço de back-end para que o balanceador de carga possa conectar aos pods.
Para documentação relacionada, consulte Balanceamento de carga nativo de contêiner por meio de NEGs zonais independentes.
Limitações
- Não é possível criar um balanceador de carga de rede de proxy externo regional no nível Premium usando o console do Google Cloud. Além disso, apenas regiões que aceitam o nível Standard estão disponíveis para esses balanceadores de carga no console do Google Cloud. Use a CLI gcloud ou a API.
As limitações a seguir se aplicam somente aos balanceadores de carga de rede de proxy clássico e ao balanceador de carga de rede de proxy externo global que são implantados com um proxy de destino SSL:
Os balanceadores de carga de rede de proxy clássico e os balanceadores de carga de rede de proxy externo global não oferecem suporte à autenticação baseada em certificado do cliente, também conhecida como autenticação TLS mútua.
Os balanceadores de carga de rede de proxy clássico e os balanceadores de carga de rede de proxy externo globais aceitam apenas caracteres minúsculos em domínios em um atributo de nome comum (
CN
) ou um atributo de nome alternativo do assunto (SAN
) do certificado. Os certificados com caracteres maiúsculos em domínios são retornados somente quando definidos como o certificado principal no proxy de destino.
A seguir
- Configure um balanceador de carga de rede de proxy clássico (proxy TCP).
- Configure um balanceador de carga de rede de proxy clássico (proxy SSL).
- Configure um balanceador de carga de rede de proxy externo global (proxy TCP).
- Configure um balanceador de carga de rede (proxy SSL) de proxy externo global.
- Configure um balanceador de carga de rede de proxy externo regional (proxy TCP).
- Geração de registros e monitoramento do balanceador de carga de rede.