Configura un servicio de Cloud Run

En Application Design Center, puedes configurar un servicio de Cloud Run para ejecutar contenedores sin estado directamente en la infraestructura escalable y completamente administrada de Google. Puedes personalizar el servicio para las conexiones de componentes y los parámetros de configuración específicos. Los parámetros de configuración se enumeran en el módulo de Terraform terraform-google-cloud-run.

Conexiones de componentes

En la siguiente tabla, se incluyen los componentes que puedes conectar a un servicio de Cloud Run y las actualizaciones resultantes en tu aplicación y su código de Terraform generado.

Componente conectado

Actualizaciones de la aplicación

Información general

Secret Manager
  • El servicio de Cloud Run puede hacer referencia a los datos del secreto.
  • El campo Datos del Secret de Secret Manager se menciona en el campo env_secret_vars de Cloud Run.
  • El rol roles/secretmanager.secretAccessor se agrega a la cuenta de servicio de Cloud Run.
Configura secretos para los servicios

Cuenta de servicio

  • El servicio de Cloud Run usa la cuenta de servicio como una identidad de servicio.
  • El rol roles/run.invoker se agrega a la cuenta de servicio.
  • El correo electrónico de la cuenta de servicio y la información de IAM se agregan a las variables de entorno de Cloud Run.
Autentica servicio a servicio
AlloyDB para PostgreSQL
  • El servicio de Cloud Run puede conectarse a la instancia de AlloyDB para PostgreSQL.
  • Los metadatos del recurso de AlloyDB para PostgreSQL se agregan a las variables de entorno de Cloud Run.
  • El rol roles/alloydb.admin de AlloyDB para PostgreSQL se agrega a la cuenta de servicio de Cloud Run.
Conectarse desde Cloud Run
BigQuery
  • El servicio de Cloud Run puede interactuar con el conjunto de datos de BigQuery.
  • Los metadatos de recursos de BigQuery se agregan a las variables de entorno de Cloud Run.
  • El rol roles/bigquery.dataEditor de BigQuery se agrega a la cuenta de servicio de Cloud Run.
Descripción general de BigQuery

Bigtable

  • El servicio de Cloud Run puede realizar funciones administrativas en la instancia de Bigtable.
  • La información de los metadatos del recurso de Bigtable se agrega a las variables de entorno de Cloud Run.
  • El rol roles/bigtable.admin se agrega a la cuenta de servicio de Cloud Run.
Descripción general de Bigtable

Otro servicio de Cloud Run

  • El servicio de Cloud Run de origen puede enviar tráfico al servicio de Cloud Run de destino.
  • El servicio de Cloud Run de origen contiene el URI del servicio de Cloud Run de destino en sus variables de entorno.
¿Qué es Cloud Run?

Cloud SQL (MySQL)

  • El servicio de Cloud Run puede leer y escribir datos en la instancia de Cloud SQL (MySQL).
  • Los metadatos de la conexión de Cloud SQL se agregan al servicio de Cloud Run.
  • Los roles roles/cloudsql.instanceUser y roles/cloudsql.client se agregan a la cuenta de servicio de Cloud Run.
  • La cuenta de servicio de Cloud Run se agrega como un usuario de IAM a la instancia de Cloud SQL.
Conectarse desde Cloud Run

Cloud SQL (PostgreSQL)

  • El servicio de Cloud Run puede leer y escribir datos en la instancia de Cloud SQL (PostgreSQL).
  • Los metadatos de la conexión de Cloud SQL se agregan al servicio de Cloud Run.
  • Los roles roles/cloudsql.instanceUser y roles/cloudsql.client se agregan a la cuenta de servicio de Cloud Run.
  • La cuenta de servicio de Cloud Run se agrega como un usuario de IAM a la instancia de Cloud SQL.
Conectarse desde Cloud Run

Cloud Storage

  • El servicio de Cloud Run puede administrar objetos en el bucket de Cloud Storage.
  • La información de IAM de la cuenta de servicio de Cloud Run se agrega al bucket de Cloud Storage.
  • El rol roles/storage.objectAdmin se asigna a la cuenta de servicio de Cloud Run.
Conéctate a los servicios de Google Cloud

Backend de Cloud Load Balancing global

  • El balanceador de cargas puede distribuir el tráfico entrante al servicio de Cloud Run.
  • El servicio de Cloud Run se agrega como un extremo de backend en la configuración de backends de NEG sin servidores de Cloud Load Balancing.
Configura un balanceador de cargas de aplicaciones externo global con Cloud Run

Memorystore for Redis

  • El servicio de Cloud Run puede almacenar en caché los datos en la instancia de Memorystore para Redis.
  • La información de conexión de Memorystore para Redis se agrega a las variables de entorno de Cloud Run.
  • El rol roles/redis.editor se agrega a la cuenta de servicio de Cloud Run.
Conéctate a una instancia de Redis desde un servicio de Cloud Run

Memorystore for Redis Cluster

  • El servicio de Cloud Run puede almacenar en caché los datos en el clúster de Memorystore para Redis.
  • La información de conexión de Memorystore para Redis Cluster se agrega a las variables de entorno de Cloud Run.
  • App Design Center agrega el rol roles/redis.dbConnectionUser a la cuenta de servicio de Cloud Run.
Conéctate a una instancia de Memorystore para Redis Cluster

Memorystore for Valkey

  • El servicio de Cloud Run puede almacenar datos en caché en la instancia de Memorystore para Valkey.
  • App Design Center agrega la información de conexión de Memorystore para Valkey a las variables de entorno de Cloud Run.
  • App Design Center agrega el rol roles/memorystore.dbConnectionUser a la cuenta de servicio de Cloud Run.
Conéctate a una instancia de Memorystore para Valkey

Pub/Sub

  • El servicio de Cloud Run puede recibir mensajes o publicar en el tema de Pub/Sub.
  • El ID del tema de Pub/Sub se agrega a las variables de entorno de Cloud Run.
  • Los roles roles/pubsub.publisher y roles/pubsub.subscriber se agregan a la cuenta de servicio de Cloud Run.
  • El servicio de Cloud Run se agrega a los campos de suscripción de envío y extracción de Pub/Sub.
Instructivo de uso de Pub/Sub con Cloud Run

Backend regional de Cloud Load Balancing

  • El balanceador de cargas puede distribuir el tráfico entrante al servicio de Cloud Run.
  • El servicio de Cloud Run se agrega como un extremo de backend en la configuración de backends de NEG sin servidores de Cloud Load Balancing.
Configura un balanceador de cargas de aplicaciones externo regional con Cloud Run

Frontend regional de Cloud Load Balancing

  • Las direcciones IP HTTP y HTTPS del balanceador de cargas están disponibles para la aplicación que se ejecuta en el contenedor de Cloud Run.
  • Los metadatos de la dirección de Cloud Load Balancing se agregan a las variables de entorno de Cloud Run.
Descripción general de las reglas de reenvío

Spanner

  • El servicio de Cloud Run puede administrar la instancia de Spanner.
  • Los detalles de la conexión de Spanner se agregan a las variables de entorno de Cloud Run.
  • El rol roles/spanner.databaseAdmin se agrega a la cuenta de servicio de Cloud Run.
  • La información de IAM de la cuenta de servicio de Cloud Run se agrega a la instancia de Spanner.
Conéctate a los servicios de Google Cloud

Vertex AI

  • El servicio de Cloud Run puede interactuar con los servicios de Vertex AI.
  • El rol roles/aiplatform.user se agrega a la cuenta de servicio de Cloud Run.
Aloja apps y agentes de IA en Cloud Run

Parámetros de configuración obligatorios

Si tu plantilla incluye un componente de Cloud Run, debes configurar los siguientes parámetros antes de la implementación.

Nombre del parámetro

Descripción y restricciones

Información general

ID del proyecto

Es el proyecto en el que deseas implementar el recurso de Cloud Run.

Configura componentes

Región

Es la ubicación de implementación del servicio de Cloud Run.

Ubicaciones de Cloud Run

Nombre del servicio

name Servicio de Cloud Run

Parámetros de configuración opcionales

Los siguientes parámetros son opcionales. Para mostrar los parámetros avanzados, en el área Configuración, selecciona Mostrar campos avanzados.

Función

Subfunción

Nombre del parámetro

Información sobre la descripción y la restricción

Información general

Contenedores

Nombre del contenedor

name Compila contenedores

Imagen de contenedor

image Implementa imágenes de contenedor en Cloud Run

Directorio de trabajo

Es el directorio de trabajo del contenedor. Si no se especifica, se usa el valor predeterminado del entorno de ejecución de contenedores, que podría estar configurado en la imagen de contenedor.

workingDir

Depende del contenedor

dependsOn[] Configura el orden de inicio del contenedor para implementaciones de sidecar

Argumentos del contenedor

args[] Configura contenedores para servicios

Comando del contenedor

command Configura contenedores para servicios
Variables de entorno

Clave

name Variables de entorno para servicios

Valor

value Variables de entorno para servicios
Variables de entorno secretas

Clave

EnvVarSource Administra secretos

Secreto

secret Administra secretos

Versión

version Administra secretos
Activaciones de volúmenes

Nombre

name Conectarse desde Cloud Run

Ruta de activación

mountPath Conectarse desde Cloud Run
Puertos

Nombre

name Usa HTTP/2 para los servicios

Puerto del contenedor

containerPort Usa HTTP/2 para los servicios
Recursos

CPU

límites Configura los límites de CPU para los servicios

Memoria

límites Configura límites de memoria para los servicios

CPU inactiva

Indica si la CPU solo se asigna durante las solicitudes.

cpuIdle

Aumento de CPU de inicio

startupCPUBoost Establece el aumento de CPU de inicio
Sondeo de inicio

Umbral de fallas

failureThreshold Configura verificaciones de estado de contenedores para servicios

Segundos de retraso inicial

initialDelaySeconds Configura sondeos

Segundos de tiempo de espera

timeoutSeconds Configura sondeos

Segundos del período

periodSeconds Configura sondeos

Ruta de acceso GET de HTTP

path Configura sondeos

Puerto HTTP GET

puerto Configura sondeos

Nombre de los encabezados HTTP

name Configura sondeos

Valor de los encabezados HTTP

value Configura sondeos

Puerto de socket TCP

puerto El sondeo de inicio de TCP predeterminado

Puerto de gRPC

puerto Configura sondeos

Servicio de gRPC

service Configura sondeos

Sondeo de funcionamiento

livenessProbe Casos de uso

Descripción

description Establece descripciones de servicios

Crea una cuenta de servicio

Crea una cuenta de servicio nueva para el servicio de Cloud Run.

Configura la identidad de servicio para los trabajos

Roles de proyecto de la cuenta de servicio

Son los roles que se otorgarán a la cuenta de servicio recién creada. Habilita Crear cuenta de servicio y no proporciones entradas para Cuenta de servicio.

Configura la identidad de servicio para los trabajos

Entrada

IngressTraffic Restringe la entrada de red para Cloud Run

Miembros

Son los usuarios y las cuentas de servicio que pueden invocar el servicio. Para el acceso público, ingresa allUsers. Para que accedan los usuarios de Google que accedieron, ingresa allAuthenticatedUsers o una lista de usuarios y cuentas de servicio específicos. Para obtener más información, consulta Miembros.

Configura la identidad de servicio para los trabajos

Acceso de VPC

Conector

connector VPC con conectores

Salida egress Controla el tráfico del servicio de salida

Interfaces de red

Red network Implementa un servicio
Subred subred Implementa un servicio
Etiquetas etiquetas Implementa un servicio

Protección contra eliminaciones de Cloud Run

Evita que Terraform destruya o vuelva a crear trabajos y servicios de Cloud Run.

deletion_protection

Habilita el archivo adicional de Prometheus

Habilita el archivo adicional de Prometheus en la instancia de Cloud Run.

Escribe métricas de Prometheus con el archivo adicional de Prometheus

Volúmenes

Nombre

name Configura un volumen en memoria
Secret Secreto secret Haz que Cloud Run tenga acceso a un Secret
Modo predeterminado defaultMode
Ruta de acceso path Haz que un Secret esté disponible para Cloud Run
Versión version Haz que un Secret esté disponible para Cloud Run
Mode modo Haz que un Secret esté disponible para Cloud Run
Instancia de Cloud SQL Instancias instances[] Conectarse desde Cloud Run
Empty Dir Medium medium Configura activaciones de volúmenes en memoria para servicios
Límite de tamaño sizeLimit Configura activaciones de volúmenes en memoria para servicios
GCS Bucket bucket Configura activaciones de volúmenes de Cloud Storage para servicios
Solo lectura readOnly Configura activaciones de volúmenes de Cloud Storage para servicios
NFS Servidor servidor Configura activaciones de volúmenes de NFS para servicios
Ruta de acceso path Configura activaciones de volúmenes de NFS para servicios
Solo lectura readOnly Configura activaciones de volúmenes de NFS para servicios

Escalamiento de servicios

Cantidad mínima de instancias

minInstanceCount Establece la cantidad mínima de instancias para los servicios

Revisión

revisión Revisiones de servicios de Cloud Run

Escalamiento de plantillas

Cantidad mínima de instancias

minInstanceCount Establece la cantidad mínima de instancias para los servicios
Cantidad máxima de instancias maxInstanceCount Acerca de la cantidad máxima de instancias

Clave de encriptación

encryptionKey Usa claves de encriptación administradas por el cliente

Simultaneidad máxima de solicitudes por instancia

maxInstanceRequestConcurrency Cantidad máxima de solicitudes simultáneas para servicios

Afinidad de sesión

sessionAffinity Configura la afinidad de sesión para los servicios

Entorno de ejecución

executionEnvironment Acerca de los entornos de ejecución de servicios

Tráfico

Tipo

type Reversiones, lanzamientos graduales y migración de tráfico
Percent percent Reversiones, lanzamientos graduales y migración de tráfico
Revisión revisión Reversiones, lanzamientos graduales y migración de tráfico
Etiqueta tag Reversiones, lanzamientos graduales y migración de tráfico

Etiquetas de servicio

Clave

labels Configura etiquetas para los servicios
Valor labels Configura etiquetas para los servicios

Anotaciones de Service

Clave

annotations annotations
Valor annotations annotations

Cliente

Nombre

Es un identificador arbitrario para el cliente de API.

cliente
Versión

Identificador arbitrario para el identificador de versión.

clientVersion

Etapa de lanzamiento

LaunchStage Etapas de lanzamiento de productos

Públicos personalizados

customAudience Configura públicos personalizados para los servicios

Autorización binaria

Justificación de la anulación de emergencia

breakglassJustification Usa la anulación de emergencia
Usar la opción predeterminada useDefault Usa la Autorización binaria

Etiquetas de plantillas

Clave

labels Configura etiquetas para los servicios
Valor labels Configura etiquetas para los servicios

Anotaciones de plantillas

Clave

annotations annotations
Valor annotations annotations

Tiempo de espera

timeout Configura el tiempo de espera de la solicitud para los servicios

Cuenta de servicio

serviceAccount Configura la identidad de los servicios