Práticas recomendadas para redes do Cloud Run

Nesta página, descrevemos as práticas recomendadas para configurar opções de rede em recursos do Cloud Run. Antes de criar seus recursos, recomendamos que você analise todas as seções desta página para entender as opções de rede compatíveis com o Cloud Run e as implicações delas.

Monitorar o uso de endereços IP

Se você estiver usando a saída direta da VPC, verifique se tem endereços IP suficientes para sua sub-rede. O número de endereços IP usados depende do número de instâncias em que as cargas de trabalho são executadas. Por isso, recomendamos monitorar o uso de endereços IP. Verifique se o uso de IP ao longo do tempo permanece dentro dos limites aceitos pela sub-rede.

Para estimar o uso de endereços IP:

  1. No console Google Cloud , acesse a página do Metrics Explorer do Cloud Monitoring:

    Acessar o Metrics Explorer do Cloud Monitoring

  2. Procure o número de instâncias no seu projeto usando o tipo de métrica run.googleapis.com/container/instance_count. Com o Cloud Monitoring, é possível ver o valor dessa métrica ao longo do tempo.

  3. Multiplique o valor da métrica de contagem de instâncias por 2 para estimar o número de endereços IP em uso.

Estratégias de esgotamento de endereços IP

Ter um grande número de cargas de trabalho do Cloud Run pode causar problemas de esgotamento de IP ao usar o espaço de endereço IP particular RFC 1918 com saída direta da VPC. As estratégias a seguir podem ajudar a gerenciar o esgotamento de endereços IP usando intervalos alternativos.

Usar endereços IPv4 não RFC 1918

Além dos intervalos de endereços IPv4 RFC 1918, o Cloud Run também é compatível com intervalos RFC 6598 e Classe E/RFC 5735. Todos os serviços e recursos doGoogle Cloud funcionam com esses intervalos não RFC 1918, incluindo redes VPC, Cloud Load Balancing e Private Service Connect.

Para ter a melhor compatibilidade, recomendamos começar com o intervalo RFC 6598 (100.64.0.0/10). Se você já estiver usando esse intervalo em outro lugar, use a classe E/RFC 5735 (240.0.0.0/4). A classe E é um espaço enorme com mais de 268 milhões de endereços IP disponíveis, então ela vai apoiar seu crescimento por muito tempo. No entanto, a classe E tem algumas limitações. Por exemplo, ele não é compatível com o Windows e alguns hardwares locais. Leia sobre como aproveitar o espaço de endereços IPv4 da classe E para reduzir problemas de esgotamento de IPv4 no GKE.

Usar o Cloud NAT ou o Private Service Connect

Se a sua carga de trabalho do Cloud Run que usa um intervalo não RFC 1918 precisar acessar um destino local que aceita apenas RFC 1918, use uma das seguintes soluções:

  • Use o Hybrid NAT para realizar a tradução de endereços e saída usando um pequeno intervalo RFC 1918.
  • Exponha o serviço local como um serviço híbrido do Private Service Connect.

Usar sub-redes IPv4 e IPv6 (pilha dupla)

Embora não reduza o esgotamento do IPv4, mover seus apps para o IPv6 é uma boa primeira etapa. Configure recursos de pilha dupla para evitar problemas de esgotamento do IPv4 no futuro.

Estratégias de redução do esgotamento de portas

Na seção a seguir, descrevemos estratégias para reduzir o esgotamento de portas com o Cloud Run.

Usar o pool de conexões e reutilizar conexões

Ao enviar um grande número de solicitações para um único endereço IP de destino, use o agrupamento de conexões para manter e reutilizar as conexões com o destino. Altas taxas de conexão com um único endereço IP podem esgotar as portas de saída e causar erros de conexão recusada.

Estratégias de desempenho e capacidade de processamento

Esta seção aborda opções escalonáveis para melhorar o desempenho e a capacidade de processamento da rede em relação à Internet e aos Serviços do Google.

Usar o ambiente de execução de segunda geração

Para ter a melhor performance de rede para serviços do Cloud Run, use o ambiente de execução de segunda geração ao rotear o tráfego com a saída da VPC direta. O ambiente de segunda geração oferece um desempenho de rede mais rápido, especialmente no caso de perdas de pacote.

É possível selecionar o ambiente de execução usando o Google Cloud console, a CLI gcloud, o YAML ou o Terraform.

Usar a saída direta de VPC para aumentar a capacidade de processamento da saída de rede

Para ter uma capacidade de processamento mais rápida nas conexões de saída de rede, use a saída direta de VPC a fim de rotear o tráfego pela rede VPC. Recomendamos usar isso em conjunto com o ambiente de execução de segunda geração, conforme mencionado anteriormente.

Exemplo 1: tráfego externo para a Internet

Ao enviar tráfego externo para a Internet pública, defina --vpc-egress=all-traffic a fim de rotear todo o tráfego pela rede VPC. Com essa abordagem, você precisa configurar o Cloud NAT para acessar a Internet pública.

Para permitir que o Cloud Run use um gateway do Cloud NAT para Public NAT ou Private NAT, consulte Interações de saída VPC direta do Cloud NAT.

Exemplo 2: tráfego interno para uma API do Google

Ao usar a saída direta de VPC para enviar tráfego a uma API do Google, como a API Cloud Storage, escolha uma das seguintes opções:

Usar a configuração padrão de MTU para o Cloud Run

Não mude a configuração da unidade máxima de transmissão (MTU) de uma rede VPC ao usá-la com o Cloud Run. Use a MTU padrão de 1.460 bytes.

Considerações sobre o custo

Ao configurar opções de rede para seus recursos, considere o seguinte:

  • Coloque seus recursos no mesmo local: tente implantar os recursos do Cloud Run na mesma região dos bancos de dados de back-end (como Cloud SQL ou Firestore) e dos buckets do Cloud Storage. A transferência de dados entre recursos do Google Cloud na mesma região não tem custo financeiro.
  • Mude para a saída direta da VPC: se você estiver roteando o tráfego com segurança para recursos internos da rede VPC, considere mudar para a saída direta da VPC em vez de usar conectores de acesso VPC sem servidor. A saída direta de VPC é escalonada para zero, eliminando a sobrecarga de computação básica e os custos ociosos associados às instâncias de conector.
  • Use o Cloud CDN: descarregue recursos estáticos e conteúdo altamente armazenável em cache colocando o Cloud CDN na frente dos recursos do Cloud Run. A veiculação de dados da borda é muito mais barata do que pagar pela saída padrão da Internet diretamente do Cloud Run.
  • Monitore a saída da Internet: o tráfego de entrada (ingress) é sempre sem custo financeiro, e você recebe 1 GiB de transferência de dados de saída da Internet por mês na América do Norte. Concentre seus esforços de monitoramento no tráfego de saída que cruza os limites da região ou excede o nível sem custo financeiro.

Consulte os preços do Cloud Run ou calcule os custos com a calculadora de preços para mais informações.

A seguir