Configurar un servicio de Cloud Run en Application Design Center

Cloud Run es una plataforma de aplicaciones totalmente gestionada que te permite ejecutar contenedores directamente en la infraestructura escalable de Google. Para obtener más información, consulta la descripción general de Cloud Run.

En este documento se describen las conexiones y los parámetros que puede configurar al usar App Design Center para crear un servicio de Cloud Run. Los parámetros de configuración se basan 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, así como las actualizaciones resultantes en tu aplicación y en el código de Terraform generado.

Componente conectado

Actualizaciones de aplicaciones

Información general

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

Cuenta de servicio

  • El servicio Cloud Run usa la cuenta de servicio como identidad de servicio.
  • El rol roles/run.invoker se añade a la cuenta de servicio.
  • El correo de la cuenta de servicio y la información de gestión de identidades y accesos se añaden a las variables de entorno de Cloud Run.
Autenticación entre servicios
AlloyDB for PostgreSQL
  • El servicio de Cloud Run puede conectarse a la instancia de AlloyDB para PostgreSQL.
  • Los metadatos de recursos de AlloyDB para PostgreSQL se añaden a las variables de entorno de Cloud Run.
  • El rol roles/alloydb.admin de AlloyDB para PostgreSQL se añade 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 añaden a las variables de entorno de Cloud Run.
  • El rol roles/bigquery.dataEditor de BigQuery se añade 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 añade a las variables de entorno de Cloud Run.
  • El rol roles/bigtable.admin se añade 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 conexión de Cloud SQL se añaden al servicio de Cloud Run.
  • Los roles roles/cloudsql.instanceUser y roles/cloudsql.client se añaden a la cuenta de servicio de Cloud Run.
  • La cuenta de servicio de Cloud Run se añade como 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 conexión de Cloud SQL se añaden al servicio de Cloud Run.
  • Los roles roles/cloudsql.instanceUser y roles/cloudsql.client se añaden a la cuenta de servicio de Cloud Run.
  • La cuenta de servicio de Cloud Run se añade como usuario de IAM a la instancia de Cloud SQL.
Conectarse desde Cloud Run

Cloud Storage

  • El servicio de Cloud Run puede gestionar objetos en el segmento de Cloud Storage.
  • La información de gestión de identidades y accesos de la cuenta de servicio de Cloud Run se añade al segmento de Cloud Storage.
  • El rol roles/storage.objectAdmin se asigna a la cuenta de servicio de Cloud Run.
Conectar con Google Cloud servicios

Backend de balanceo de carga global de Cloud

  • El balanceador de carga puede distribuir el tráfico entrante al servicio de Cloud Run.
  • El servicio de Cloud Run se añade como un endpoint de backend en la configuración de backends de NEG sin servidor de Cloud Load Balancing.
Configurar un balanceador de carga de aplicación externo global con Cloud Run

Memorystore para Redis

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

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 añade a las variables de entorno de Cloud Run.
  • Los roles roles/pubsub.publisher y roles/pubsub.subscriber se añaden a la cuenta de servicio de Cloud Run.
  • El servicio de Cloud Run se añade a los campos de suscripción de inserción y extracción de Pub/Sub.
Tutorial para usar Pub/Sub con Cloud Run

Backend de Cloud Load Balancing regional

  • El balanceador de carga puede distribuir el tráfico entrante al servicio de Cloud Run.
  • El servicio de Cloud Run se añade como un endpoint de backend en la configuración de backends de NEG sin servidor de Cloud Load Balancing.
Configurar un balanceador de carga de aplicación externo regional con Cloud Run

Frontend de Cloud Load Balancing regional

  • La aplicación que se ejecuta en el contenedor de Cloud Run puede acceder a las direcciones IP HTTP y HTTPS del balanceador de carga.
  • Los metadatos de la dirección de Cloud Load Balancing se añaden a las variables de entorno de Cloud Run.
Descripción general de las reglas de reenvío

Spanner

  • El servicio de Cloud Run puede gestionar la instancia de Spanner.
  • Los detalles de la conexión de Spanner se añaden a las variables de entorno de Cloud Run.
  • El rol roles/spanner.databaseAdmin se añade a la cuenta de servicio de Cloud Run.
  • La información de gestión de identidades y accesos de la cuenta de servicio de Cloud Run se añade a la instancia de Spanner.
Conectar con Google Cloud servicios

Vertex AI

  • El servicio de Cloud Run puede interactuar con los servicios de Vertex AI.
  • El rol roles/aiplatform.user se añade a la cuenta de servicio de Cloud Run.
Alojar aplicaciones 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 implementarla.

Nombre del parámetro

Descripción y restricciones

Información general

ID del proyecto

El proyecto en el que quieres desplegar el recurso de Cloud Run.

Configurar componentes

Region

Ubicación de despliegue 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

Descripción e información de las restricciones

Información general

Contenedores

Nombre del contenedor

name Crear contenedores

Imagen del contenedor

image Desplegar imágenes de contenedor en Cloud Run

Directorio de trabajo

El directorio de trabajo del contenedor. Si no se especifica, se usará el valor predeterminado del tiempo de ejecución del contenedor, que puede configurarse en la imagen del contenedor.

workingDir

Depende del contenedor

dependsOn[] Configurar el orden de inicio de los contenedores en las implementaciones de sidecar

Argumentos del contenedor

args[] Configurar contenedores para servicios

Comando de contenedor

comando Configurar contenedores para servicios
Variables de entorno

Clave

name Variables de entorno de los servicios

Valor

value Variables de entorno de los servicios
Variables secretas de entorno

Clave

EnvVarSource Gestionar secretos

Secreto

secreto Gestionar secretos

Versión

version Gestionar secretos
Montajes de volúmenes

Nombre

name Conectarse desde Cloud Run

Ruta de montaje

mountPath Conectarse desde Cloud Run
Puertos

Nombre

name Usar HTTP/2 para los servicios

Puerto del contenedor

containerPort Usar HTTP/2 para los servicios
Recursos

CPU

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

Memoria

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

Inactividad de la CPU

Indica si la CPU solo se asigna durante las solicitudes.

cpuIdle

Aumento de CPU al inicio

startupCPUBoost Definir el aumento de la CPU al inicio
Sonda de inicio

Umbral de errores

failureThreshold Configurar comprobaciones del estado de los contenedores de los servicios

Segundos de retraso inicial

initialDelaySeconds Configurar sondas

Segundos de tiempo de espera

timeoutSeconds Configurar sondas

Segundos del periodo

periodSeconds Configurar sondas

Ruta de obtención HTTP

ruta Configurar sondas

Puerto de obtención de HTTP

puerto Configurar sondas

Nombre de los encabezados HTTP

name Configurar sondas

Valor de encabezados HTTP

value Configurar sondas

Puerto de socket TCP

puerto La comprobación de inicio de TCP predeterminada

Puerto GRPC

puerto Configurar sondas

Servicio GRPC

servicio Configurar sondas

Prueba de actividad

livenessProbe Use cases

Descripción

description Definir descripciones de los servicios

Crear cuenta de servicio

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

Configurar la identidad de servicio para los trabajos

Roles de proyecto de la cuenta de servicio

Roles que se van a asignar a la cuenta de servicio recién creada. Habilita Crear cuenta de servicio y no introduzcas nada en Cuenta de servicio.

Configurar la identidad de servicio para los trabajos

Entrada

IngressTraffic Restringir el acceso de red a Cloud Run

Miembros

Usuarios y cuentas de servicio que pueden invocar el servicio. Para el acceso público, introduce allUsers. Para que puedan acceder los usuarios de Google que hayan iniciado sesión, introduce allAuthenticatedUsers o una lista de usuarios y cuentas de servicio específicos. Para obtener más información, consulta Miembros.

Configurar la identidad de servicio para los trabajos

Acceso a la VPC

Conector

connector VPC con conectores

Salida salida Controlar el tráfico del servicio de salida

Interfaces de red

Red red Desplegar un servicio
Subred subnetwork Desplegar un servicio
Etiquetas etiquetas Desplegar un servicio

Protección contra eliminación de Cloud Run

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

deletion_protection

Habilitar el complemento de Prometheus

Habilita el complemento de Prometheus en la instancia de Cloud Run.

Escribir métricas de Prometheus mediante el sidecar de Prometheus

Volúmenes

Nombre

name Configurar un volumen en memoria
Secret Secreto secreto Hacer que un secreto sea accesible para Cloud Run
Modo predeterminado defaultMode
Ruta ruta Poner un secreto a disposición de Cloud Run
Versión version Poner un secreto a disposición de Cloud Run
Modo modo Poner un secreto a disposición de Cloud Run
Instancia de Cloud SQL Instancias instances[] Conectarse desde Cloud Run
Directorio vacío Mediano medium Configurar montajes de volúmenes en memoria para servicios
Límite de tamaño sizeLimit Configurar montajes de volúmenes en memoria para servicios
GCS Categoría segmento Configurar los montajes de volúmenes de Cloud Storage para servicios
Solo lectura readOnly Configurar los montajes de volúmenes de Cloud Storage para servicios
NFS Servidor servidor Configurar los montajes de volúmenes NFS para servicios
Ruta ruta Configurar los montajes de volúmenes NFS para servicios
Solo lectura readOnly Configurar los montajes de volúmenes NFS para servicios

Escalado de servicios

Número mínimo de instancias

minInstanceCount Definir el número mínimo de instancias de los servicios

Revisión

revisión Revisiones de servicios de Cloud Run

Escalado de plantillas

Número mínimo de instancias

minInstanceCount Definir el número mínimo de instancias de los servicios
Número máximo de instancias maxInstanceCount Acerca de las instancias máximas

Clave de cifrado

encryptionKey Usar claves de encriptado gestionadas por el cliente

Simultaneidad máxima de solicitudes por instancia

maxInstanceRequestConcurrency Número máximo de solicitudes simultáneas de servicios

Afinidad de sesión

sessionAffinity Definir la afinidad de sesión de los servicios

Entorno de ejecución

executionEnvironment Acerca de los entornos de ejecución de servicios

Tráfico

Tipo

type Restauraciones, lanzamientos graduales y migración de tráfico
Porcentaje porcentaje Restauraciones, lanzamientos graduales y migración de tráfico
Revisión revisión Restauraciones, lanzamientos graduales y migración de tráfico
Etiqueta etiqueta Restauraciones, lanzamientos graduales y migración de tráfico

Etiquetas de servicio

Clave

labels Configurar etiquetas de servicios
Valor labels Configurar etiquetas de servicios

Anotaciones de servicio

Clave

anotaciones anotaciones
Valor anotaciones anotaciones

Cliente

Nombre

Identificador arbitrario del cliente de la API.

cliente
Versión

Identificador arbitrario del identificador de versión.

clientVersion

Fase de lanzamiento

LaunchStage Fases de lanzamiento de los productos

Audiencias personalizadas

customAudience Definir audiencias personalizadas para servicios

Autorización binaria

Justificación de acceso de emergencia

breakglassJustification Usar el acceso de emergencia
Usar predeterminado useDefault Usar Autorización binaria

Etiquetas de plantilla

Clave

labels Configurar etiquetas de servicios
Valor labels Configurar etiquetas de servicios

Anotaciones de plantilla

Clave

anotaciones anotaciones
Valor anotaciones anotaciones

Tiempo de espera

timeout Configurar el tiempo de espera de las solicitudes de los servicios

Cuenta de servicio

serviceAccount Configurar la identidad de servicio para los servicios