En esta página, se describen los parámetros de configuración de facturación suponiendo el uso del comportamiento predeterminado de ajuste de escala automático de Cloud Run . Consulta Comportamiento de facturación con el ajuste de escala manual para obtener consideraciones adicionales si usas el ajuste de escala manual.
Existen dos parámetros de configuración de facturación en los servicios de Cloud Run:
Facturación basada en solicitudes (predeterminada): Las instancias de Cloud Run solo se cobran cuando procesan solicitudes, cuando se inician y cuando se cierran. Consulta el ciclo de vida de la instancia para obtener más detalles. Anteriormente, este parámetro de configuración se llamaba CPU solamente asignada durante el procesamiento de solicitudes.
Facturación basada en instancias: Se les cobra a las instancias de Cloud Run por todo el ciclo de vida de las instancias, incluso cuando no hay solicitudes entrantes. La facturación basada en instancias puede ser útil para ejecutar tareas en segundo plano de corta duración y otras tareas de procesamiento asíncrono. Anteriormente, este parámetro de configuración se llamaba La CPU siempre está asignada.
Si eliges la facturación basada en solicitudes, se te cobrará por solicitud y solo cuando la instancia procese una solicitud. Si eliges la facturación basada en instancias, se te cobrará por todo el ciclo de vida de la instancia. Consulta las tablas de precios de Cloud Run para obtener más información.
El recomendador de Google observa de forma automática el tráfico que recibe tu servicio de Cloud Run en el último mes y te recomendará cambiar de facturación basada en solicitudes a facturación basada en instancias, si es más económico.
Impacto de la asignación de CPU
Seleccionar un parámetro de configuración de facturación afecta la forma en que se asigna la CPU.
- Con la facturación basada en solicitudes, la CPU solo se asigna durante el procesamiento de solicitudes.
- Con la facturación basada en instancias, la CPU se asigna durante todo el ciclo de vida de las instancias de contenedor.
Cómo elegir el parámetro de configuración de facturación adecuado
La elección del parámetro de configuración de facturación adecuado para tu caso de uso depende de varios factores, como los patrones de tráfico, la ejecución en segundo plano y el costo, cada uno de los cuales se describe en las siguientes secciones.
Consideraciones sobre los patrones de tráfico
- Se recomienda la facturación basada en solicitudes cuando el tráfico entrante es esporádico, inestable o tiene incrementos bruscos.
- Se recomienda la facturación basada en instancias cuando el tráfico entrante es estable y varía de forma lenta.
Consideraciones de ejecución en segundo plano
Seleccionar la facturación basada en instancias asigna CPU incluso fuera del procesamiento de solicitudes, lo que te permite ejecutar tareas en segundo plano de corta duración y otros trabajos de procesamiento asíncrono después de mostrar respuestas. Por ejemplo:
- Aprovechar agentes de supervisión como OpenTelemetry que pueden ejecutarse en segundo plano
- Usar Goroutines de Go, async de Node.js, subprocesos de Java.js y corrutinas de Kotlin.
- Usar frameworks de aplicaciones que se basan en la programación incorporada/funcionalidades en segundo plano
Las instancias inactivas, incluidas las que se mantienen preparadas con las instancias mínimas, se pueden cerrar en cualquier momento. Si necesitas terminar las tareas pendientes antes de que finalice el contenedor, puedes atrapar SIGTERM para dar a una instancia un tiempo de gracia de 10 segundos antes de que se detenga.
Considera usar Cloud Tasks para ejecutar tareas asíncronas. Cloud Tasks reintenta las tareas con errores de forma automática y admite tiempos de ejecución de hasta 30 minutos.
Consideraciones de costo
Si usas la facturación basada en solicitudes, la facturación basada en instancias puede ser más económica si se cumplen las siguientes condiciones:
- El servicio de Cloud Run procesa una gran cantidad de solicitudes actuales a una velocidad bastante estable
- No ves muchas instancias “inactivas” cuando observas la métrica de recuento de instancias.
Puedes usar la calculadora de precios para estimar las diferencias de costo.
Consideraciones sobre el ajuste de escala automático
De forma predeterminada, Cloud Run ajusta automáticamente la escala de la cantidad de instancias de contenedor.
En el caso de un servicio configurado como facturación basada en solicitudes, Cloud Run ajusta automáticamente la escala de la cantidad de instancias según el uso de CPU solo durante el procesamiento de solicitudes.
En el caso de un servicio configurado como facturación basada en instancias, Cloud Run ajusta automáticamente la escala de la cantidad de instancias según el uso de CPU durante todo el ciclo de vida de la instancia de contenedor, excepto cuando se ajusta de cero a cero, en cuyo caso solo usa solicitudes.
Consulta el ajuste de escala manual para obtener consideraciones adicionales si usas el ajuste de escala manual en lugar de la función de ajuste de escala automático de Cloud Run.
Consideraciones sobre la facturación basada en instancias
Incluso si el parámetro de configuración de facturación se establece en facturación basada en instancias, el ajuste de escala automático de Cloud Run aún sigue activo y puede finalizar las instancias si no son necesarias para controlar el tráfico entrante o la utilización de CPU actual fuera de las solicitudes. Una instancia nunca permanecerá inactiva durante más de 15 minutos después de procesar una solicitud, a menos que se mantenga activa mediante instancias mínimas.
La combinación de facturación basada en instancias con una cantidad de instancias mínimas da como resultado una cantidad de instancias en funcionamiento con acceso completo a los recursos de CPU, lo que permite casos de uso de procesamiento en segundo plano. Cuando se usa este patrón, Cloud Run aplica el ajuste de escala automático de instancia incluso si un servicio usa la CPU fuera de cualquier solicitud.
Si usas sondeos de verificación de estado, debes usar la facturación basada en instancias para cada sondeo. Consulta los sondeos de verificación de estado del contenedor para obtener detalles de facturación.
Roles obligatorios
Para obtener los permisos que necesitas para configurar y, luego, implementar los servicios de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:
- Desarrollador de Cloud Run (
roles/run.developer) en el servicio de Cloud Run - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) en la identidad del servicio
Si implementas un servicio o una función desde el código fuente, también debes tener roles adicionales otorgados en tu proyecto y en la cuenta de servicio de Cloud Build.
Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu servicio de Cloud Run interactúa con Google Cloud las APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.
Configura y actualiza la facturación
Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.
Si seleccionas la facturación basada en instancias, debes especificar al menos 512 MiB de memoria.
Puedes cambiar el parámetro de configuración de facturación mediante la Google Cloud consola, la gcloud CLI o un archivo YAML cuando creas un servicio nuevo o implementas una revisión nueva:
Console
En la Google Cloud consola de, ve a la página Servicios de Cloud Run:
Haz clic en Implementar contenedor para configurar un servicio nuevo. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en implementar y editar la nueva revisión.
Si estás configurando un servicio nuevo, completa la página de configuración inicial del servicio.
Selecciona un parámetro de configuración de facturación en Facturación. Selecciona facturación basada en solicitudes para que se les cobre a tus instancias solo durante el procesamiento de solicitudes. Selecciona facturación basada en instancias para que se les cobre a tus instancias durante toda la vida útil de las instancias.
Haz clic en Crear o Implementar.
gcloud
Puedes actualizar el parámetro de configuración de facturación. Para establecer la facturación basada en instancias para un servicio determinado, haz lo siguiente:
gcloud run services update SERVICE --no-cpu-throttling
Reemplaza SERVICE por el nombre del servicio.
Para establecer la facturación basada en solicitudes, haz lo siguiente:
gcloud run services update SERVICE --cpu-throttling
También puedes establecer el parámetro de configuración de facturación durante la implementación. Para establecer el parámetro de configuración de facturación en facturación basada en instancias, haz lo siguiente:
gcloud run deploy --image IMAGE_URL --no-cpu-throttling
Para establecer el parámetro de configuración de facturación en facturación basada en solicitudes, haz lo siguiente:
gcloud run deploy --image IMAGE_URL --cpu-throttling
Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, por
ejemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Si usas Artifact Registry,
el repositorio REPO_NAME debe
estar creado. La URL sigue el formato de LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
YAML
Si creas un servicio nuevo, omite este paso. Si actualizas un servicio existente, descarga su configuración de YAML:
gcloud run services describe SERVICE --format export > service.yaml
Actualiza el atributo
cpu:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/cpu-throttling: 'BOOLEAN' name: REVISION
Reemplaza lo siguiente:
- SERVICE: el nombre de tu servicio de Cloud Run
- BOOLEAN:
truepara establecer la facturación basada en solicitudes ofalsepara establecer la facturación basada en instancias - REVISION por un nombre de revisión nuevo o bórralo (si está presente). Si proporcionas un nuevo nombre de revisión, debe cumplir con los siguientes criterios:
- Comienza con
SERVICE- - Solo contiene letras minúsculas, números y
- - No termina con
- - No supera los 63 caracteres
- Comienza con
Crea o actualiza el servicio con el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega lo siguiente a ungoogle_cloud_run_v2_service
recurso en la configuración de Terraform:Ver la configuración de facturación
Para ver la configuración de facturación actual de tu servicio de Cloud Run, sigue estos pasos:
Console
En la Google Cloud consola de, ve a la página Servicios de Cloud Run:
Haz clic en el servicio para abrir la página Detalles del servicio.
Haz clic en la pestaña Revisiones.
En el panel de detalles, el parámetro de configuración de Facturación aparece en la pestaña General.
gcloud
Ejecuta el siguiente comando para ver la configuración de facturación:
gcloud run services describe SERVICE --format=yaml
En el resultado de YAML, busca el parámetro de configuración
run.googleapis.com/cpu-throttling. Un valor defalseindica la facturación basada en instancias y, si falta este parámetro de configuración, indica la facturación basada en solicitudes.