Sub-redes somente proxy para balanceadores de carga HTTP(S) internos

Nesta página, você aprenderá a trabalhar com sub-redes somente proxy para balanceamento de carga HTTP(S) interno. Para uma visão geral do balanceamento de carga HTTP(S) interno, consulte esta página.

O balanceador de carga HTTP(S) interno fornece um pool de proxies para sua rede. Os proxies avaliam para onde cada solicitação HTTP(S) 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.

  1. Um cliente estabelece uma conexão com o endereço IP e a porta da regra de encaminhamento do balanceador de carga.

  2. Um dos proxies recebe e encerra a conexão de rede do cliente.

  3. 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. Os proxies de todos os balanceadores de carga HTTP(S) internos em uma região usam endereços IP internos de uma única sub-rede somente proxy nessa região, em sua rede VPC. Essa sub-rede é reservada exclusivamente para proxies de balanceamento de carga de HTTP(S) interno e não pode ser usada para outros propósitos. Uma sub-rede somente proxy precisa fornecer 64 ou mais endereços IP. Isso corresponde a um comprimento de prefixo de /26 ou mais curto. Apenas uma sub-rede somente proxy pode estar ativa por região e por rede VPC.

Somente os proxies criados pelo GCP para os balanceadores de carga HTTP(S) internos de uma região usam a sub-rede somente proxy. 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 são provenientes da sub-rede somente proxy.

Cada proxy detecta o endereço IP e a porta especificados pela regra de encaminhamento do balanceador de carga correspondente. 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.

O diagrama a seguir fornece uma visualização de alto nível do fluxo de tráfego.

Serviços internos com balanceamento de carga baseado na camada 7 (clique para ampliar)
Serviços internos com balanceamento de carga baseado na camada 7 (clique para ampliar)

Como as sub-redes somente proxy se ajustam à arquitetura do balanceador de carga

O diagrama a seguir mostra os recursos do GCP exigidos para um balanceador de carga HTTP(S) interno.

Componentes do balanceamento de carga HTTP(S) interno (clique para ampliar)
Componentes do balanceamento de carga HTTP(S) interno (clique para ampliar)

Conforme mostrado no diagrama, uma implantação de balanceador de carga HTTP(S) interno requer pelo menos duas sub-redes:

  • A regra de encaminhamento gerenciada interna do balanceador de carga e os endereços IP de endpoints e VMs de back-end usam uma única sub-rede, que tem 10.1.2.0/24 como principal intervalo de endereço IP. 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.

  • A sub-rede somente proxy é 10.129.0.0/26.

Como criar uma sub-rede somente proxy

O procedimento para reservar uma sub-rede para um balanceador de carga HTTP(S) é essencialmente o mesmo da criação de qualquer sub-rede, mas algumas sinalizações são adicionadas.

Antes de criar regras de encaminhamento para os balanceadores de carga HTTP(S) internos, crie uma sub-rede somente proxy para ser usada pelos proxies dos balanceadores de carga. Se você tentar configurar um balanceador de carga HTTP(S) interno sem primeiro criar uma sub-rede somente proxy para a região, o processo de criação do balanceador de carga falhará.

Crie uma sub-rede somente proxy em cada região de uma rede virtual (VPC) em que você usa balanceadores de carga HTTP(S) internos. Essa sub-rede é compartilhada por todos os balanceadores de carga HTTP(S) internos na região.

Quer sua rede esteja no modo automático ou seja personalizada, é necessário criar sub-redes somente proxy. O tamanho de sub-rede recomendado é /24 (256 endereços somente proxy). Ele precisa ser pelo menos /26 (64 endereços somente proxy).

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

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

Em que:

  • SUBNET_NAME é o nome da sub-rede somente proxy;
  • 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 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.

Para um exemplo de configuração completo, consulte Como criar a sub-rede somente proxy.

Se você estiver usando o Console do GCP, poderá criar a sub-rede somente proxy na IU de balanceamento de carga, conforme descrito nas seguintes seções:

Configure uma regra de firewall para que seus back-ends aceitem conexões da sub-rede somente proxy. Consulte a configuração l7-ilb-firewall em Como configurar regras de firewall.

Como alterar o tamanho ou o intervalo de endereços de uma sub-rede somente proxy

Como apenas uma sub-rede somente proxy pode estar ativa por região e por rede VPC e porque só é possível expandir o intervalo IP principal de uma sub-rede, use o seguinte procedimento para modificar a sub-rede somente proxy:

  1. Crie uma sub-rede somente proxy de backup na mesma região, usando o comando gcloud compute networks subnets create para especificar um intervalo de IP principal que atenda a suas necessidades.

    gcloud beta compute networks subnets create subnet-name \
       --purpose=INTERNAL_HTTPS_LOAD_BALANCER \
       --role=BACKUP \
       --region=region \
       --network=vpc-network-name \
       --range=cidr-range
    
  2. Crie ou modifique regras de firewall de permissão de entrada que se apliquem aos endpoints ou VMs de back-end. Dessa forma, essas regras incluirão o intervalo de IP principal da sub-rede somente proxy de backup.

  3. O comando gcloud a seguir promove uma sub-rede somente proxy de backup para o papel ativo e rebaixa a sub-rede somente proxy anteriormente ativa para o papel de backup:

    gcloud beta compute networks subnets update backup-proxy-subnet \
       --role=ACTIVE \
       --drainTimeoutSeconds=connection-draining-timeout<\var>
    

    Substitua os marcadores por valores válidos:

    • <var>backup-proxy-subnet</var> é o nome da sub-rede somente proxy recém-criada.
    • <var>connection-draining-timeout<\var> é o tempo total em segundos que o GCP usa para migrar conexões atuais de proxies presentes na sub-rede somente proxy anteriormente ativa.

    Alternar uma sub-rede somente proxy de backup para ativa não interrompe novas conexões:

    • A sub-rede somente proxy recém-ativada é usada para novas conexões.
    • A sub-rede somente proxy alternada de ativa para de backup não é mais usada em novas conexões.
    • O GCP começa a diminuir as conexões atuais de proxies na sub-rede somente proxy alternada de ativa para de backup.
  4. Após a diminuição de conexão expirar ou assim que você estiver confiante de que as conexões nos endpoints ou VMs de back-end não estão vindo de proxies presentes na sub-rede somente proxy de backup, siga estas etapas:

    • Modificar regras de encaminhamento de permissão de entrada que se aplicam a endpoints ou VMs de back-end para que essas regras não incluam o intervalo de IP principal da sub-rede somente proxy alternada de ativa para de backup.
    • Excluir a sub-rede somente proxy alternada de ativa para de backup. Dessa forma, os endereços IP usados por essa sub-rede para o intervalo de endereço IP serão liberados.

Requisitos e limitações

As seguintes restrições se aplicam a sub-redes somente proxy:

  • 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, o GCP altera automaticamente a sub-rede somente proxy que anteriormente 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 somente proxy (drainTimeoutSeconds), não é possível alterar o papel dela de backup para ativa.

  • Antes de criar seu primeiro balanceador de carga HTTP(S) interno em uma determinada região e rede VPC, é preciso já ter uma sub-rede somente proxy ativa nessa região e rede.

  • O GCP não avisará você se sua sub-rede somente proxy estiver sem endereços IP.

Exemplo

  1. Crie uma sub-rede somente proxy de backup dedicada à região.

    gcloud beta compute networks subnets create new-l7ibackend-subnet-us-west1 \
       --purpose INTERNAL_HTTPS_LOAD_BALANCER \
       --role BACKUP \
       --region us-west1 \
       --network default \
       --addresses 10.130.0.0/26
    
  2. Atualize seu firewall de back-end para aceitar conexões da nova sub-rede.

    gcloud compute firewall-rules update l7-ilb-firewall \
       --source-ranges 10.129.0.0/26,10.130.0.0/26
    
  3. Atualize a nova sub-rede, configurando-a para ser a sub-rede somente proxy ativa (ACTIVE) na região e aguardando a redução da sub-rede antiga.

    gcloud beta compute networks subnets update new-l7ilb-ip-range-us-west1 \
       --drain-timeout 1h --role ACTIVE
    

    Para reduzir um intervalo de endereços IP imediatamente, defina --drain-timeout como 0s. Isso encerrará de imediato todas as conexões com proxies que tenham endereços atribuídos na sub-rede com a conexão sendo reduzida.

  4. Monitore o status da diminuição usando um comando list ou describe. O status da sub-rede é DRAINING (em redução) enquanto ela está sendo diminuída.

    gcloud beta compute networks subnets list
    

    Aguarde a conclusão da redução. Quando a conexão da sub-rede somente proxy for diminuída, o status dessa sub-rede será READY (pronta).

  5. Atualize sua regra de firewall de back-end para permitir apenas conexões da nova sub-rede.

    gcloud compute firewall-rules update l7-ilb-firewall \
       --source-ranges 10.130.0.0/26
    
  6. Exclua a sub-rede antiga.

    gcloud beta compute networks subnets delete l7ilb-ip-range-us-west1 \
       --region us-west1
    

Como excluir uma sub-rede somente proxy

A exclusão de uma sub-rede somente proxy libera o intervalo de IP principal para que você possa usá-lo para outra finalidade. O GCP 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 HTTP(S) interno 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.

Na prática, essas regras têm o seguinte efeito:

  • Se nenhum balanceador de carga HTTP(S) interno 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 HTTP(S) interno 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.

A seguir

  • Para informações sobre como configurar o balanceamento de carga HTTP(S) interno, consulte esta página.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…