Acerca de la cantidad máxima de instancias

De forma predeterminada, los servicios de Cloud Run tienen una cantidad máxima de instancias determinada por el límite de cuota pertinente más bajo de los siguientes. El límite máximo para cada región también se ve afectado por la configuración de CPU y memoria de tu servicio de Cloud Run. Específicamente, la cantidad máxima de instancias disponibles para tu servicio es el mínimo de cada uno de los siguientes valores:

  • Cuota de CPU regional dividida por la configuración de CPU del servicio.
  • Cuota de memoria regional dividida por la configuración de memoria del servicio.
  • Cuota de GPU regional, con o sin redundancia zonal, dividida por la configuración de GPU para el servicio.

Por ejemplo, una cuota de referencia de 1,000 CPU virtuales o 2,000 GiB de memoria permitiría que una implementación que usa 2 GiB de memoria o 1 CPU especifique un máximo de 1,000 instancias para un solo servicio.

Estas cuotas también se contabilizan como la suma de todos los recursos en uso en la región en todos tus recursos de Cloud Run. Es posible que experimentes fallas en el escalamiento vertical o en el inicio de nuevas ejecuciones de trabajos si tu uso total alcanza uno de estos límites.

Puedes ver los límites totales de referencia de CPU, memoria y GPU por región en la cuota de tu región en la página de cuotas de la consola.

Cómo aumentar la cuota regional de referencia

Si necesitas una mayor cantidad total de CPU, memoria o GPU para la región en la que se implementa tu servicio de Cloud Run, puedes solicitar un aumento de cuota.

Prácticas recomendadas para establecer la cantidad máxima de instancias

En la siguiente sección, se describen las prácticas recomendadas para configurar los límites máximos de instancias para tus servicios.

Valor máximo óptimo de instancias para servicios controlados por eventos

Los servicios controlados por eventos, como las funciones, pueden experimentar picos de tráfico esporádicos según los eventos entrantes. Para determinar un valor óptimo de instancias máximas para estos servicios, debes tener en cuenta factores como el tiempo de invocación del servicio, la invocación promedio esperada, la frecuencia de invocación máxima y la tolerancia a fallas para las fallas de invocación.

Una buena regla general es empezar con un valor máximo de 3 instancias y, luego, supervisar las fallas de invocación y aumentar el valor máximo de instancias según sea necesario.

Controla las solicitudes cuando todas las instancias están ocupadas

En circunstancias normales, tu servicio se escala creando instancias nuevas para controlar la carga de tráfico entrante. Sin embargo, cuando estableces un límite máximo de instancias, puede darse una situación en la que no hay instancias suficientes para cumplir con esa carga de tráfico entrante.

En ese caso, Cloud Run intenta entregar una solicitud entrante nueva durante un máximo de 30 segundos:

  • Si una instancia termina de procesar su solicitud durante este período, es posible que empiece a procesar la solicitud entrante nueva.
  • Si no hay ninguna instancia disponible, la solicitud fallará.

Cloud Run guarda automáticamente los eventos destinados a los servicios controlados por eventos hasta que haya capacidad disponible.

Límites máximos de instancias que exceden la capacidad de escalamiento de Cloud Run

Cuando especificas un límite máximo de instancias, estableces un límite superior. Establecer un límite grande no significa que tu servicio escalará verticalmente al número especificado de instancias. Solo significa que la cantidad de instancias que coexisten en cualquier momento no debe superar ese límite.

Además, establecer un límite máximo de instancias puede afectar las estrategias de escalamiento que Cloud Run usa para satisfacer tu demanda de tráfico. En general, Cloud Run priorizará el cumplimiento del límite especificado en lugar de escalarlo verticalmente y superarlo.

Controla los aumentos repentinos de tráfico

En algunos casos, como cuando surgen picos de tráfico rápidos, Cloud Run puede, durante un período breve, crear más instancias que el límite máximo especificado. Si tu servicio no puede tolerar este comportamiento temporal, tal vez desees tener en cuenta un margen de seguridad y establecer un valor de instancias máximo inferior al que puede tolerar tu servicio.

Implementaciones

Cuando implementas una revisión nueva, Cloud Run migra el tráfico de la revisión anterior a la nueva. Debido a que los límites de instancias máximas se establecen para cada revisión de forma independiente, es posible que excedas temporalmente el límite especificado durante el período posterior a la implementación.

Por ejemplo, un servicio puede tener un límite máximo de 5 instancias. En circunstancias normales, el servicio escala verticalmente hasta 5 instancias mientras controla las solicitudes. Cuando implementas una revisión nueva, esa revisión tiene su propio límite máximo de 5 instancias.

Las solicitudes que ya controla la revisión anterior no se interrumpen cuando implementas una revisión nueva. Por el contrario, estas solicitudes continuarán progresando. La revisión de tu servicio que se implementó recientemente controlará las nuevas solicitudes entrantes.

Por lo tanto, el servicio del ejemplo anterior puede tener hasta 10 instancias totales (5 para cada revisión) durante el período posterior a la implementación de la revisión nueva. El tiempo requerido para que las instancias de la revisión anterior finalicen depende del tiempo requerido para que esas instancias terminen de controlar cualquier solicitud activa. Este es un factor adicional que debe tenerse en cuenta a la hora de establecer un límite máximo de instancias.

Consideraciones de costo

El parámetro de configuración de cantidad máxima de instancias te permite establecer un límite de seguridad de costos para administrar los costos. Establecer un número máximo más alto prioriza la disponibilidad, pero introduce posibles riesgos de facturación por aumentos repentinos de tráfico o errores de configuración inesperados. Como medida de protección contra los costos, configura este parámetro en el nivel del servicio cuando implementes tu servicio por primera vez. Te sugerimos que comiences con un valor máximo de 3 instancias para proteger tu presupuesto de aumentos repentinos inesperados.

Revisa los precios de Cloud Run o calcula los costos con la calculadora de precios para obtener más información. Para obtener más herramientas de control de costos, consulta las cuotas de asignación de recursos o los presupuestos y alertas de facturación.