Establece la cantidad máxima de instancias (servicios)

En esta página, se describe cómo establecer el número máximo de instancias que se pueden usar en tu servicio de Cloud Run. Especificar un máximo de instancias en Cloud Run te permite limitar el escalamiento del servicio en respuesta a solicitudes entrantes, aunque esta configuración máxima se puede exceder durante un período breve debido a circunstancias como los aumentos de tráfico. Usa esta configuración como una forma de controlar tus costos o limitar la cantidad de conexiones a un servicio de apoyo, como una base de datos.

Para obtener información sobre los límites máximos de instancias que podrían aplicarse a tu servicio, consulta Límites máximos de instancias.

Para obtener más información sobre cómo Cloud Run realiza el ajuste de escala automático de las instancias de contenedor, consulta Ajuste de escala automático de instancias.

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:

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta Roles de IAM de Cloud Run y Permisos de IAM de Cloud Run. Si tu servicio de Cloud Run interactúa con las APIs de Google Cloud, 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 un máximo de instancias

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.

De forma predeterminada, los servicios de Cloud Run están configurados para escalar horizontalmente hasta un máximo de 100 instancias.

Puedes cambiar la configuración de instancias máximas mediante la consola de Google Cloud, la línea de comandos de gcloud o un archivo YAML cuando creas un servicio nuevo o implementas una revisión nueva.

Console

  1. En la consola de Google Cloud ve a Cloud Run:

    Ir a Cloud Run

  2. Haz clic en Implementar contenedor y selecciona Servicio 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.

  3. Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedores, volúmenes, Herramientas de redes y seguridad para expandir la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    imagen

    • En el campo Cantidad máxima de instancias, especifica la cantidad máxima deseada de instancias con un valor de número entero de 1 al límite máximo
  5. Haz clic en Crear o Implementar.

gcloud

Puedes actualizar la cantidad máxima de instancias de un servicio determinado mediante el siguiente comando:

gcloud run services update SERVICE --max-instances MAX-VALUE

Reemplazar

  • SERVICE por el nombre de tu servicio
  • MAX-VALUE por la cantidad máxima deseada de instancias de contenedor, mediante cualquier valor de número entero de 1 al límite máximo. Especifica default para borrar cualquier configuración de un máximo de instancias y restablecer el valor predeterminado de 100 instancias.

También puedes configurar la cantidad máxima de instancias durante la implementación mediante el siguiente comando:

gcloud run deploy --image IMAGE_URL --max-instances MAX-VALUE

Reemplazar

  • IMAGE_URL por una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • MAX-VALUE por la cantidad máxima deseada de instancias de contenedor

YAML

  1. 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
  2. Actualiza el atributo autoscaling.knative.dev/maxScale::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: 'MAX-INSTANCE'
          name: REVISION

    Reemplazar

    • SERVICE por el nombre del servicio de Cloud Run
    • MAX-INSTANCE por la cantidad máxima deseada
    • 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
  3. 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.

El siguiente recurso google_cloud_run_v2_service especifica una cantidad máxima de instancias de 10 en template.scaling. Reemplaza 10 por la cantidad máxima de instancias que deseas.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-max-instances"
  location = "us-central1"

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    scaling {
      # Max instances
      max_instance_count = 10
    }
  }
}

Límites máximos de instancias

De forma predeterminada, los servicios de Cloud Run están configurados en un máximo de 100 instancias

El límite máximo depende de la región del servicio de Cloud Run y su configuración de CPU y memoria.

En la página de cuotas, se muestran las cuotas de referencia por región.

La cantidad máxima de instancias se determina como el mínimo de:

  • referencia de cuota regional / múltiplo solicitado de 1 CPU
  • referencia de cuota regional / múltiplo solicitado de 2 GB de memoria

Por ejemplo, una cuota de referencia de 1,000 instancias con 4 GB de memoria o 2 CPU tendrá un límite efectivo de 500.

Si deseas especificar una cantidad máxima de instancias superior a la máxima permitida en la región del servicio de Cloud Run, debes solicitar un aumento de la cuota.

Visualiza la configuración máxima de instancias

Para ver la configuración máxima de instancias actual de tu servicio de Cloud Run, sigue estos pasos:

Console

  1. En la consola de Google Cloud ve a Cloud Run:

    Ir a Cloud Run

  2. Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.

  3. Haz clic en la pestaña Revisiones.

  4. En el panel de detalles a la derecha, la configuración de instancias máximas se muestra en la pestaña Contenedor.

gcloud

  1. Usa el siguiente comando:

    gcloud run services describe SERVICE
  2. Busca la configuración de instancias máximas en la configuración que se muestra.