Visão geral do balanceador de carga de rede de passagem externa global

Os balanceadores de carga de rede de passagem externa global são balanceadores de carga de passagem da camada 4 que distribuem o tráfego externo entre back-ends (grupos de instâncias ou grupos de endpoints de rede) que podem estar em várias regiões Cloud de Confiance . Esses balanceadores de carga são criados em Maglevs distribuídos globalmente, que operam juntos usando a rede global e o plano de controle do Google.

Um balanceador de carga de rede de passagem externa global direciona automaticamente o tráfego para a região de back-end mais próxima do ponto em que o tráfego do usuário entra na rede global doS3NS.

Desde que os back-ends qualificados estejam configurados em duas ou mais regiões:

  • Se uma região estiver no limite da capacidade, o balanceador de carga vai transferir automaticamente algumas das novas conexões de usuário que excederem a capacidade da região para as regiões mais próximas com capacidade disponível, mantendo as conexões atuais na região em que estão.

  • Se uma região estiver inativa, o balanceador de carga fará failover automático do tráfego para a região mais próxima com capacidade disponível.

Os balanceadores de carga de rede de passagem externa globais podem receber tráfego de:

  • Qualquer cliente na Internet
  • Cloud de Confiance VMs com IPs externos
  • Cloud de Confiance VMs que têm acesso à Internet pelo Cloud NAT ou NAT baseado em instância

Use um balanceador de carga de rede de passagem externa global nas seguintes circunstâncias:

  • Você precisa de um balanceador de carga de passagem de camada 4 de alto desempenho para tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6. O balanceador de carga pode processar tráfego IPv4 e IPv6.

  • Você precisa receber os pacotes originais sem proxy. Por exemplo, se você precisa preservar o endereço IP de origem do cliente.

  • Você precisa veicular tráfego para back-ends em várias Cloud de Confiance regiões com baixa latência, usando o mesmo endereço IP anycast.

  • Você precisa que sua implantação seja resiliente a falhas e sobrecargas regionais de back-end, redirecionando o tráfego de forma automática e gradual para a próxima região mais próxima com capacidade disponível.

Para usar um balanceador de carga de rede de passagem externa global, sua implantação precisa atender ao seguinte requisito:

  • Se você estiver veiculando tráfego TLS (SSL), os back-ends precisarão encerrar o tráfego SSL. O balanceador de carga de rede de passagem externa global não é compatível com o encerramento de SSL.

Principais recursos

Os balanceadores de carga de rede de passagem externa globais são compatíveis com os seguintes recursos principais.

Alta disponibilidade por design

O balanceador de carga fornece dois endereços IP anycast externos globais, cada um atendido por uma infraestrutura de servidor de plano de controle e dados de balanceamento de carga global isolada e independente (também conhecida como um grupo de disponibilidade) para oferecer alta disponibilidade. Os clientes podem usar qualquer um dos endereços IP para se conectar ao back-end íntegro mais próximo com capacidade disponível.

O balanceador de carga permite melhorar a disponibilidade do serviço ao criar serviços de back-end globais com back-ends em várias regiões. Cloud de Confiance Se os back-ends de uma determinada região estiverem inativos, o tráfego fará o failover para a próxima região mais próxima normalmente.

Recomendamos implantar back-ends em pelo menos três regiões Cloud de Confiance para garantir a resiliência contra interrupções regionais, mesmo que seja permitido configurar todos os back-ends em uma única região Cloud de Confiance .

Latência e balanceamento de carga

Um balanceador de carga de rede de passagem externa global usa exclusivamente o nível Premium. Com o nível Premium, o tráfego de entrada da Internet entra na rede de alto desempenho e baixa latência do S3NSno ponto de presença (PoP) mais próximo do usuário. Da mesma forma, o tráfego de saída é enviado pela rede do S3NS, saindo no PoP mais próximo do usuário.

Os balanceadores de carga Maglev distribuídos globalmente encaminham o tráfego de entrada para a regiãoCloud de Confiance mais próxima do PoP em que o tráfego entra na rede S3NS, desde que a região tenha back-ends íntegros com capacidade disponível. Caso contrário, o balanceador de carga automaticamente e de maneira gradual transborda o tráfego para a região mais próxima que tem back-ends íntegros com capacidade disponível.

Você determina as posições e capacidades de back-end para otimizar a latência de pacotes e a eficiência do back-end. As capacidades de back-end podem ser baseadas na taxa máxima de PPS (pacote por segundo) de entrada, na utilização máxima da CPU ou em ambas. As capacidades de back-end configuradas em um serviço de back-end são compartilhadas de maneira justa entre os endereços IP de todas as regras de encaminhamento que fazem referência ao serviço de back-end.

Como funcionam os balanceadores de carga de rede de passagem externa global

Um balanceador de carga de rede de passagem externa global tem um front-end (a regra de encaminhamento) e um back-end (o serviço de back-end e os grupos de back-end). Use grupos de instâncias ou NEGs zonais GCE_VM_IP como grupos de back-end.

Arquitetura

O diagrama a seguir mostra um balanceador de carga de rede de passagem externa global distribuindo o tráfego para back-ends em várias regiões Cloud de Confiance . Quando o balanceador de carga é criado,o Cloud de Confiance atribui a ele dois endereços IP Anycast externos globais, fornecidos por uma infraestrutura de plano de controle e de dados isolada e independente (também conhecida como grupos de disponibilidade, AG0 e AG1).

Os dois planos de controle e de dados oferecem alta disponibilidade, tolerância a falhas e resiliência para todos os balanceadores de carga de rede de passagem externa global. Uma falha no plano de controle ou de dados de um grupo de disponibilidade não afeta o outro grupo de disponibilidade. Os clientes configurados corretamente precisam conseguir se conectar aos dois endereços IP do balanceador de carga. Por exemplo, se um cliente não conseguir se conectar ao endereço IP do AG0, ele precisará ser configurado para se conectar ao endereço IP do AG1.

Um balanceador de carga de rede de passagem externa global envia tráfego para back-ends de grupos de instâncias de VM implantados nas regiões "us-west1" e "europe-west2".
Arquitetura de um balanceador de carga de rede de passagem externa global (clique para ampliar).

O balanceador de carga consiste nos seguintes componentes de configuração.

  • Dois endereços IP externo globais, um de cada grupo de disponibilidade (AG0 e AG1). Elas podem ser estáticas ou temporárias. Para mais detalhes, consulte Endereços IP.

  • Uma regra de encaminhamento global que especifica os dois endereços IP externo globais, um de cada grupo de disponibilidade (AG0 e AG1). Ao criar essa regra de encaminhamento,o Cloud de Confiance gera duas regras de encaminhamento filhas somente leitura, uma para cada grupo de disponibilidade, para garantir alta disponibilidade. Para mais detalhes, consulte Regras de encaminhamento.

  • Um serviço de back-end global que define como o tráfego é distribuído para os back-ends em várias Cloud de Confiance regiões. Os grupos de back-end podem ser todos os grupos de instâncias (grupos gerenciados de instâncias zonais ou grupos não gerenciados de instâncias zonais) ou todos os back-ends de NEG zonais (NEGs zonais com endpoints GCE_VM_IP). Para mais detalhes, consulte Serviços de back-end.

  • Verificação de integridade global associada ao serviço de back-end. Para mais detalhes, consulte Verificações de integridade.

  • Regras de firewall que permitem que o tráfego de balanceamento de carga e as sondagens de verificação de integridade alcancem as VMs de back-end. Para mais detalhes, consulte Regras de firewall.

Retorno direto do servidor

Um balanceador de carga de rede de passagem externa global, assim como outros balanceadores de carga de rede de passagem, não é um proxy. O balanceador de carga em si não encerra conexões de usuário. Os pacotes com carga balanceada são enviados às VMs de back-end com os respectivos endereços IP de origem e destino, protocolo e, se aplicável, portas inalteradas. Em seguida, as VMs de back-end encerram as conexões de usuário e enviam os pacotes de retorno diretamente para os clientes. As respostas não voltam pelo balanceador de carga. Esse processo é conhecido como retorno direto do servidor (DSR).

Roteamento local para o endereço IP do balanceador de carga

O balanceador de carga de rede de passagem externa global, assim como outros balanceadores de carga de rede de passagem, não realiza NAT de origem ou destino do endereço IP ou das portas.

O Cloud de Confiance ambiente de convidado configura cada VM de back-end com os endereços IP do balanceador de carga. Uma entrada na tabela de roteamento local da VM configura o controlador de interface de rede (NIC) com balanceamento de carga da VM de back-end para aceitar pacotes cujos endereços IP de destino correspondem a cada endereço IP da regra de encaminhamento. Para saber mais, consulte Verificar a tabela de roteamento local para os endereços IP do balanceador de carga.

Endereços IP para pacotes de solicitação e retorno

Quando uma VM de back-end recebe um pacote com carga balanceada de um cliente, a origem e o destino do pacote são os seguintes:

  • Origem: um endereço IP externo associado ao cliente, uma VM Cloud de Confiance ou um sistema na Internet.
  • Destino: um dos endereços IP da regra de encaminhamento do balanceador de carga.
Como o balanceador de carga é um balanceador de carga de transmissão, e não um proxy, os pacotes chegam carregando um dos endereços IP da regra de encaminhamento do balanceador de carga.

Embora o ambiente convidado configure automaticamente rotas locais para que o sistema operacional da VM aceite o tráfego destinado ao endereço IP do balanceador de carga, o sistema operacional não pode entregar esses pacotes ao aplicativo se ele estiver configurado para escutar apenas no endereço IP interno atribuído à VM.

Para garantir que o sistema operacional entregue pacotes ao seu aplicativo, configure o aplicativo em execução nas VMs de back-end para fazer o seguinte:

  • Detectar (vincular) os endereços IP da regra de encaminhamento do balanceador de carga ou qualquer endereço IP (0.0.0.0 ou ::).
  • Se o protocolo da regra de encaminhamento do balanceador de carga suportar portas, detectar em (vincular) uma porta incluída na regra de encaminhamento do balanceador de carga

Os pacotes de retorno são enviados diretamente das VMs de back-end do balanceador de carga para o cliente. O endereço IP de origem do pacote de retorno depende do protocolo:

  • O TCP é orientado por conexão. Assim, as VMs de back-end respondem com pacotes cujos endereços IP de origem correspondam ao endereço IP de destino do pacote de solicitação para que o cliente possa associar os pacotes de resposta à conexão TCP apropriada.
  • UDP, ESP, GRE, ICMP e ICMPv6 não têm conexão. As VMs de back-end podem enviar pacotes de resposta com endereços IP de origem que correspondam ao endereço IP da regra de encaminhamento ou a qualquer endereço IP externo atribuído à VM. Na prática, a maioria dos clientes espera que a resposta seja do mesmo endereço IP que enviou os pacotes.

A tabela a seguir resume os endereços IP de origem e destino para pacotes de resposta:

Tipo de tráfego Origem Destino
TCP O destino do pacote solicitante A origem do pacote solicitante
UDP, ESP, GRE, ICMP e ICMPv6 Na maioria dos casos de uso, o destino do pacote de solicitação1 A origem do pacote solicitante

1 Quando uma VM tem um endereço IP externo ou quando você está usando o Cloud NAT, também é possível definir o endereço IP de origem do pacote de resposta como o endereço IPv4 interno principal da VM de dados. Cloud de Confiance ou o Cloud NAT muda o endereço IP de origem do pacote de resposta para o endereço IPv4 externo da placa de rede (NIC, na sigla em inglês) ou o endereço IPv4 externo do Cloud NAT a fim de enviar o pacote de resposta para o endereço IP externo do cliente. Não usar o endereço IP da regra de encaminhamento como uma origem é um cenário avançado, porque o cliente recebe um pacote de resposta de um endereço IP externo que não corresponde ao endereço IP a que ele enviou um pacote de solicitação.

Componentes

As seções a seguir descrevem cada componente de configuração de um balanceador de carga de rede de passagem externa global em detalhes.

Endereços IP

Um balanceador de carga de rede de passagem externa global requer dois endereços IP externo globais para oferecer alta disponibilidade. As regras de encaminhamento do balanceador de carga usam esses endereços para aceitar o tráfego de entrada e precisam pertencer à mesma versão de IP (IPv4 ou IPv6). O Cloud de Confiance anuncia os endereços IP do balanceador de carga de todos os pontos de presença no mundo todo. Cada endereço IP do balanceador de carga é um endereço IP anycast global compatível apenas com o nível Premium.

Cada um dos dois endereços IP precisa vir de pools de endereços IP externo globais que pertencem a um grupo de disponibilidade distinto. Os endereços IP não estão associados a uma sub-rede em uma rede VPC. Na API, os grupos de disponibilidade são representados usando o campo purpose no recurso globalAddresses:

  • PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0: para endereços do grupo de disponibilidade 0.
  • PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1: para endereços do grupo de disponibilidade 1.

O campo IPAddresses de um recurso de regra de encaminhamento especifica zero, um ou dois endereços IP:

  • Se omitido,o Cloud de Confiance vai atribuir dois endereços IP temporários, um de cada grupo de disponibilidade.
  • Se você especificar um endereço IP que faça referência a um recurso de endereço IP estático de um grupo de disponibilidade,o Cloud de Confiance vai atribuir um endereço IP efêmero do outro grupo.
  • Se você especificar dois endereços IP que referenciam recursos de endereço IP estático existentes, eles precisarão ser de grupos de disponibilidade diferentes.

Use endereços IP estáticos reservados para a regra de encaminhamento se você precisar manter os endereços associados ao seu projeto para reutilização depois de excluir uma regra de encaminhamento ou se precisar que várias regras de encaminhamento façam referência aos mesmos endereços IP.

Para uma regra de encaminhamento do balanceador de carga de rede de passagem externa global, os endereços IP podem ser um dos seguintes:

  • Um endereço IPv4 estático ou temporário de um pool de endereços IP globais do Google.
  • Um intervalo /96 estático ou temporário de endereços IPv6 externos de um pool de endereços IP globais do Google.
  • Um endereço IPv4 BYOIP estático de um prefixo público delegado global.

Um balanceador de carga de rede de passagem externa global aceita o uso de seus próprios endereços IP (BYOIP) apenas para endereços IPv4. O suporte é limitado à API BYOIP v1. O provisionamento de novos intervalos IPv4 pode levar até quatro semanas, e não há APIs que permitam controlar o status de anúncio do BGP. Para mais detalhes, consulte Usar suas próprias configurações de IP.

O campo IPAddresses de uma regra de encaminhamento só pode ser definido na criação e não pode ser atualizado.

Independente da origem (do Google ou BYOIP), os endereços IP externo globais em Cloud de Confiance são extraídos de três tipos distintos de pools de endereços IP externo globais:

  • Pools de endereços IP usados por balanceadores de carga de rede de passagem externa globais para grupo de disponibilidade, AG0
  • Pools de endereços IP usados por balanceadores de carga de rede de passagem externa globais para grupo de disponibilidade, AG1
  • Pools de endereços IP usados por balanceadores de carga globais externos baseados em proxy

Portanto, os balanceadores de carga de rede de passagem externa globais não podem compartilhar endereços IP com outros balanceadores de carga globais ou regionais.

Regras globais de encaminhamento

Uma regra de encaminhamento do balanceador de carga de rede de passagem externa global forma o front-end do balanceador de carga, especificando os endereços IP de destino, o protocolo e as portas em que o balanceador de carga aceita tráfego. Como um balanceador de carga de rede de passagem externa global não é um proxy, ele transmite o tráfego para back-ends sem modificar os endereços IP de origem e destino, protocolo e portas, se o protocolo tiver informações de porta.

Uma regra de encaminhamento do balanceador de carga de rede de passagem externa global que você configura especifica o seguinte:

  • O esquema de balanceamento de carga é designado como EXTERNAL_PASSTHROUGH.
  • O par de endereços IP globais no campo IPAddresses[], um de cada grupo de disponibilidade.
  • O protocolo (TCP, UDP ou L3_DEFAULT) e as portas.

Para cada regra de encaminhamento do balanceador de carga de rede de passagem externa global que você cria (também conhecida como regra de encaminhamento principal),o Cloud de Confiancegera duas regras de encaminhamento filhas somente leitura para cada pilha de balanceamento de carga: AVAILABILITY_GROUP0 e AVAILABILITY_GROUP1. A regra de encaminhamento filha tem as mesmas configurações de protocolo IP, porta e serviço de back-end que a regra de encaminhamento pai, mas tem apenas um dos dois endereços IP da regra de encaminhamento pai.

As regras de encaminhamento filhas podem ser identificadas de maneira exclusiva porque têm -ag0 e -ag1 anexados ao nome da regra de encaminhamento principal. Elas não consomem cota adicional nem geram custos extras. As métricas de monitoramento e o status de integridade são informados no nível da regra de encaminhamento secundária.

O tráfego de entrada é associado a uma regra de encaminhamento, correspondendo ao endereço IP de destino, ao protocolo e à porta de um pacote a uma combinação de campos da regra de encaminhamento: dois endereços IP, protocolo e, se o protocolo for baseado em portas, uma das portas, um intervalo de portas ou todas as portas. A regra de encaminhamento direciona o tráfego para o serviço de back-end do balanceador de carga.

As regras de encaminhamento para um balanceador de carga de rede de passagem externa global podem ser configuradas com endereços IPv4 ou IPv6. Se você quiser que o balanceador de carga processe tráfego IPv4 e IPv6, crie duas regras de encaminhamento:

  • Uma regra de encaminhamento para tráfego IPv4 que aponta para back-ends somente IPv4 ou de pilha dupla

  • Uma regra de encaminhamento para tráfego IPv6 que aponta para back-ends somente IPv6 ou de pilha dupla

É possível ter uma regra de encaminhamento IPv4 e uma de IPv6 para fazer referência ao mesmo serviço de back-end, mas ele precisa fazer referência aos back-ends com interfaces de rede de VM de pilha dupla.

A versão IP da regra de encaminhamento precisa corresponder ao tipo de pilha das interfaces de rede da VM de back-end.

Tipo de pilha das interfaces de rede da VM de back-end Regra de encaminhamento
Interface de rede de VM somente IPv4 (IPV4_ONLY) Podem ser back-ends apenas para regras de encaminhamento IPv4.
Interface de rede de VM somente IPv6 (IPV6_ONLY) Podem ser back-ends apenas para regras de encaminhamento IPv6.
Interface de rede de VM de pilha dupla (IPV4_IPV6) Podem ser back-ends para regras de encaminhamento IPv4, IPv6 ou ambos.

Protocolos da regra de encaminhamento

Os balanceadores de carga de rede de passagem externa global são compatíveis com as seguintes opções de protocolo para cada regra de encaminhamento: TCP, UDP e L3_DEFAULT.

Use as opções TCP e UDP para configurar o balanceamento de carga TCP ou UDP, respectivamente. A opção de protocolo L3_DEFAULT permite que um balanceador de carga de rede de passagem externa global faça o balanceamento de carga de tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Além da compatibilidade com protocolos diferentes de TCP e UDP, L3_DEFAULT possibilita que uma única regra de encaminhamento exiba vários protocolos. Por exemplo, os serviços IPSec geralmente processam alguma combinação de tráfego IKE e NAT-T baseado em ESP e UDP. A opção L3_DEFAULT permite que uma única regra de encaminhamento seja configurada para processar todos esses protocolos.

Se você estiver usando o protocolo L3_DEFAULT, vai precisar configurar a regra de encaminhamento para aceitar o tráfego em todas as portas. Como L3_DEFAULT é uma regra catch-all, como prática recomendada de segurança, configure regras de firewall de entrada que permitam apenas os protocolos e portas IP necessários.

Várias regras de encaminhamento

É possível configurar várias regras de encaminhamento, que podem ser de dois tipos:

  • Várias regras de encaminhamento para os mesmos endereços IP. É possível configurar várias regras de encaminhamento para o mesmo par de endereços IP, desde que não haja duas regras de encaminhamento consumindo as mesmas combinações de protocolo e porta. Cada regra de encaminhamento pode ter um serviço de back-end diferente, ou várias regras de encaminhamento podem ter o mesmo serviço de back-end.

  • Várias regras de encaminhamento que referenciam o mesmo serviço de back-end. É possível configurar várias regras de encaminhamento que referenciam o mesmo serviço de back-end. Sujeitas às condições observadas no primeiro ponto, duas ou mais regras de encaminhamento podem usar o mesmo par de endereços IP, ou cada regra de encaminhamento pode usar um par exclusivo. O tráfego de todos os endereços IP de todas as regras de encaminhamento que referenciam o mesmo serviço de back-end compartilha as capacidades de destino de back-end de maneira justa.

No entanto, não é possível compartilhar o mesmo endereço IP externo global entre um balanceador de carga de rede de passagem externa global e um balanceador de carga de aplicativo externo global ou um balanceador de carga de rede de proxy externo global.

Ao usar várias regras de encaminhamento, configure o aplicativo em execução nas suas VMs de back-end para que ele seja vinculado a todos os endereços IP externo das regra de encaminhamento do balanceador de carga.

A configuração de várias regras de encaminhamento pode ser útil para os seguintes casos de uso:

  • Você precisa configurar mais de um par de endereços IP externo para o mesmo serviço de back-end. Por exemplo, uma regra de encaminhamento para endereços IPv4 e outra para endereços IPv6.
  • Você precisa configurar várias regras de encaminhamento para o mesmo par de endereços IP externo, mas com protocolos diferentes ou portas ou intervalos de portas não sobrepostos. As regras de encaminhamento podem usar os mesmos serviços de back-end ou serviços diferentes.

Restrições de protocolo e porta de várias regras de encaminhamento

Cloud de Confiance seleciona no máximo uma regra de encaminhamento para processar um pacote de entrada. Duas ou mais regras de encaminhamento que usam o mesmo par de endereços IP externo globais precisam ter combinações exclusivas de protocolo e porta de acordo com estas restrições:

  • Uma regra de encaminhamento configurada para todas as portas de um protocolo impede a criação de outras regras de encaminhamento usando o mesmo protocolo e par de endereços IP.

    As regras de encaminhamento usando protocolos TCP ou UDP podem ser configuradas para usar todas as portas ou para portas específicas.

    Por exemplo, se você criar uma regra de encaminhamento usando o par de endereços IP 136.124.69.214 e 136.124.83.205, o protocolo TCP e todas as portas, não será possível criar outra regra de encaminhamento usando o mesmo par de endereços IP e o protocolo TCP.

    É possível criar duas regras de encaminhamento, usando o par de endereços IP e o protocolo TCP, se cada uma tiver portas exclusivas ou intervalos de portas não sobrepostos. Por exemplo, é possível criar duas regras de encaminhamento usando o mesmo par de endereços IP e o protocolo TCP, em que uma porta da regra de encaminhamento é 80,443 e a outra usa o intervalo de portas 81-442.

  • Apenas uma regra de encaminhamento L3_DEFAULT pode ser criada por par de endereços IP.

    Isso ocorre porque o protocolo L3_DEFAULT usa todas as portas por definição. Nesse contexto, o termo "todas as portas" inclui protocolos sem informações de porta.

  • Uma única regra de encaminhamento L3_DEFAULT pode coexistir com outras regras que usam protocolos específicos (TCP ou UDP) e o mesmo par de endereços IP.

    Se você tiver regras de encaminhamento TCP ou UDP específicas anexadas a um par de endereços IP, também poderá anexar uma regra de encaminhamento L3_DEFAULT ao mesmo par de endereços IP para agir como um substituto para qualquer tráfego que não corresponda às regras de encaminhamento específicas. Uma regra de encaminhamento L3_DEFAULT processa pacotes enviados para o endereço IP de destino se e somente se o endereço IP, o protocolo e a porta de destino do pacote não corresponderem a uma regra de encaminhamento específica do protocolo.

    Para ilustrar isso, considere estes dois cenários. Nas duas situações, as regras de encaminhamento usam o mesmo par de endereços IP: 136.124.69.214 e 136.124.83.205.

    • Cenário 1. A primeira regra de encaminhamento usa o protocolo L3_DEFAULT. A segunda regra de encaminhamento usa o protocolo TCP e todas as portas. Os pacotes TCP enviados para qualquer porta de destino de um dos endereços IP são processados pela segunda regra de encaminhamento, que é mais específica. Os pacotes que usam protocolos diferentes são processados pela primeira regra de encaminhamento.

    • Cenário 2. A primeira regra de encaminhamento usa o protocolo L3_DEFAULT. A segunda regra de encaminhamento usa o protocolo TCP e a porta 8080. Os pacotes TCP enviados para a porta 8080 de qualquer um dos endereços IP são processados pela segunda regra de encaminhamento. Todos os outros pacotes, incluindo pacotes TCP enviados para diferentes portas de destino, são processados pela primeira regra de encaminhamento.

Seleção de regra de encaminhamento

Cloud de Confiance seleciona uma ou nenhuma regra de encaminhamento para processar um pacote recebido usando esse processo de eliminação, começando pelo conjunto de candidatos de regra de encaminhamento que correspondem ao endereço IP de destino do pacote:

  • Elimine as regras de encaminhamento que não correspondem ao protocolo do pacote, exceto as regras de encaminhamento L3_DEFAULT. As regras de encaminhamento que usam o protocolo L3_DEFAULT nunca são eliminadas por esta etapa porque L3_DEFAULT corresponde a todos os protocolos. Por exemplo, se o protocolo do pacote for TCP, apenas as regras de encaminhamento que usam o protocolo UDP serão eliminadas.

  • Elimine as regras de encaminhamento cuja porta não corresponde à do pacote. As regras de encaminhamento configuradas para todas as portas nunca são eliminadas nesta etapa, porque uma regra corresponde a qualquer porta.

  • Neste momento, os candidatos restantes da regra de encaminhamento se enquadram em uma das seguintes categorias:

    • Restam duas regras de encaminhamento: uma L3_DEFAULT e outra específica do protocolo. Use a regra de encaminhamento específica do protocolo para rotear o pacote.

    • Uma única regra de encaminhamento permanece, seja uma regra de encaminhamento L3_DEFAULT ou uma regra de encaminhamento específica do protocolo. Ele é usado para rotear o pacote.

    • Os candidatos da regra de encaminhamento zero permanecem e o pacote é descartado.

Serviços de back-end globais

Um serviço de back-end de um balanceador de carga de rede de passagem externa global distribui o tráfego de entrada entre back-ends anexados que podem estar em várias Cloud de Confiance regiões. 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 no uso da CPU, em pacotes por segundo (PPS) ou em ambos. O serviço de back-end gerencia a distribuição de tráfego de acordo com as configurações de afinidade e capacidade configuradas.

O serviço de back-end define os seguintes parâmetros de back-end:

  • Esquema de balanceamento de carga. Para designar um serviço de back-end a um balanceador de carga de rede de passagem externa global, o esquema de balanceamento de carga precisa ser definido explicitamente como EXTERNAL_PASSTHROUGH.

  • Protocolo. O campo de protocolo do serviço de back-end é redundante e só pode ser definido como UNSPECIFIED. Os serviços de back-end com protocolo UNSPECIFIED podem ser usados com qualquer regra de encaminhamento, não importa qual seja o protocolo da regra.

  • Distribuição de tráfego. Um serviço de back-end distribui o tráfego de acordo com a afinidade da sessão, a política de rastreamento de conexão, o modo de balanceamento de carga e as capacidades de back-end configurados, além da política de localidade do balanceamento de carga. O serviço de back-end também pode ser configurado para ativar a diminuição da conexão, reduzir as capacidades de back-end e designar back-ends preferenciais. A maioria dessas configurações tem valores padrão que permitem começar rapidamente.

  • Verificação de integridade. Os serviços de back-end precisam ter uma verificação de integridade vinculada.

  • Back-ends. Os back-ends são os endpoints reais que recebem tráfego com carga balanceada. Um balanceador de carga de rede de passagem externa global pode distribuir tráfego para grupos de instâncias ou NEGs zonais localizados em várias regiões: Cloud de Confiance

    • Se você escolher grupos de instâncias, poderá usar grupos gerenciados por zona, não gerenciados por zona ou uma combinação dos tipos de grupos. Os grupos de instâncias são compatíveis com RATE e UTILIZATION como modo de balanceamento de carga.

    • Se você escolher NEGs zonais, use NEGs zonais GCE_VM_IP. As NEGs são compatíveis apenas com RATE como modo de balanceamento de carga.

Compatibilidade da interface de rede da VM com regras de encaminhamento

Como os balanceadores de carga de rede de passagem externa global não encerram nem traduzem o tráfego, o tipo de pilha da interface de rede da VM de back-end precisa ser compatível com a versão do endereço IP da regra de encaminhamento.

Regra de encaminhamento Tipo de pilha das interfaces de rede da VM de back-end.
Somente regras de encaminhamento IPv4 Somente IPv4 (IPV4_ONLY) ou pilha dupla (IPV4_IPv6)
Somente regras de encaminhamento IPv6 Somente IPv6 (IPV6_ONLY) ou pilha dupla (IPV4_IPv6)
Regras de encaminhamento IPv4 e IPv6 Pilha dupla (IPV4_IPv6)

Compatibilidade da interface de rede da VM de back-end com sub-redes VPC

Como mostrado na tabela anterior, é possível configurar um balanceador de carga de rede de passagem externa global para ter back-ends que contenham interfaces somente IPv4, interfaces de pilha dupla e interfaces somente IPv6. A tabela a seguir resume quais tipos de interface de rede de VM de back-end são compatíveis com cada tipo de pilha de sub-rede da VPC.

Tipo de pilha de sub-redes VPC Tipo de pilha da interface de rede da VM de back-end.
IPV4_ONLY (pilha única)
Apenas intervalos de sub-rede IPv4
Somente IPv4 (IPV4_ONLY)
IPV4_IPV6 (pilha dupla)
Intervalos de sub-rede IPv4 e IPv6
Somente IPv4 (IPV4_ONLY), pilha dupla (IPV4_IPv6) e somente IPv6 (IPV6_ONLY)
IPV6_ONLY (pilha única)
Somente intervalos de sub-rede IPv6
Somente IPv6 (IPV6_ONLY)

Observações:

  • O endereço IP atribuído a uma interface de rede de VM é alocado diretamente da sub-rede VPC subjacente.

  • Para conectividade IPv6, quando uma interface de rede de VM é atribuída a uma sub-rede /64 habilitada para IPv6,o Cloud de Confiance aloca à interface de rede de VM um intervalo de endereços /96 da primeira metade (/65) do intervalo de endereços IPv6 externos /64 da sub-rede. Para saber mais, consulte Especificações do IPv6 externo.

  • Quando o tipo de pilha da interface de rede da VM é de pilha dupla (IPV4_IPv6) ou somente IPv6 (IPV6_ONLY), é necessário escolher como o endereço IPv6 da interface de rede da VM pode ser acessado configurando a definição --ipv6-access-type na sub-rede da VPC como EXTERNAL ou INTERNAL. Se o --ipv6-access-type da sub-rede estiver definido como EXTERNAL, você também precisará definir o --ipv6-network-tier na interface de rede da VM como PREMIUM. Para saber mais, consulte Intervalos de sub-redes IPv6.

Back-ends de grupo de instâncias e interfaces de rede

Em um determinado grupo de instâncias (gerenciadas ou não), a interface de rede nic0 de cada VM membro está sempre na mesma rede VPC:

  • Para grupos gerenciados de instâncias (MIGs), a rede VPC do grupo de instâncias vem da interface nic0 definida no modelo de instância.
  • Para grupos de instâncias não gerenciadas, a rede VPC do grupo de instâncias é definida como a rede VPC usada pela interface de rede nic0 da primeira instância de VM adicionada ao grupo de instâncias não gerenciadas. Não é possível mudar a rede VPC do grupo de instâncias depois, mesmo que você remova a primeira instância adicionada ao grupo.

As VMs membros podem ter outras interfaces de rede (vNICs ou interfaces de rede dinâmicas). Cada interface que não é nic0 pode estar na rede VPC do grupo de instâncias (a rede usada pela interface nic0) ou em uma rede VPC diferente.

Para distribuir o tráfego com balanceamento de carga para uma interface de rede que não seja nic0, não é possível usar back-ends de grupo de instâncias. Em vez disso, use NEGs zonais com endpoints GCE_VM_IP. Para mais informações, consulte Serviços de back-end e redes VPC.

Back-ends de NEG zonais e interfaces de rede

Ao criar um novo NEG zonal com endpoints GCE_VM_IP, é preciso associá-lo explicitamente a uma sub-rede de uma rede VPC antes de adicionar endpoints ao NEG. Nem a sub-rede nem a rede VPC podem ser alteradas após a criação do NEG.

Em um determinado NEG, cada endpoint GCE_VM_IP representa uma interface de rede. A interface de rede precisa estar na sub-rede associada ao NEG. Do ponto de vista de uma instância do Compute Engine, a interface de rede pode usar qualquer identificador. Do ponto de vista de ser um endpoint em um NEG, a interface de rede é identificada usando o endereço IPv4 interno principal. Para mais informações, consulte NEGs com endpoints GCE_VM_IP.

Há duas maneiras de adicionar um endpoint GCE_VM_IP a um NEG:

  • Se você especificar apenas um nome de VM (sem qualquer endereço IP) ao adicionar um endpoint,o Cloud de Confiance exigirá que a VM tenha uma interface de rede na sub-rede associada ao NEG. O endereço IP escolhido pelo Cloud de Confiance para o endpoint é o endereço IPv4 interno principal da interface de rede da VM na sub-rede associada ao NEG.
  • Se você especificar um nome de VM e um endereço IP ao adicionar um endpoint, o endereço IP fornecido precisará ser um endereço IPv4 interno principal para uma das interfaces de rede da VM. Essa interface de rede precisa estar na sub-rede associada ao NEG. A especificação de um endereço IP é redundante porque só pode haver uma única interface de rede na sub-rede associada ao NEG.

Serviços de back-end e redes VPC

O serviço de back-end não está associado a nenhuma rede VPC. No entanto, cada grupo de instâncias de back-end ou NEG por zona está associado a uma rede VPC, conforme observado anteriormente. Contanto que todos os back-ends estejam localizados no mesmo projeto e que todos sejam do mesmo tipo (grupos de instâncias ou NEGs zonais), o balanceador de carga e os back-ends podem estar na mesma rede VPC ou em redes diferentes.

Para distribuir pacotes a interfaces que não são do nic0, você precisa atender aos dois requisitos a seguir:

  • Use NEGs zonais (com endpoints GCE_VM_IP), não grupos de instâncias.

  • As interfaces de rede não nic0 e nic0 precisam estar em redes VPC diferentes. A rede VPC do NEG não pode conter a interface nic0 e a interface não nic0 desejada.

Back-ends preferenciais

É possível designar back-ends específicos como back-ends preferenciais. Esses back-ends precisam ser usados de acordo com a capacidade (ou seja, a capacidade desejada especificada pelo modo de balanceamento do back-end) antes que as solicitações sejam enviadas aos back-ends restantes.

O serviço de back-end de um balanceador de carga de rede de passagem externa global pode ter no máximo um grupo de back-end preferencial e não permite back-ends preferenciais e não preferenciais na mesma região Cloud de Confiance .

Para saber mais, consulte Otimizações avançadas de balanceamento de carga.

Verificações de integridade

As informações de verificação de integridade são usadas para determinar os back-ends qualificados para novas conexões e para controlar se as conexões atuais persistem em back-ends não íntegros.

O balanceador de carga envia sondagens de verificação de integridade para cada endereço IP de regra de encaminhamento separadamente. Portanto, uma regra de encaminhamento de balanceador de carga de rede de passagem externa global com dois endereços IP é testada para cada endereço IP, dobrando a frequência de sondagem em cada back-end. Para mais informações, consulte Várias sondagens e frequências.

Tipo, protocolo e porta da verificação de integridade

O serviço de back-end do balanceador de carga precisa referenciar uma verificação de integridade global usando qualquer protocolo e porta compatíveis. O protocolo e os detalhes da porta da verificação de integridade não precisam corresponder ao protocolo e às informações da porta da regra de encaminhamento.

Como todos os protocolos de verificação de integridade compatíveis dependem do TCP (as verificações de integridade do UDP não são aceitas), quando você usa um balanceador de carga de rede de passagem externa global para equilibrar conexões e tráfego de outros protocolos, as VMs de back-end precisam executar um servidor baseado em TCP para responder aos verificadores de integridade. Por exemplo, é possível usar uma verificação de integridade HTTP combinada com a execução de um servidor HTTP em cada VM de back-end. Neste exemplo, seus scripts ou software são responsáveis por configurar o servidor HTTP para que ele retorne o status 200 somente quando o software que escuta conexões balanceadas por carga estiver operacional.

Para mais informações sobre protocolos e portas de verificação de integridade compatíveis, consulte Categorias, protocolos e portas de verificação de integridade e Como as verificações de integridade funcionam.

Pacotes de verificação de integridade

Para back-ends de grupos de instâncias, as sondas de verificação de integridade enviam pacotes para a interface de rede nic0 de cada VM de back-end. Para back-ends de NEG zonal GCE_VM_IP, os verificadores de sondagem de integridade enviam pacotes para a interface de rede na sub-rede VPC do NEG. Os pacotes de verificação de integridade têm as seguintes características:

  • Endereço IP de destino que corresponde a um dos dois endereços IP da regra de encaminhamento que faz referência ao serviço de back-end do balanceador de carga de rede de passagem externa global. Os pacotes de verificação de integridade são enviados aos dois endereços IP.
  • Porta de destino que corresponde ao número da porta especificado na verificação de integridade.

Os aplicativos executados nas VMs de back-end precisam se vincular e detectar as combinações relevantes de endereço IP e porta. Para isso, configure o aplicativo para vincular e escutar nas portas relevantes de qualquer um dos endereços IP da VM (0.0.0.0 ou ::/0). Para mais informações, consulte Destino dos pacotes de sondagem.

Regras de firewall

Como um balanceador de carga de rede de passagem externa global não é um proxy, ele transmite o tráfego para VMs de back-end sem modificar os endereços IP de origem e destino, o protocolo e as portas, se o protocolo tiver informações de porta. Portanto, crie regras de firewall de permissão de entrada ou uma política de firewall hierárquica de permissão de entrada para controlar o acesso às VMs de back-end do balanceador de carga, especificamente para permitir verificações de integridade e o tráfego com balanceamento de carga. Caso contrário, a regra de firewall de entrada de negação implícita bloqueia pacotes de entrada de todos os endereços IP de origem externos.

As regras de encaminhamento e de entrada permitem que as regras de firewall ou as políticas hierárquicas de firewall funcionem juntas da seguinte maneira: uma regra de encaminhamento especifica o endereço IP de destino, o protocolo e, se definido, os requisitos de porta que um pacote precisa atender para ser encaminhado para uma VM de back-end. As regras de firewall de permissão de entrada controlam se o firewall entrega os pacotes encaminhados à VM ou os descarta. A rede VPC padrão Cloud de Confiance inclui um conjunto limitado de regras de firewall de permissão de entrada pré-preenchidas.

  • Para aceitar o tráfego de qualquer endereço IP na Internet, crie uma regra de firewall de permissão de entrada com o intervalo de origem 0.0.0.0/0 ou ::/0. Para permitir apenas o tráfego de determinados intervalos de endereços IP, use intervalos de origem mais restritivos.

  • Como prática recomendada de segurança, a entrada permitida pelas regras de firewall só permite os protocolos e portas IP necessários. Restringir a configuração do protocolo (e, se possível, porta) é especialmente importante ao usar regras de encaminhamento cujo protocolo está definido como L3_DEFAULT. As regras de encaminhamento L3_DEFAULT encaminham pacotes para todos os protocolos IP compatíveis (em todas as portas se o protocolo e o pacote tiverem informações de porta).

  • Os balanceadores de carga de rede de passagem externa globais usam verificações de integridade Cloud de Confiance . Portanto, sempre permita o tráfego dos intervalos de endereços IP da verificação de integridade. É possível configurar essas regras de firewall de permissão de entrada específicas para o protocolo e as portas da verificação de integridade do balanceador de carga.

Distribuição de tráfego

Para um balanceador de carga de rede de passagem externa global, a distribuição de tráfego é uma função de diferentes atributos, como afinidade da sessão, política de rastreamento de conexão, modo de balanceamento de carga e capacidades de back-end, back-ends preferenciais e política de localidade de balanceamento de carga. Todos eles se unem como parte de um fluxo de trabalho coordenado para otimizar a configuração de balanceamento de carga para desempenho confiável e utilização eficiente de recursos.

Arquitetura da VPC compartilhada

Observe os seguintes pontos em relação a uma arquitetura de VPC compartilhada para um balanceador de carga de rede de passagem externa global:

  • Exceto pelos recursos de endereço IP, todos os outros recursos associados a um balanceador de carga de rede de passagem externa global (regra de encaminhamento, serviço de back-end, verificação de integridade e grupos de back-end [grupos de instâncias ou NEGs]) precisam estar no mesmo projeto, que pode ser um projeto host ou de serviço.

  • Se os recursos de balanceamento de carga estiverem no projeto host, os recursos de endereço IP também precisarão estar.

  • Se os recursos de balanceamento de carga estiverem em um projeto de serviço, os recursos de endereço IP poderão estar no mesmo projeto de serviço ou no projeto host.

A tabela a seguir descreve onde os diferentes componentes de um balanceador de carga de rede de passagem externa global existem em uma arquitetura de VPC compartilhada.

Localização dos recursos de balanceamento de carga1 Localização obrigatória dos recursos de endereço IP
Projeto host Projeto host
Projeto de serviço Projeto de serviço ou projeto host

1 Inclui a regra de encaminhamento, o serviço de back-end, a verificação de integridade e os back-ends (grupos de instâncias ou NEGs).

Limitações

  • Os back-ends só podem ser implantados nas seguintes regiões Cloud de Confiance :

    • América do Norte: us-west1, us-west4, us-east4, us-east5
    • Europa: europe-west2, europe-west3
    • Ásia: asia-southeast1, asia-south1, asia-northeast1
    • América do Sul: southamerica-east1
    • África: africa-south1
    • Austrália: australia-southeast1
  • O balanceador de carga de rede de passagem externa global só pode ser configurado no nível Premium.

  • Não é possível configurar um balanceador de carga de rede de passagem externa global usando o console do Cloud de Confiance . Use a CLI do Google Cloud ou a API REST.

  • Não é possível usar back-ends de grupo gerenciado de instâncias regional. É possível usar grupos gerenciados de instâncias zonais, grupos não gerenciados de instâncias zonais e NEGs zonais com endpoints GCE_VM_IP.

  • As restrições e orientações atuais para usar grupos de instâncias em serviços de back-end também se aplicam ao balanceador de carga de rede de passagem externa global. Um grupo de instâncias compartilhado entre um balanceador de carga de rede de passagem externa global e balanceadores de carga de rede de passagem regionais (balanceador de carga de rede de passagem externa regional ou balanceador de carga de rede de passagem interna) precisa ser configurado para usar o modo de balanceamento RATE no balanceador de carga de rede de passagem externa global. Os balanceadores de carga de rede de passagem regionais sempre usam o modo de balanceamento CONNECTION.

  • É possível compartilhar o mesmo endereço IP externo global entre várias regras de encaminhamento de balanceador de carga de rede de passagem externa global, desde que os protocolos e portas configurados não estejam em conflito. No entanto, não é possível compartilhar o mesmo endereço IP externo global entre um balanceador de carga de rede de passagem externa global e um balanceador de carga de aplicativo externo global ou um balanceador de carga de rede de proxy externo global.

  • Um balanceador de carga de rede de passagem externa global aceita o uso de seus próprios endereços IP (BYOIP) apenas para endereços IPv4. O suporte é limitado à API BYOIP v1. O provisionamento de novos intervalos IPv4 pode levar até quatro semanas, e não há APIs que permitam controlar o status de anúncio do BGP. Para mais detalhes, consulte Usar suas próprias configurações de IP.

  • Não é possível criar mais de 10 regras de encaminhamento em um projeto nem adicionar mais de 25 grupos de back-end a um serviço de back-end. Para ver mais detalhes, consulte Cotas e limites.

  • Um serviço de back-end global do balanceador de carga de rede de passagem externa pode ter no máximo um grupo de back-end PREFERRED. Não é possível ter um grupo de back-end PREFERRED e um não PREFERRED na mesma região Cloud de Confiance .

  • Não é possível implantar um balanceador de carga de rede de passagem externa global no GKE.

  • Não é possível usar o Google Cloud Armor para oferecer proteção avançada contra DDoS de rede para balanceadores de carga de rede de passagem externa globais. Para mais detalhes, consulte Configurar proteção avançada contra DDoS de rede.

  • A política de localidade de balanceamento de carga, configurada no serviço de back-end do balanceador de carga, não é compatível com a opção WEIGHTED_MAGLEV. Para balanceadores de carga de rede de passagem externa global, somente MAGLEV é compatível.

  • O modo de rastreamento de conexão PER_SESSION está indisponível. Somente o modo de rastreamento de conexão PER_CONNECTION é compatível.

  • Apenas os seguintes modos de balanceamento de carga são compatíveis: RATE e UTILIZATION. A taxa é definida não em termos de solicitações por segundo, mas de pacotes recebidos por segundo. Os grupos de instâncias aceitam RATE e UTILIZATION, enquanto as NEGs aceitam apenas RATE.

  • As regras de encaminhamento de direcionamento (direcionamento de tráfego baseado em IP de origem) não são compatíveis.

  • Todos os back-ends anexados a um serviço de back-end precisam ser do mesmo tipo. Um serviço de back-end não pode ter uma combinação de grupos de instâncias e NEGs zonais.

  • Não é possível consultar ou filtrar métricas de monitoramento usando as regras de encaminhamento globais principais. Elas precisam ser consultadas usando as regras de encaminhamento secundárias geradas por Cloud de Confiance.

Preços

Para informações sobre preços, consulte Preços de rede: Cloud Load Balancing.

A seguir