Configurer un service Cloud Run

Dans Application Design Center, vous pouvez configurer un service Cloud Run pour exécuter des conteneurs sans état directement sur l'infrastructure évolutive et entièrement gérée de Google. Vous pouvez personnaliser le service pour vos connexions de composants et paramètres de configuration spécifiques. Les paramètres de configuration sont listés dans le module Terraform terraform-google-cloud-run.

Connexions des composants

Le tableau suivant inclut les composants que vous pouvez connecter à un service Cloud Run, ainsi que les mises à jour de votre application et de son code Terraform généré qui en résultent.

Composant connecté

Mises à jour de l'application

Informations générales

Secret Manager
  • Le service Cloud Run peut référencer les données du secret.
  • Le champ Données du secret de Secret Manager est référencé par le champ env_secret_vars de Cloud Run.
  • Le rôle roles/secretmanager.secretAccessor est ajouté au compte de service Cloud Run.
Configurer des secrets pour les services

Compte de service

  • Le service Cloud Run utilise le compte de service comme identité de service.
  • Le rôle roles/run.invoker est ajouté au compte de service.
  • L'adresse e-mail du compte de service et les informations IAM sont ajoutées aux variables d'environnement Cloud Run.
Authentification de service à service
AlloyDB pour PostgreSQL
  • Le service Cloud Run peut se connecter à l'instance AlloyDB pour PostgreSQL.
  • Les métadonnées de la ressource AlloyDB pour PostgreSQL sont ajoutées aux variables d'environnement Cloud Run.
  • Le rôle AlloyDB pour PostgreSQL roles/alloydb.admin est ajouté au compte de service Cloud Run.
Connexion depuis Cloud Run
BigQuery
  • Le service Cloud Run peut interagir avec l'ensemble de données BigQuery.
  • Les métadonnées de la ressource BigQuery sont ajoutées aux variables d'environnement Cloud Run.
  • Le rôle BigQuery roles/bigquery.dataEditor est ajouté au compte de service Cloud Run.
Présentation de BigQuery

Bigtable

  • Le service Cloud Run peut effectuer des fonctions d'administration sur l'instance Bigtable.
  • Les métadonnées de la ressource Bigtable sont ajoutées aux variables d'environnement Cloud Run.
  • Le rôle roles/bigtable.admin est ajouté au compte de service Cloud Run.
Présentation de Bigtable

Un autre service Cloud Run

  • Le service Cloud Run source peut envoyer du trafic au service Cloud Run de destination.
  • Le service Cloud Run source contient l'URI du service Cloud Run de destination dans ses variables d'environnement.
Qu'est-ce que Cloud Run ?

Cloud SQL (MySQL)

  • Le service Cloud Run peut lire et écrire des données dans l'instance Cloud SQL (MySQL).
  • Les métadonnées de connexion Cloud SQL sont ajoutées au service Cloud Run.
  • Les rôles roles/cloudsql.instanceUser et roles/cloudsql.client sont ajoutés au compte de service Cloud Run.
  • Le compte de service Cloud Run est ajouté en tant qu'utilisateur IAM à l'instance Cloud SQL.
Connexion depuis Cloud Run

Cloud SQL (PostgreSQL)

  • Le service Cloud Run peut lire et écrire des données dans l'instance Cloud SQL (PostgreSQL).
  • Les métadonnées de connexion Cloud SQL sont ajoutées au service Cloud Run.
  • Les rôles roles/cloudsql.instanceUser et roles/cloudsql.client sont ajoutés au compte de service Cloud Run.
  • Le compte de service Cloud Run est ajouté en tant qu'utilisateur IAM à l'instance Cloud SQL.
Connexion depuis Cloud Run

Cloud Storage

  • Le service Cloud Run peut gérer les objets du bucket Cloud Storage.
  • Les informations IAM du compte de service Cloud Run sont ajoutées au bucket Cloud Storage.
  • Le rôle roles/storage.objectAdmin est attribué au compte de service Cloud Run.
Se connecter aux services Google Cloud

Backend Cloud Load Balancing global

  • L'équilibreur de charge peut distribuer le trafic entrant vers le service Cloud Run.
  • Le service Cloud Run est ajouté en tant que point de terminaison de backend dans la configuration des backends de NEG sans serveur Cloud Load Balancing.
Configurer un équilibreur de charge d'application externe global avec Cloud Run

Memorystore pour Redis

  • Le service Cloud Run peut mettre en cache les données dans l'instance Memorystore pour Redis.
  • Les informations de connexion Memorystore for Redis sont ajoutées aux variables d'environnement Cloud Run.
  • Le rôle roles/redis.editor est ajouté au compte de service Cloud Run.
Se connecter à une instance Redis à partir d'un service Cloud Run

Memorystore for Redis Cluster

  • Le service Cloud Run peut mettre en cache les données dans le cluster Memorystore pour Redis.
  • Les informations de connexion au cluster Memorystore pour Redis sont ajoutées aux variables d'environnement Cloud Run.
  • App Design Center ajoute le rôle roles/redis.dbConnectionUser au compte de service Cloud Run.
Se connecter à une instance Memorystore for Redis Cluster

Memorystore for Valkey

  • Le service Cloud Run peut mettre en cache les données dans l'instance Memorystore pour Valkey.
  • App Design Center ajoute les informations de connexion Memorystore pour Valkey aux variables d'environnement Cloud Run.
  • App Design Center ajoute le rôle roles/memorystore.dbConnectionUser au compte de service Cloud Run.
Se connecter à une instance Memorystore pour Valkey

Pub/Sub

  • Le service Cloud Run peut recevoir des messages ou les publier dans le sujet Pub/Sub.
  • L'ID du sujet Pub/Sub est ajouté aux variables d'environnement Cloud Run.
  • Les rôles roles/pubsub.publisher et roles/pubsub.subscriber sont ajoutés au compte de service Cloud Run.
  • Le service Cloud Run est ajouté aux champs d'abonnement push et pull Pub/Sub.
Tutoriel : Utiliser Pub/Sub avec Cloud Run

Backend Cloud Load Balancing régional

  • L'équilibreur de charge peut distribuer le trafic entrant vers le service Cloud Run.
  • Le service Cloud Run est ajouté en tant que point de terminaison de backend dans la configuration des backends de NEG sans serveur Cloud Load Balancing.
Configurer un équilibreur de charge d'application externe régional avec Cloud Run

Interface Cloud Load Balancing régionale

  • Les adresses IP HTTP et HTTPS de l'équilibreur de charge sont disponibles pour l'application exécutée dans le conteneur Cloud Run.
  • Les métadonnées d'adresse Cloud Load Balancing sont ajoutées aux variables d'environnement Cloud Run.
Présentation des règles de transfert

Spanner

  • Le service Cloud Run peut gérer l'instance Spanner.
  • Les détails de la connexion Spanner sont ajoutés aux variables d'environnement Cloud Run.
  • Le rôle roles/spanner.databaseAdmin est ajouté au compte de service Cloud Run.
  • Les informations IAM du compte de service Cloud Run sont ajoutées à l'instance Spanner.
Se connecter aux services Google Cloud

Vertex AI

  • Le service Cloud Run peut interagir avec les services Vertex AI.
  • Le rôle roles/aiplatform.user est ajouté au compte de service Cloud Run.
Héberger des applications et des agents d'IA sur Cloud Run

Paramètres de configuration requis

Si votre modèle inclut un composant Cloud Run, vous devez configurer les paramètres suivants avant de le déployer.

Nom du paramètre

Description et contraintes

Informations générales

ID du projet

Le projet dans lequel vous souhaitez déployer la ressource Cloud Run.

Configurer les composants

Région

Emplacement de déploiement du service Cloud Run.

Emplacements Cloud Run

Nom du service

name Service Cloud Run

Paramètres de configuration facultatifs

Les paramètres suivants sont facultatifs. Pour afficher les paramètres avancés, dans la zone Configuration, sélectionnez Afficher les champs avancés.

Fonctionnalité

Sous-fonctionnalité

Nom du paramètre

Description et informations sur les contraintes

Informations générales

Conteneurs

Nom du conteneur

name Créer des conteneurs

Image de conteneur

image Déployer des images de conteneurs dans Cloud Run

Répertoire de travail

Répertoire de travail du conteneur. Si aucune valeur n'est spécifiée, la valeur par défaut de l'environnement d'exécution du conteneur est utilisée, qui peut être configurée dans l'image de conteneur.

workingDir

Dépend du conteneur

dependsOn[] Configurer l'ordre de démarrage des conteneurs pour les déploiements side-car

Arguments du conteneur

args[] Configurer des conteneurs pour les services

Commande du conteneur

command Configurer des conteneurs pour les services
Variables d'environnement

Clé

name Variables d'environnement pour les services

Valeur

value Variables d'environnement pour les services
Variables d'environnement secrètes

Clé

EnvVarSource Gérer les secrets

Secret

secret Gérer les secrets

Version

version Gérer les secrets
Installations de volumes

Nom

name Connexion depuis Cloud Run

Chemin d'installation

mountPath Connexion depuis Cloud Run
Ports

Nom

name Utiliser HTTP/2 pour les services

Port du conteneur

containerPort Utiliser HTTP/2 pour les services
Ressources

Processeur

limits Configurer les limites de processeur pour les services

Mémoire

limits Configurer les limites de mémoire pour les services

Processeur inactif

Indique si le processeur n'est alloué que pendant les requêtes.

cpuIdle

Optimisation du CPU au démarrage

startupCPUBoost Configurer l'optimisation du processeur au démarrage
Vérification du démarrage

Seuil d'échec

failureThreshold Configurer des vérifications d'état de conteneur pour les services

Délai initial en secondes

initialDelaySeconds Configurer des vérifications

Secondes avant expiration

timeoutSeconds Configurer des vérifications

Secondes de la période

periodSeconds Configurer des vérifications

Chemin d'accès HTTP Get

path Configurer des vérifications

Port HTTP Get

port Configurer des vérifications

Nom des en-têtes HTTP

name Configurer des vérifications

Valeur des en-têtes HTTP

value Configurer des vérifications

Port de socket TCP

port Vérification de démarrage TCP par défaut

Port GRPC

port Configurer des vérifications

Service gRPC

service Configurer des vérifications

Vérification d'activité

livenessProbe Cas d'utilisation

Description

description Définir les descriptions des services

Créer un compte de service

Créez un compte de service pour le service Cloud Run.

Configurer l'identité du service pour les jobs

Rôles de projet du compte de service

Rôles à attribuer au compte de service nouvellement créé. Activez l'option Créer un compte de service et ne fournissez pas d'entrée pour Compte de service.

Configurer l'identité du service pour les jobs

Entrée

IngressTraffic Restreindre l'entrée réseau pour Cloud Run

Membres

Utilisateurs et comptes de service pouvant appeler le service. Pour un accès public, saisissez allUsers. Pour autoriser l'accès aux utilisateurs Google connectés, saisissez allAuthenticatedUsers ou une liste d'utilisateurs et de comptes de service spécifiques. Pour en savoir plus, consultez Membres.

Configurer l'identité du service pour les jobs

Accès VPC

Connecteur

connector VPC avec connecteurs

Sortie egress Contrôler le trafic du service de sortie

Interfaces réseau

Réseau réseau Déployer un service
Sous-réseau subnetwork Déployer un service
Tags tags Déployer un service

Protection contre la suppression Cloud Run

Empêche Terraform de détruire ou de recréer des jobs et des services Cloud Run.

deletion_protection

Activer le side-car Prometheus

Activez le side-car Prometheus dans l'instance Cloud Run.

Écrire des métriques Prometheus à l'aide du side-car Prometheus

Volumes

Nom

name Configurer un volume en mémoire
Secret Secret secret Rendre un secret accessible à Cloud Run
Mode par défaut defaultMode
Chemin d'accès path Rendre un secret disponible pour Cloud Run
Version version Rendre un secret disponible pour Cloud Run
Mode mode Rendre un secret disponible pour Cloud Run
Instance Cloud SQL Instances instances[] Connexion depuis Cloud Run
Empty Dir Moyenne medium Configurer les installations de volume en mémoire pour les services
Limite de taille sizeLimit Configurer les installations de volume en mémoire pour les services
GCS Bucket bucket Configurer des montages de volume Cloud Storage pour les services
Lecture seule readOnly Configurer des montages de volume Cloud Storage pour les services
NFS Serveur server Configurer les installations de volume NFS pour les services
Chemin d'accès path Configurer les installations de volume NFS pour les services
Lecture seule readOnly Configurer les installations de volume NFS pour les services

Scaling de service

Nombre minimal d'instances

minInstanceCount Définir un nombre minimal d'instances pour les services

Révision

révision Révisions de service Cloud Run

Scaling de modèles

Nombre minimal d'instances

minInstanceCount Définir un nombre minimal d'instances pour les services
Nombre maximal d'instances maxInstanceCount À propos du nombre maximal d'instances

Clé de chiffrement

encryptionKey Utiliser les clés de chiffrement gérées par le client

Simultanéité maximale des requêtes d'instance

maxInstanceRequestConcurrency Nombre maximal de requêtes simultanées pour les services

Affinité de session

sessionAffinity Définir l'affinité de session pour les services

Environnement d'exécution

executionEnvironment À propos des environnements d'exécution des services

Trafic

Type

type Rollbacks, déploiements progressifs et migration du trafic
Pourcentage percent Rollbacks, déploiements progressifs et migration du trafic
Révision révision Rollbacks, déploiements progressifs et migration du trafic
Tag tag Rollbacks, déploiements progressifs et migration du trafic

Libellés de service

Clé

labels Configurer des étiquettes pour les services
Valeur labels Configurer des étiquettes pour les services

Annotations de service

Clé

annotations annotations
Valeur annotations annotations

Client

Nom

Identifiant arbitraire du client API.

client
Version

Identifiant arbitraire de l'identifiant de version.

clientVersion

Étape de lancement

LaunchStage Étapes de lancement des produits

Audiences personnalisées

customAudience Définir des audiences personnalisées pour les services

Autorisation binaire

Justification de l'accès d'urgence

breakglassJustification Utiliser Breakglass
Utiliser les valeurs par défaut useDefault Utiliser l'autorisation binaire

Étiquettes de modèle

Clé

labels Configurer des étiquettes pour les services
Valeur labels Configurer des étiquettes pour les services

Annotations de modèle

Clé

annotations annotations
Valeur annotations annotations

Délai avant expiration

timeout Définir le délai avant expiration des requêtes pour les services

Compte de service

serviceAccount Configurer l'identité du service pour les services