Sub-redes só de proxy para balanceadores de carga baseados no Envoy

Esta página descreve como trabalhar com sub-redes apenas de proxy usadas por equilibradores de carga baseados no Envoy. Uma sub-rede só de proxy fornece um conjunto de endereços IP reservados exclusivamente para proxies Envoy usados por Google Cloud balanceadores de carga. Não pode ser usado para outros fins.

Os proxies terminam as ligações recebidas e, em seguida, avaliam para onde cada pedido deve ir com base no mapa de URLs, na afinidade de sessão do serviço de back-end, no modo de equilíbrio de cada grupo de instâncias de back-end ou NEG e noutros fatores.

  1. Um cliente estabelece uma ligação ao endereço IP e à porta da regra de encaminhamento do balanceador de carga.

  2. Cada proxy escuta o endereço IP e a porta especificados pela regra de encaminhamento do balanceador de carga correspondente. Um dos proxies recebe e termina a ligação de rede do cliente.

  3. O proxy estabelece uma ligação à VM ou ao ponto final de back-end adequado num NEG, conforme determinado pelo mapa de URLs e pelos serviços de back-end do equilibrador de carga.

A cada um dos proxies do balanceador de carga é atribuído um endereço IP interno. Os pacotes enviados de um proxy para uma VM ou um ponto final de back-end têm um endereço IP de origem da sub-rede apenas de proxy.

Não é possível usar a sub-rede apenas de proxy para outros fins. O endereço IP da regra de encaminhamento do balanceador de carga não provém da sub-rede só de proxy. Além disso, os endereços IP das VMs e dos pontos finais de back-end não provêm da sub-rede apenas de proxy.

Balanceadores de carga e produtos suportados

Os produtos de balanceamento de carga do Cloud e proxy Web seguro baseados no Envoy requerem sub-redes apenas de proxy:

Como as sub-redes só de proxy se encaixam na arquitetura do balanceador de carga

O diagrama seguinte mostra os Google Cloud recursos necessários para um Application Load Balancer interno regional.

Componentes numerados do balanceador de carga de aplicações interno regional.
Componentes numerados do balanceador de carga da aplicação interno regional (clique para ampliar).

Conforme mostrado nos diagramas, uma implementação de equilibrador de carga baseada no Envoy requer, pelo menos, duas sub-redes:

  • As VMs de back-end e os pontos finais de back-end do balanceador de carga usam uma única sub-rede cujo intervalo de endereços IP principal é 10.1.2.0/24 (neste exemplo). Esta sub-rede não é a sub-rede só de proxy. Pode usar várias sub-redes para as VMs e os pontos finais de back-end se as sub-redes estiverem na mesma região que o balanceador de carga. Para balanceadores de carga de aplicações internos, o endereço IP do balanceador de carga associado à regra de encaminhamento também pode estar nesta sub-rede (mas não tem de estar).
  • A sub-rede só de proxy é 10.129.0.0/23 (neste exemplo).

Planear o tamanho da sua sub-rede só de proxy

Uma sub-rede só de proxy tem de fornecer 64 ou mais endereços IP. Isto corresponde a um comprimento de prefixo de /26 ou inferior. Recomendamos que comece com uma sub-rede apenas de proxy com um prefixo /23 (512 endereços apenas de proxy) e altere o tamanho à medida que as suas necessidades de tráfego mudam.

Os proxies são atribuídos ao nível da VPC e não ao nível do equilibrador de carga. Tem de criar uma sub-rede apenas de proxy em cada região de uma rede VPC na qual usa equilibradores de carga baseados no Envoy. Se implementar vários balanceadores de carga na mesma região e na mesma rede VPC, partilham a mesma sub-rede só de proxy para o balanceamento de carga. Os equilibradores de carga baseados no Envoy dimensionam automaticamente o número de proxies disponíveis para processar o seu tráfego com base nas suas necessidades de tráfego.

O número de proxies atribuídos ao seu equilibrador de carga é calculado com base na capacidade medida necessária para processar o seu tráfego durante um período de 10 minutos. Durante este período, consideramos o maior dos seguintes valores:

  • O número de proxies necessários para satisfazer as necessidades de largura de banda do seu tráfego. Cada instância de proxy pode processar até 18 MB por segundo. Monitorizamos a largura de banda total necessária e dividimos esse total pela largura de banda que uma instância de proxy pode suportar.

  • O número de proxies necessários para processar ligações e pedidos. Contamos o total de cada um dos seguintes recursos e dividimos cada valor pelo que uma instância de proxy pode processar:

    • 600 (HTTP) ou 150 (HTTPS) novas ligações por segundo
    • 3000 ligações ativas
    • 1400 pedidos por segundo

      Uma instância de proxy pode processar 1400 pedidos por segundo se o Cloud Logging estiver desativado. Se ativar o registo, a instância do proxy pode processar menos pedidos por segundo. Por exemplo: o registo de 100% dos pedidos diminui a capacidade de processamento de pedidos do proxy para 700 pedidos por segundo. Pode configurar o registo para fazer uma amostragem de uma percentagem menor de tráfego. Isto permite-lhe satisfazer as suas necessidades de observabilidade enquanto controla o seu custo.

Cada proxy adicional incorre numa cobrança horária adicional. Para saber como são faturadas as sub-redes apenas de proxy, consulte a secção Cobrança de instâncias de proxy na documentação de preços do Cloud Load Balancing.

Balanceadores de carga baseados no Envoy e proxies do Envoy Secure Web Proxy

Quando configurar um equilibrador de carga baseado no Envoy e um proxy Web seguro na mesma VPC, é importante ter em atenção o seguinte:

  • Tanto o equilibrador de carga baseado no Envoy como o proxy Web seguro usam endereços IP de uma sub-rede apenas de proxy.

  • Para dar resposta aos requisitos de endereço IP para ambos os serviços, considere usar uma sub-rede apenas de proxy maior, como uma sub-rede /22. Isto ajuda a garantir espaço de endereço suficiente para ambas as configurações.

  • Recomendamos que monitorize a capacidade do proxy para acompanhar o consumo de endereços IP. Isto ajuda a evitar o esgotamento da sub-rede apenas de proxy, o que pode interromper os serviços.

Crie uma sub-rede só de proxy

Tem de criar sub-redes apenas de proxy para equilibradores de carga baseados no Envoy, independentemente de a sua rede estar no modo automático ou personalizado. A criação de uma sub-rede só de proxy é essencialmente o mesmo procedimento que criar qualquer sub-rede, exceto com a adição de algumas flags.

Para uma sub-rede só de proxy, o --purpose tem de ser definido como REGIONAL_MANAGED_PROXY ou GLOBAL_MANAGED_PROXY, consoante o seu balanceador de carga.

Não pode reutilizar uma sub-rede existente como sub-rede apenas de proxy. Tem de criar uma nova sub-rede em cada região que tenha um equilibrador de carga baseado no Envoy. Isto deve-se, em parte, ao facto de o comando subnets update não permitir a modificação do campo --purpose de uma sub-rede.

Tem de criar uma sub-rede só de proxy para utilização pelos proxies dos balanceadores de carga antes de criar regras de encaminhamento para os balanceadores de carga regionais. Se tentar configurar um equilibrador de carga sem criar primeiro uma sub-rede apenas de proxy para a região, o processo de criação do equilibrador de carga falha.

Consola

  1. Na Google Cloud consola, aceda à página Redes VPC.
    Aceda à página Redes de VPC
  2. Clique no nome da rede de VPC partilhada à qual quer adicionar uma sub-rede apenas de proxy.
  3. Clique em Adicionar sub-rede.
  4. Introduza um Nome.
  5. Selecione uma região.
  6. Defina o objetivo como uma das seguintes opções:
    • Para balanceadores de carga regionais: proxy gerido regional
    • Para balanceadores de carga entre regiões: proxy gerido entre regiões
    • Introduza um intervalo de endereços IP.
    • Clique em Adicionar.

gcloud

O comando gcloud compute networks subnets create cria uma sub-rede apenas de proxy.

gcloud compute networks subnets create SUBNET_NAME \
    --purpose=SUBNET_PURPOSE \
    --role=ACTIVE \
    --region=REGION \
    --network=VPC_NETWORK_NAME \
    --range=CIDR_RANGE

Os campos são definidos da seguinte forma:

  • SUBNET_NAME é o nome da sub-rede só de proxy.
  • SUBNET_PURPOSE é o objetivo da sub-rede. Defina esta opção comoREGIONAL_MANAGED_PROXY ou GLOBAL_MANAGED_PROXY, consoante o seu balanceador de carga.
  • REGION é a região da sub-rede só de proxy.
  • VPC_NETWORK_NAME é o nome da rede VPC que contém a sub-rede.
  • CIDR_RANGE é o intervalo de endereços IP principal da sub-rede. Tem de usar uma máscara de sub-rede com um comprimento máximo de 26 para que estejam disponíveis, pelo menos, 64 endereços IP para proxies na região. O comprimento recomendado da máscara de sub-rede é /23.

Para ver um exemplo de configuração completo, consulte o artigo Configurar a sub-rede apenas de proxy.

Tem de configurar uma regra de firewall para que os seus back-ends aceitem ligações da sub-rede só de proxy. Para ver um exemplo de configuração completo, incluindo a configuração de regras de firewall, consulte o seguinte:

Disponibilidade do proxy

Por vezes, Google Cloud as regiões não têm capacidade de proxy suficiente para um novo balanceador de carga. Se isto acontecer, a Google Cloud consola apresenta uma mensagem de aviso de disponibilidade de proxy quando estiver a criar o equilibrador de carga. Para resolver este problema, pode fazer uma das seguintes ações:

  • Selecione uma região diferente para o balanceador de carga. Esta pode ser uma opção prática se tiver back-ends noutra região.
  • Selecione uma rede de VPC que já tenha uma sub-rede apenas de proxy atribuída.
  • Aguarde pela resolução do problema de capacidade.

Altere o tamanho ou o intervalo de endereços de uma sub-rede apenas de proxy

Quando a quantidade de tráfego processado pelo balanceador de carga aumenta, pode ter de aumentar o tamanho da sub-rede só de proxy para permitir que um número maior de proxies Envoy alimente os balanceadores de carga.

Não pode expandir o intervalo de endereços IPv4 principal de uma sub-rede apenas de proxy da mesma forma que expandiria o intervalo de endereços IPv4 principal de uma sub-rede normal (com o comando expand-ip-range). Em alternativa, tem de substituir a sub-rede apenas de proxy por uma nova. O processo de substituição funciona da seguinte forma:

  • Crie uma nova sub-rede só de proxy na mesma região e rede VPC que a sub-rede só de proxy existente (original). Quando criar esta nova sub-rede apenas de proxy, defina o respetivo role como BACKUP. (Para cada finalidade de sub-rede só de proxy, Google Cloud permite que exista uma sub-rede só de proxy ACTIVE e uma BACKUP numa determinada região e rede VPC.)

  • Ajuste as regras de firewall de permissão de entrada, aplicáveis aos seus back-ends, para que permitam ligações dos intervalos de endereços IPv4 principais das sub-redes só de proxy originais e novas.

  • Defina a função da nova sub-rede só de proxy como ACTIVE e especifique um período de esgotamento para permitir que as ligações entre os seus back-ends e os proxies do Envoy na sub-rede só de proxy original terminem. (Google Cloud define automaticamente a função da sub-rede só de proxy original como BACKUP quando define a função da nova sub-rede só de proxy como ACTIVE.)

  • Monitorize o estado da sub-rede original apenas de proxy (consulte o separador gcloud para ver mais informações sobre a monitorização). Quando o estado for READY, a sub-rede deixa de ser usada, desde que a respetiva função seja BACKUP. Neste ponto, pode ajustar as regras de firewall de permissão de entrada para permitir ligações apenas do intervalo de endereços IPv4 principal da nova sub-rede só de proxy e pode eliminar a sub-rede só de proxy original.

Consola

  1. Crie a nova sub-rede apenas de proxy na mesma região e rede VPC, especificando um intervalo de endereços IPv4 principal que satisfaça as suas necessidades. Defina a função da nova sub-rede só de proxy como cópia de segurança.

    1. Na Google Cloud consola, aceda à página Redes VPC.
      Aceda à página Redes de VPC
    2. Clique no nome da rede de VPC partilhada à qual quer adicionar uma sub-rede apenas de proxy.
    3. Clique em Adicionar sub-rede.
    4. Introduza um Nome.
    5. Selecione uma região.
    6. Defina o objetivo como uma das seguintes opções:
      • Para balanceadores de carga regionais: proxy gerido regional
      • Para balanceadores de carga entre regiões: proxy gerido entre regiões
      • Para a Função, selecione Cópia de segurança.
      • Introduza um intervalo de endereços IP.
      • Clique em Adicionar.
  2. Atualize as regras de firewall de permissão de entrada que se aplicam às suas VMs ou endpoints de back-end para que incluam os intervalos de endereços IPv4 principais de ambas as sub-redes só de proxy originais e novas.