Nesta página, descrevemos as práticas recomendadas para configurar opções de rede para recursos do Cloud Run. Antes de criar os 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.
Práticas recomendadas:
Monitorar o uso de endereços IP.Use endereços IP não RFC 1918.
Use sub-redes IPv4 e IPv6 (pilha dupla).
Use o pool de conexões e reutilize as conexões.
Isolar o tráfego de saída da Internet.
Capacidade de processamento externa mais rápida para a Internet.
Capacidade de processamento interna mais rápida para uma API do Google.
Monitorar o uso de endereços IP
Se você estiver usando a saída de VPC direta, 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 de contêiner que as cargas de trabalho executam. 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:
No console do Google Cloud , acesse a página do Metrics Explorer do Cloud Monitoring:
Procure o número de instâncias de contêiner no projeto usando o tipo de métrica
run.googleapis.com/container/instance_count. O Cloud Monitoring permite visualizar o valor dessa métrica ao longo do tempo.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 desafios de esgotamento de IP ao usar o espaço de endereço IP privado RFC 1918 com saída de VPC direta. As estratégias a seguir podem ajudar você a gerenciar o esgotamento de endereços IP usando intervalos de endereços IP 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 os intervalos RFC 6598 e Classe E/RFC 5735. Todos os serviços e recursos doGoogle Cloud funcionam com esses intervalos que não são RFC 1918, incluindo redes VPC, Cloud Load Balancing e Private Service Connect.
Para 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, considere usar 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 dar suporte ao 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 com alguns hardwares locais. Leia sobre como aproveitar o espaço de endereços IPv4 de classe E para mitigar problemas de esgotamento de IPv4 no GKE.
Usar o Cloud NAT ou o Private Service Connect
Se a carga de trabalho do Cloud Run que usa um intervalo não RFC 1918 precisar alcançar um destino local que aceite apenas RFC 1918, use uma das seguintes soluções:
- Use o Hybrid NAT para realizar a conversão de endereços e a 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 isso não reduza o esgotamento do IPv4, mover seus apps para o IPv6 é um bom primeiro passo. Configure recursos de pilha dupla para evitar problemas de esgotamento de IPv4 no futuro.
Estratégias de redução de esgotamento de portas
A seção a seguir descreve 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 pool de conexões para manter e reutilizar 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.
Isolar o tráfego da internet de saída
Por padrão, o Cloud Run envia tráfego de saída da Internet por um pool regional de endereços IP dinâmicos compartilhados entre cargas de trabalho sem servidor. Não use esse pool compartilhado padrão para cargas de trabalho que dependem da reputação de IP ou geram tráfego de sondagem de alto volume.
Em vez disso, configure a saída VPC direta
com --vpc-egress=all-traffic
e encaminhe o tráfego pelo Cloud NAT com
endereços IP de saída estáticos dedicados
nos seguintes casos:
- Sua carga de trabalho se conecta a endpoints externos sensíveis à reputação, como
gateways de pagamento, bancos de dados hospedados ou APIs de parceiros por trás de firewalls de aplicativos da Web (WAFs) de terceiros. Os endereços IP estáticos dedicados evitam que o tráfego
ruidoso de outros locatários no pool compartilhado acione bloqueios de WAF
externos ou erros
HTTP 403. - Sua carga de trabalho executa verificação de rede autorizada, enumeração de portas, impressão digital de host, sondagem de vulnerabilidades, extração de dados da Web ou teste de carga. A execução dessas cargas de trabalho no pool de IPs compartilhados padrão degrada a reputação do IP, pode interromper o serviço para outros clientes em violação da Política de Uso Aceitável doGoogle Cloud e pode fazer com que o Google limite ou suspenda sua carga de trabalho.
Ao executar cargas de trabalho de verificação autorizada ou de alta conexão pelo Cloud NAT, aloque endereços IP estáticos suficientes e configure a reserva de portas para evitar o esgotamento de portas.
Estratégias de desempenho e capacidade de processamento
Nesta seção, abordamos opções escalonáveis para melhorar o desempenho e a capacidade de rede em relação à Internet e aos serviços do Google.
Usar o ambiente de execução de segunda geração
Para ter o melhor desempenho de rede para os serviços do Cloud Run, use o ambiente de execução de segunda geração ao rotear o tráfego com a saída de 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 console do Google Cloud , a CLI gcloud, o YAML ou o Terraform.
Usar a saída de VPC direta 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 de VPC direta 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 observado 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 NAT público ou Private NAT, consulte Interações de saída de 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:
- Especifique
private-ranges-only(padrão) com Acesso privado do Google:- Defina a flag
--vpc-egress=private-ranges-only. - Ative o Acesso privado do Google.
- Configure o DNS para o Acesso privado do Google.
Verifique se o domínio de destino, como
storage.googleapis.com, está mapeado para um dos seguintes intervalos de endereços IP internos:199.36.153.8/30199.36.153.4/30
- Defina a flag
- Especifique
all-trafficcom o Acesso privado do Google:- Defina a flag
--vpc-egress=all-traffic. - Ative o Acesso privado do Google.
- Defina a flag
Usar a configuração de MTU padrão para o Cloud Run
Não mude a configuração da unidade de transmissão máxima (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 as 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 o Cloud SQL ou o 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.
- Mudar para a saída VPC direta: se você estiver roteando o tráfego com segurança para recursos internos da rede VPC, mude para a saída VPC direta em vez de usar conectores acesso VPC sem servidor. A saída de VPC direta é reduzida a zero, eliminando a sobrecarga de computação de referência e os custos de inatividade associados às instâncias do conector.
- Use o Cloud CDN: descarregue recursos estáticos e conteúdo armazenável em cache colocando o Cloud CDN na frente dos recursos do Cloud Run. Disponibilizar dados da borda é significativamente mais barato do que pagar pela saída de dados para a internet padrão diretamente do Cloud Run.
- Monitorar a saída de dados para a Internet: o tráfego de entrada (entrada) é sempre sem custo financeiro, e você recebe 1 GiB de transferência de dados de saída para a Internet sem custo financeiro por mês na América do Norte. Concentre seus esforços de monitoramento no tráfego de saída que cruza os limites de região ou excede o nível sem custo financeiro.
Consulte os preços do Cloud Run ou estime os custos com a calculadora de preços para mais informações.
A seguir
- Compare a saída de VPC direta e os conectores de VPC.
- Use tags para teste, migração de tráfego e reversões.