Nesta página, descrevemos como trabalhar com sub-redes apenas de proxy usadas por balanceadores de carga baseados em Envoy. Uma sub-rede somente proxy fornece um pool de endereços IP reservados exclusivamente para proxies Envoy usados por balanceadores de carga Google Cloud . Não é possível usá-la para outras finalidades.
Os proxies encerram as conexões de entrada e avaliam para onde cada solicitação precisa ir com base no mapa de URL, na afinidade da sessão do serviço de back-end, no modo de balanceamento de cada grupo de instâncias de back-end ou NEG e em outros fatores.
Um cliente estabelece uma conexão com o endereço IP e a porta da regra de encaminhamento do balanceador de carga.
Cada proxy detecta o endereço IP e a porta especificados pela regra de encaminhamento do balanceador de carga correspondente. Um dos proxies recebe e encerra a conexão de rede do cliente.
O proxy estabelece uma conexão com o endpoint ou a VM de back-end adequados em um NEG, conforme determinado pelos serviços de back-end e o mapa de URL do balanceador de carga.
Cada proxy do balanceador de carga recebe um endereço IP interno. Cada pacote enviado de um proxy para um endpoint ou VM de back-end tem um endereço IP de origem da sub-rede somente proxy.
A sub-rede somente proxy não pode ser usada para nenhum outro propósito. O endereço IP da regra de encaminhamento do balanceador de carga não vem da sub-rede somente proxy. Além disso, os endereços IP dos endpoints e VMs de back-end não vêm da sub-rede somente proxy.
Balanceadores de carga e produtos compatíveis
Os produtos do Cloud Load Balancing e Secure Web Proxy baseados no Envoy exigem sub-redes somente proxy:
Sub-rede somente proxy com a finalidade
GLOBAL_MANAGED_PROXY
: em uma determinada rede VPC e região, apenas uma sub-rede somente proxy com a finalidadeGLOBAL_MANAGED_PROXY
pode estar ativa a qualquer momento. A sub-rede somente proxy ativa alimenta todos os seguintes produtos:
Sub-rede somente proxy com a finalidade
REGIONAL_MANAGED_PROXY
: em uma determinada rede VPC e região, apenas uma sub-rede somente proxy com a finalidadeREGIONAL_MANAGED_PROXY
pode estar ativa a qualquer momento. A sub-rede somente proxy ativa alimenta todos os seguintes produtos:
Como as sub-redes somente proxy se ajustam à arquitetura do balanceador de carga
O diagrama a seguir mostra os recursos do Google Cloud necessários para um balanceador de carga de aplicativo interno regional.
Conforme mostrado nos diagramas, uma implantação de balanceador de carga baseada em Envoy requer pelo menos duas sub-redes:
- As VMs e os endpoints de back-end do balanceador de carga usam uma única sub-rede,
que tem o intervalo de endereços IP principal "
10.1.2.0/24
" (neste exemplo). Essa sub-rede não é a sub-rede somente proxy. Se as sub-redes estiverem na mesma região do balanceador de carga, é possível usar várias sub-redes para os endpoints e VMs de back-end. Para balanceadores de carga de aplicativo internos, o endereço IP do balanceador de carga associado à regra de encaminhamento também pode estar nessa sub-rede, mas não precisa ser. - A sub-rede somente proxy é "
10.129.0.0/23
" (neste exemplo).
Como planejar o tamanho da sub-rede somente proxy
Uma sub-rede somente proxy precisa fornecer 64 ou mais endereços IP. Isso corresponde a um um prefixo de tamanho /26
ou mais curto. Recomendamos que você comece com uma sub-rede somente proxy
com um prefixo /23
(512 endereços somente proxy) e mude o
tamanho conforme as necessidades de tráfego mudarem.
Os proxies são alocados no nível da VPC, não no nível do balanceador de carga. Crie uma sub-rede somente proxy em cada região de uma rede virtual (VPC) em que você usa balanceadores de carga baseados em Envoy. Se você implantar vários balanceadores de carga que estão na mesma região e na mesma rede VPC, eles compartilharão a mesma sub-rede somente proxy para balanceamento de carga. Os balanceadores de carga baseados em Envoy fazem o escalonamento automático do número de proxies disponíveis para lidar com seu tráfego com base nas necessidades específicas.
O número de proxies alocados para o balanceador de carga é calculado com base na capacidade medida necessária para lidar com seu tráfego em um período de 10 minutos. Durante esse tempo, analisamos o maior valor de:
número de proxies necessários para atender às necessidades de largura de banda do seu tráfego. Cada instância de proxy pode processar até 18 MB por segundo. Monitoramos 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 conexões e solicitações. 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) conexões novas por segundo
- 3.000 conexões ativas
1.400 solicitações por segundo
Uma instância de proxy pode processar 1.400 solicitações por segundo se o Cloud Logging estiver desativado. Se você ativar o Cloud Logging, sua instância de proxy poderá processar menos solicitações por segundo. Por exemplo: gerar registros de 100% das solicitações diminui a capacidade de processamento de solicitações do proxy para 700 solicitações por segundo. Você pode configurar o Cloud Logging para analisar uma porcentagem menor de tráfego. Isso permite que você atenda às suas necessidades de observabilidade enquanto controla seu custo.
Cada proxy adicional gera uma cobrança por hora adicional. Para saber como as sub-redes somente proxy são cobradas, consulte a seção Taxa de instância de proxy na documentação de preços do Cloud Load Balancing.
Balanceadores de carga baseados no Envoy e proxies do Envoy do Secure Web Proxy
Ao configurar um balanceador de carga baseado no Envoy e o Secure Web Proxy na mesma VPC, é importante observar o seguinte:
O balanceador de carga baseado no Envoy e o Secure Web Proxy usam endereços IP da mesma sub-rede somente proxy.
Para atender aos requisitos de endereço IP dos dois serviços, considere usar uma sub-rede somente proxy maior, como uma sub-rede
/22
. Isso ajuda a garantir espaço de endereço suficiente para as duas configurações.Recomendamos que você monitore a capacidade do proxy para acompanhar o consumo de endereços IP. Isso ajuda a evitar o esgotamento da sub-rede somente de proxy, o que pode interromper os serviços.
Criar uma sub-rede somente proxy
É preciso criar sub-redes somente de proxy para balanceadores de carga baseados em Envoy, independente de sua rede estar no modo automático ou ser personalizada. Criar uma sub-rede apenas de proxy é basicamente o mesmo procedimento de criar qualquer sub-rede, exceto com a adição de algumas sinalizações.
Para a sub-rede somente proxy, o --purpose
precisa ser definido
como REGIONAL_MANAGED_PROXY
ou GLOBAL_MANAGED_PROXY
, dependendo do
balanceador de carga.
Não é possível reutilizar uma sub-rede existente como a sub-rede apenas de proxy. Você
precisará criar uma nova sub-rede em cada região que tiver um balanceador de carga baseado em Envoy.
Isso é
necessário em parte porque o comando subnets update
não permite
modificar o campo --purpose
da sub-rede.
Antes de gerar regras de encaminhamento para os balanceadores de carga regionais, crie uma sub-rede apenas de proxy para ser usada pelos proxies dos balanceadores. Se você tentar configurar um balanceador de carga sem antes criar uma sub-rede somente proxy na região, o processo de criação do balanceador de carga apresentará falha.
Console
- No console do Google Cloud , acesse a página Redes VPC.
Acessar a página "Redes VPC" - Clique no nome da rede VPC compartilhada à qual você quer adicionar uma sub-rede somente proxy.
- Clique em Add subnet.
- Digite um Nome.
- Selecionar uma região.
- Defina a Finalidade como uma das seguintes opções:
- Para balanceadores de carga regionais: Proxy gerenciado regional
- Para balanceadores de carga entre regiões: proxy gerenciado entre regiões
- Digite um Intervalo de endereço IP.
- Clique em Adicionar.
gcloud
O comando gcloud compute networks subnets create cria uma sub-rede somente 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 maneira:
- SUBNET_NAME é o nome da sub-rede somente proxy;
- SUBNET_PURPOSE é a finalidade da sub-rede. Defina como
ou
REGIONAL_MANAGED_PROXY
ouGLOBAL_MANAGED_PROXY
, dependendo do balanceador de carga - REGION é a região da sub-rede somente 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; Use uma
máscara de sub-rede de até
26
de comprimento para que ao menos 64 endereços IP estejam disponíveis para os proxies na região. O comprimento recomendado da máscara de sub-rede é/23
.
Para um exemplo completo de configuração, consulte Como configurar a sub-rede apenas de proxy.
Configure uma regra de firewall para que seus back-ends aceitem conexões da sub-rede somente proxy. Para um exemplo completo de configuração, incluindo a configuração da regra de firewall, consulte:
- Configurar um balanceador de carga de aplicativo externo regional
- Configurar um balanceador de carga de aplicativo interno regional
- Configurar um balanceador de carga de rede de proxy interno regional
- Configurar um balanceador de carga de rede de proxy externo regional
- Configurar um balanceador de carga de aplicativo interno entre regiões
- Configurar um balanceador de carga de rede de proxy interno entre regiões
Disponibilidade de proxy
Às vezes, as regiões Google Cloud não têm capacidade de proxy suficiente para um novo balanceador de carga. Se isso acontecer, o console Google Cloud fornecerá uma mensagem de aviso sobre a disponibilidade de proxy quando você criar o balanceador de carga. Para resolver esse problema, siga um destes procedimentos:
- Selecione uma região diferente para seu balanceador de carga. Essa opção pode ser prática se você tiver back-ends em outra região.
- Selecione uma rede VPC que já tenha uma sub-rede somente proxy alocada.
- Aguarde o problema de capacidade ser resolvido.
Como alterar o tamanho ou o intervalo de endereços de uma sub-rede somente proxy
Quando a quantidade de tráfego processado pelo balanceador de carga aumenta, talvez seja necessário aumentar o tamanho da sub-rede somente proxy para permitir que um número maior de proxies do Envoy alimente os balanceadores de carga.
Não é possível expandir o intervalo de endereços IPv4 principal de uma sub-rede somente de proxy da mesma maneira que você faria com uma sub-rede normal (com o comando expand-ip-range). Em vez disso, substitua a sub-rede somente proxy por uma nova. O processo de substituição funciona assim:
Crie uma sub-rede somente proxy na mesma região e rede VPC que a sub-rede somente proxy atual (original). Ao criar essa nova sub-rede somente proxy, defina o
role
dela comoBACKUP
. Para cada finalidade de sub-rede somente proxy, Google Cloud permite que uma sub-rede somente proxyACTIVE
e umaBACKUP
existam em uma 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 conexões dos intervalos de endereços IPv4 principais das sub-redes somente proxy original e nova.
Defina a função da nova sub-rede somente proxy como
ACTIVE
e especifique um período de redução para permitir que as conexões entre os back-ends e os proxies do Envoy na sub-rede somente proxy original sejam encerradas. OGoogle Cloud define automaticamente a função da sub-rede somente proxy original comoBACKUP
quando você define a função da nova sub-rede somente proxy comoACTIVE
.Monitore o status da sub-rede somente proxy original. Consulte a guia "gcloud" para mais informações sobre o monitoramento. Quando o status for
READY
, a sub-rede não será mais usada, desde que a função sejaBACKUP
. Neste ponto, você pode ajustar as regras de firewall de permissão de entrada para permitir conexões apenas do intervalo de endereços IPv4 principal da nova sub-rede somente proxy e excluir a sub-rede somente proxy original.
Console
Crie a nova sub-rede somente proxy na mesma região e rede VPC, especificando um intervalo de endereços IPv4 principal que atenda às suas necessidades. Defina a função da nova sub-rede somente proxy como backup.
- No console do Google Cloud , acesse a página Redes VPC.
Acessar a página "Redes VPC" - Clique no nome da rede VPC compartilhada à qual você quer adicionar uma sub-rede somente proxy.
- Clique em Add subnet.
- Digite um Nome.
- Selecionar uma região.
- Defina a Finalidade como uma das seguintes opções:
- Para balanceadores de carga regionais: Proxy gerenciado regional
- Para balanceadores de carga entre regiões: proxy gerenciado entre regiões
- Em Papel, selecione Backup.
- Digite um Intervalo de endereço IP.
- Clique em Adicionar.
- No console do Google Cloud , acesse a página Redes VPC.
Atualize as regras de firewall de permissão de entrada que se aplicam aos endpoints ou VMs de back-end para que incluam os intervalos de endereços IPv4 principais das duas sub-redes somente proxy, a original e a nova.
Defina a função da nova sub-rede somente proxy como ativa e especifique um tempo limite de diminuição para permitir que as conexões entre os back-ends e a sub-rede somente proxy original sejam encerradas.O Google Cloud define automaticamente a função da sub-rede somente proxy original como backup quando você define a função da nova sub-rede somente proxy como ativa.
- No console do Google Cloud , acesse a página Redes VPC.
Acessar a página "Redes VPC" - Clique no nome da rede VPC compartilhada que você quer modificar.
- Em Sub-redes somente proxy reservadas para balanceamento de carga, localize a sub-rede de backup criada na etapa anterior.
- Clique em Ativar.
- Especifique um tempo limite de drenagem opcional.
- Clique em Ativar a sub-rede.
- No console do Google Cloud , acesse a página Redes VPC.
Após o tempo limite de diminuição de conexão ou assim que você tiver certeza de que as conexões com os endpoints ou VMs de back-end não estão vindo de proxies na sub-rede somente proxy original, siga estas etapas:
- Atualize as regras de firewall de permissão de entrada que se aplicam aos endpoints ou VMs de back-end para que incluam o intervalo de endereços IPv4 principal apenas da nova sub-rede somente proxy.
- Exclua a sub-rede somente proxy original.
gcloud
As etapas a seguir mostram como trocar uma sub-rede somente proxy por uma nova. Em todas as etapas a seguir:
ORIGINAL_PROXY_ONLY_SUBNET_NAME
: o nome da sub-rede somente proxy atualORIGINAL_PROXY_ONLY_SUBNET_RANGE
: o intervalo de endereços IPv4 principal da sub-rede somente proxy atual no formato CIDR. Esse é um intervalo de endereços que você escolheu anteriormente.NEW_PROXY_ONLY_SUBNET_NAME
: o nome da nova sub-rede somente proxy.NEW_PROXY_ONLY_SUBNET_RANGE
: o intervalo de endereços IPv4 principal da nova sub-rede somente proxy no formato CIDR. Escolha um intervalo de endereços IPv4 para atender às suas necessidades.PROXY_ONLY_SUBNET_FIREWALL_RULE
: o nome de uma regra de firewall de permissão de entrada da VPC que permite conexões de sub-redes somente proxy.REGION
: a região que contém as sub-redes somente proxy original e nova.VPC_NETWORK_NAME
: o nome da rede VPC que contém as sub-redes somente proxy original e nova
Crie uma sub-rede somente proxy na mesma região e rede VPC usando o comando gcloud compute networks subnets create com a flag
--role=BACKUP
.gcloud compute networks subnets create NEW_PROXY_ONLY_SUBNET_NAME \ --purpose=SUBNET_PURPOSE \ --role=BACKUP \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=NEW_PROXY_ONLY_SUBNET_RANGE
Substitua:
SUBNET_PURPOSE
:REGIONAL_MANAGED_PROXY
ouGLOBAL_MANAGED_PROXY
, dependendo do balanceador de carga que precisa usar a sub-rede somente proxy. Para mais informações, consulte Balanceadores de carga compatíveis.
Atualize as regras de firewall de permissão de entrada que se aplicam aos endpoints ou VMs de back-end para que incluam os intervalos de endereços IPv4 principais das duas sub-redes somente proxy, a original e a nova.
gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges=ORIGINAL_PROXY_ONLY_SUBNET_RANGE,NEW_PROXY_ONLY_SUBNET_RANGE
Defina a função da nova sub-rede somente proxy como
ACTIVE
e especifique um tempo limite de redução (--drain-timeout
) para permitir que as conexões entre seus backends e a sub-rede somente proxy original sejam encerradas. OGoogle Cloud define automaticamente a função da sub-rede somente proxy original comoBACKUP
quando você define a função da nova sub-rede somente proxy comoACTIVE
.Para interromper imediatamente as conexões entre seus back-ends e os proxies do Envoy na sub-rede somente proxy original, defina
--drain-timeout
como0s
.gcloud compute networks subnets update NEW_PROXY_ONLY_SUBNET_NAME \ --region=REGION \ --role=ACTIVE \ --drain-timeout=CONNECTION_DRAINING_TIMEOUT
Substitua:
CONNECTION_DRAINING_TIMEOUT
: o tempo em segundos para encerrar as conexões atuais entre os back-ends e os proxies Envoy na sub-rede somente proxy original.
Monitore o status da sub-rede somente proxy original usando o comando gcloud compute networks subnets describe.
gcloud compute networks subnets describe ORIGINAL_PROXY_ONLY_SUBNET_NAME \ --region=REGION
Aguarde a conclusão da redução. Durante a redução, o status da sub-rede original somente proxy é
DRAINING
. Talvez seja necessário executar o comandodescribe
algumas vezes antes que o status da sub-rede original somente de proxy mude paraREADY
.Depois que a sub-rede somente proxy original for
READY
com a funçãoBACKUP
, ela não será mais usada. Atualize as regras de firewall de permissão de entrada que se aplicam aos endpoints ou VMs de back-end para que incluam o intervalo de endereços IPv4 principal apenas da nova sub-rede somente proxy.gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges=NEW_PROXY_ONLY_SUBNET_RANGE
Exclua a sub-rede somente proxy original.
gcloud compute networks subnets delete ORIGINAL_PROXY_ONLY_SUBNET_NAME \ --region=REGION
Migrar a finalidade de uma sub-rede somente proxy
Se você já tiver criado uma sub-rede somente proxy com
--purpose=INTERNAL_HTTPS_LOAD_BALANCER
, precisará migrar a finalidade da sub-rede
para REGIONAL_MANAGED_PROXY
antes de criar outros balanceadores de carga
baseados no Envoy no mesmo região da rede VPC.
Console
Se você estiver usando o console Google Cloud para criar o balanceador de carga, será
necessário migrar a finalidade de uma sub-rede somente proxy
criada anteriormente de --purpose=INTERNAL_HTTPS_LOAD_BALANCER
para
REGIONAL_MANAGED_PROXY
ao criar o balanceador de carga.
gcloud
Para alterar a finalidade de uma sub-rede somente proxy atual de --purpose=INTERNAL_HTTPS_LOAD_BALANCER
para REGIONAL_MANAGED_PROXY
, use o seguinte comando:
gcloud compute networks subnets update PROXY_ONLY_SUBNET \ --purpose=REGIONAL_MANAGED_PROXY \ --region=REGION
A migração da finalidade de uma sub-rede somente proxy de
--purpose=INTERNAL_HTTPS_LOAD_BALANCER
para REGIONAL_MANAGED_PROXY
não
causa nenhuma inatividade. A alteração deve entrar em vigor quase instantaneamente.
Excluir uma sub-rede somente proxy
A exclusão de uma sub-rede somente proxy libera o intervalo de endereço IP principal para que você possa usá-lo para outra finalidade. Google Cloud aplica as seguintes regras quando recebe uma solicitação para excluir uma sub-rede somente proxy:
Uma sub-rede somente proxy ativa não poderá ser excluída se houver pelo menos um balanceador de carga regional na mesma região e rede VPC.
Uma sub-rede somente proxy ativa não poderá ser excluída se houver uma sub-rede somente proxy de backup na mesma região e rede VPC.
Se você tentar excluir uma sub-rede somente proxy ativa antes de excluir o backup, a seguinte mensagem de erro será exibida: "Uso inválido de recursos: não é possível excluir uma sub-rede ATIVA porque existe uma sub-rede BACKUP".
Na prática, essas regras têm o seguinte efeito:
Se nenhum balanceador de carga regional estiver definido em uma determinada região e rede VPC, será possível excluir as sub-redes somente proxy dessa região. Se existir uma sub-rede somente proxy de backup, é preciso excluí-la antes de excluir a sub-rede somente proxy ativa.
Se você tiver pelo menos um balanceador de carga regional definido em uma determinada região e rede VPC, não será possível excluir a sub-rede somente proxy ativa. No entanto, será possível promover uma sub-rede somente proxy de backup para o papel "ativa", que rebaixa automaticamente a sub-rede somente proxy alternada de ativa para o papel "de backup". Depois que as conexões forem diminuídas, exclua a sub-rede somente proxy anteriormente ativa.
Consulte como excluir sub-redes na documentação da rede VPC para mais informações.
Limitações
As seguintes restrições se aplicam a sub-redes somente proxy:
Não é possível ter uma sub-rede
INTERNAL_HTTPS_LOAD_BALANCER
e umaREGIONAL_MANAGED_PROXY
na mesma rede e região, da mesma forma que não é possível ter dois proxiesREGIONAL_MANAGED_PROXY
ou dois proxiesINTERNAL_HTTPS_LOAD_BALANCER
.Só é possível criar uma sub-rede somente proxy de backup e uma ativa em cada região e rede VPC.
Não é possível criar uma sub-rede somente proxy de backup, a menos que você já tenha criado uma sub-rede somente proxy ativa nessa região e rede.
Atualize uma sub-rede somente proxy de backup para alterar o papel dela para ativa. Quando você faz isso, Google Cloud automaticamente muda a sub-rede somente proxy que estava ativa para backup. Não é possível definir explicitamente o papel de uma sub-rede somente proxy para de backup atualizando-a.
Durante o período de diminuição de conexão de uma sub-rede apenas de proxy (
--drain-timeout
), não é possível alterar o papel dela de backup para ativo.As sub-redes somente proxy não são compatíveis com registros de fluxo de VPC.
A seguir
- Configurar um balanceador de carga de aplicativo externo regional com back-ends de grupos de instâncias de VM
- Configurar um balanceador de carga de aplicativo externo regional em um ambiente de VPC compartilhada
- Configurar um balanceador de carga de aplicativo externo regional com back-ends de grupos de instâncias de VM
- Configurar um balanceador de carga de aplicativo interno regional ou entre regiões em um ambiente de VPC compartilhada
- Configurar um balanceador de carga de rede de proxy interno regional com back-ends de grupos de instâncias de VM
- Configurar um balanceador de carga de rede de proxy externo regional com back-ends de grupos de instâncias de VM
- Configurar um balanceador de carga de rede de proxy interno entre regiões com back-ends de grupos de instâncias de VM