En esta página, se describen las prácticas recomendadas para configurar las opciones de herramientas de redes de los recursos de Cloud Run. Antes de crear tus recursos, te recomendamos que revises todas las secciones de esta página para comprender las opciones de herramientas de redes que admite Cloud Run, así como sus implicaciones.
Recomendaciones:
Supervisa el uso de direcciones IP.Usar direcciones IP que no sean RFC 1918.
Usa subredes IPv4 e IPv6 (pila doble).
Usa la agrupación de conexiones y reutiliza las conexiones.
Aísla el tráfico de Internet saliente.
Capacidad de procesamiento externa más rápida a Internet.
Capacidad de procesamiento interno más rápida para una API de Google.
Supervisa el uso de direcciones IP
Si usas la salida de VPC directa, asegúrate de tener suficientes direcciones IP para tu subred. La cantidad de direcciones IP que usas depende de la cantidad de instancias de contenedor que ejecutan tus cargas de trabajo, por lo que te recomendamos que supervises el uso de las direcciones IP. Asegúrate de que el uso de IP a lo largo del tiempo se mantenga dentro de los límites que admite la subred.
Para estimar el uso de direcciones IP, sigue estos pasos:
En la consola de Google Cloud , ve a la página Explorador de métricas de Cloud Monitoring:
Busca la cantidad de instancias de contenedor en tu proyecto con el tipo de métrica
run.googleapis.com/container/instance_count. Cloud Monitoring te permite ver el valor de esta métrica a lo largo del tiempo.Multiplica el valor de la métrica de recuento de instancias por 2 para obtener una estimación de la cantidad de direcciones IP en uso.
Estrategias para el agotamiento de direcciones IP
Tener una gran cantidad de cargas de trabajo de Cloud Run puede causar problemas de agotamiento de IP cuando se usa el espacio de direcciones IP privadas RFC 1918 con la salida de VPC directa. Las siguientes estrategias pueden ayudarte a administrar el agotamiento de direcciones IP con rangos de direcciones IP alternativos.
Usa direcciones IPv4 que no sean RFC 1918
Además de los rangos de direcciones IPv4 RFC 1918, Cloud Run también admite los rangos RFC 6598 y clase E/RFC 5735. Todos los servicios y las funciones deGoogle Cloud funcionan con estos rangos que no son RFC 1918, incluidas las redes de VPC, Cloud Load Balancing y Private Service Connect.
Para obtener la mejor compatibilidad, te recomendamos que comiences con el rango RFC 6598 (100.64.0.0/10). Si ya usas este rango en otro lugar, considera usar la clase E/RFC 5735 (240.0.0.0/4). La clase E es un espacio enorme con más de 268 millones de direcciones IP disponibles, por lo que admitirá tu crecimiento durante mucho tiempo. Sin embargo, la clase E tiene algunas limitaciones. Por ejemplo, no es compatible con Windows ni con algunos tipos de hardware local. Lee sobre cómo aprovechar el espacio de direcciones IPv4 de clase E para mitigar los problemas de agotamiento de IPv4 en GKE.
Usa Cloud NAT o Private Service Connect
Si tu carga de trabajo de Cloud Run que usa un rango que no es RFC 1918 necesita llegar a un destino local que solo acepte RFC 1918, usa una de las siguientes soluciones:
- Usa Hybrid NAT para realizar la traducción de direcciones y la salida con un rango pequeño de RFC 1918.
- Expón el servicio local como un servicio híbrido de Private Service Connect.
Usa subredes IPv4 e IPv6 (pila doble)
Aunque no reducirá el agotamiento de IPv4, mover tus apps a IPv6 es un buen primer paso. Configura recursos de pila doble para evitar problemas de agotamiento de IPv4 en el futuro.
Estrategias de reducción del agotamiento de puertos
En la siguiente sección, se describen estrategias para reducir el agotamiento de puertos con Cloud Run.
Usa la agrupación de conexiones y reutiliza las conexiones
Cuando envíes una gran cantidad de solicitudes a una sola dirección IP de destino, usa la agrupación de conexiones para mantener y reutilizar las conexiones al destino. Las tasas de conexión altas a una sola dirección IP pueden agotar los puertos de salida y provocar errores de conexión rechazada.
Aísla el tráfico de Internet saliente
De forma predeterminada, Cloud Run envía tráfico de Internet saliente a través de un grupo regional de direcciones IP dinámicas que se comparten entre las cargas de trabajo sin servidores. No uses este grupo compartido predeterminado para cargas de trabajo que dependan de la reputación de IP o que generen un tráfico de sondeo de gran volumen.
En su lugar, configura la salida de VPC directa
con --vpc-egress=all-traffic
y enruta el tráfico a través de Cloud NAT con
direcciones IP de salida estáticas dedicadas
en los siguientes casos:
- Tu carga de trabajo se conecta a extremos externos sensibles a la reputación, como
puertas de enlace de pago, bases de datos alojadas o APIs de socios detrás de firewalls de aplicaciones web (WAF) de terceros. Las direcciones IP estáticas dedicadas evitan que el tráfico ruidoso
de otros usuarios del grupo compartido active bloqueos de WAF externos o
errores
HTTP 403. - Tu carga de trabajo ejecuta análisis de red autorizados, enumeración de puertos, huellas digitales de hosts, sondeo de vulnerabilidades, extracción de datos web o pruebas de carga. Ejecutar estas cargas de trabajo en el grupo de IP compartido predeterminado degrada la reputación de la IP, puede interrumpir el servicio para otros clientes, lo que infringe la Política de Uso Aceptable deGoogle Cloud , y puede hacer que Google limite o suspenda tu carga de trabajo.
Cuando ejecutes análisis autorizados o cargas de trabajo de alta conexión a través de Cloud NAT, asigna suficientes direcciones IP estáticas y configura la reserva de puertos para evitar el agotamiento de puertos.
Estrategias de rendimiento y capacidad de procesamiento
En esta sección, se abordan las opciones escalables para mejorar el rendimiento y la capacidad de procesamiento de la red hacia Internet y los servicios de Google.
Usa el entorno de ejecución de segunda generación
Para obtener el mejor rendimiento de red de los servicios de Cloud Run, usa el entorno de ejecución de segunda generación cuando enrutes el tráfico con la salida de VPC directa. El entorno de segunda generación proporciona un rendimiento de red más rápido, en especial, en presencia de pérdida de paquetes.
Puedes seleccionar el entorno de ejecución con la consola de Google Cloud , gcloud CLI, YAML o Terraform.
Usa la salida de VPC directa para lograr una capacidad de procesamiento de salida de red más rápida
Para lograr una capacidad de procesamiento más rápida en las conexiones de salida de red, usa la salida de VPC directa para enrutar el tráfico a través de tu red de VPC. Te recomendamos usar esto junto con el entorno de ejecución de segunda generación, como se indicó antes.
Ejemplo 1: Tráfico externo a Internet
Si envías tráfico externo a la Internet pública, configura --vpc-egress=all-traffic para enrutar todo el tráfico a través de la red de VPC.
Con este enfoque, debes configurar Cloud NAT para llegar a la Internet
pública.
Para habilitar Cloud Run para que use una puerta de enlace de Cloud NAT para NAT pública o NAT privada, consulta Interacciones de salida de VPC directa de Cloud NAT.
Ejemplo 2: Tráfico interno a una API de Google
Si usas la salida de VPC directa para enviar tráfico a una API de Google, como Cloud Storage, elige una de las siguientes opciones:
- Especifica
private-ranges-only(predeterminado) con el Acceso privado a Google:- Establece la marca
--vpc-egress=private-ranges-only. - Habilita el Acceso privado a Google.
- Configura DNS para el Acceso privado a Google.
Asegúrate de que tu dominio de destino (como
storage.googleapis.com) se asigne a uno de los siguientes rangos de direcciones IP internas:199.36.153.8/30199.36.153.4/30
- Establece la marca
- Especifica
all-trafficcon el Acceso privado a Google:- Establece la marca
--vpc-egress=all-traffic. - Habilita el Acceso privado a Google.
- Establece la marca
Usa el parámetro de configuración de MTU predeterminado para Cloud Run
No cambies el parámetro de configuración de la unidad de transmisión máxima (MTU) de una red de VPC cuando la uses con Cloud Run. En su lugar, usa la MTU predeterminada de 1,460 bytes.
Consideraciones de costo
Cuando configures las opciones de red para tus recursos, ten en cuenta lo siguiente:
- Ubica tus recursos en el mismo lugar: Intenta implementar tus recursos de Cloud Run en la misma región que tus bases de datos de backend (como Cloud SQL o Firestore) y los buckets de Cloud Storage. La transferencia de datos entre recursos de Google Cloud dentro de la misma región es gratuita.
- Cambia a la salida de VPC directa: Si enrutas el tráfico de forma segura a recursos internos de la red de VPC, considera cambiar a la salida de VPC directa desde los conectores de Acceso a VPC sin servidores. La salida de VPC directa se reduce a cero, lo que elimina la sobrecarga de procesamiento inicial y los costos de inactividad asociados con las instancias de conector.
- Usa Cloud CDN: Descarga recursos estáticos y contenido que se puede almacenar en caché con facilidad colocando Cloud CDN frente a tus recursos de Cloud Run. La entrega de datos desde el perímetro es mucho más económica que pagar por la salida estándar de Internet directamente desde Cloud Run.
- Supervisa la salida de Internet: El tráfico entrante (entrada) siempre es gratuito, y recibes 1 GiB de transferencia de datos de Internet saliente gratuita por mes dentro de Norteamérica. Enfoca tus esfuerzos de supervisión en el tráfico de salida que cruza los límites de la región o excede el nivel gratuito.
Revisa los precios de Cloud Run o calcula los costos con la calculadora de precios para obtener más información.
¿Qué sigue?
- Compara la salida de VPC directa y los conectores de VPC.
- Usa etiquetas para pruebas, migración de tráfico y reversiones.