Cette page explique comment créer et gérer des instances Cloud Run singleton adressables individuellement. Contrairement aux services Cloud Run qui évoluent en fonction du trafic entrant, une instance est un conteneur de calcul dédié que vous gérez manuellement à l'aide de transitions de cycle de vie (créer, arrêter, démarrer, mettre à jour, supprimer).
Régions où le service est disponible
Vous pouvez créer des instances Cloud Run dans n'importe quelle région compatible, à l'exception des régions suivantes :
europe-west1us-central1us-east1
Avant de commencer
Configurez un nouveau projet pour Cloud Run, comme décrit sur la page de configuration.
Activez l'API Cloud Run Admin :
gcloud services enable run.googleapis.comMettez à jour les composants
gcloudvers la dernière version :gcloud components update
Si vous êtes soumis à une règle d'administration de restriction de domaine limitant les appels non authentifiés pour votre projet, vous devez accéder au service déployé comme décrit dans la section Tester les services privés.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer et déployer des instances Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :
- Développeur Cloud Run (
roles/run.developer) sur l'instance Cloud Run - Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur l'identité du service
Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre instance Cloud Run communique avec des APIGoogle Cloud , telles que des bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.
Créer une instance
Vous pouvez déployer une image de conteneur pour créer une instance. Si vous ne fournissez pas de nom, un nom est généré automatiquement.
gcloud
Pour créer une instance Cloud Run à l'aide de la commande gcloud beta run instances create :
gcloud beta run instances create INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
Pour créer une instance Cloud Run à l'aide de la commande gcloud beta run instances deploy :
gcloud beta run instances deploy INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance que vous créez. Le nom de l'instance doit être unique dans votre projet et votre région. Vous ne pouvez pas créer d'instance portant le même nom qu'une instance ou un service Cloud Run existants.IMAGE_URL: référence à l'image de conteneur, par exempleus-docker.pkg.dev/cloudrun/container/instances:latest.REGION: région Google Cloud dans laquelle vous exécutez votre instance, par exempleeurope-west1.
Bibliothèques clientes
Pour créer une instance à partir du code :
API REST
Pour créer une instance Cloud Run, envoyez une requête HTTP POST au point de terminaison instances.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "containers": [{ "image": "IMAGE_URL", "ports": [{"containerPort": PORT}] }], "ingress": "INGRESS_TRAFFIC_ALL", "invokerIamDisabled": true, "timeout": "3600s" }' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances?instance_id=INSTANCE_NAME"
Remplacez les éléments suivants :
IMAGE_URL: URL de votre image de conteneur.PORT: port sur lequel votre conteneur écoute.PROJECT_ID: ID de votre projet Google Cloud .REGION: Google Cloud région de votre déploiement.INSTANCE_NAME: nom de votre nouvelle instance.
Une fois l'instance créée, elle reçoit une URL Cloud Run au format suivant :
https://INSTANCE_NAME-PROJECT_NUMBER.REGION.run.app
Mettre à jour une instance
Lorsque vous mettez à jour une instance, par exemple son image de conteneur, son port ou ses variables d'environnement, elle est redémarrée.
gcloud
Pour mettre à jour une instance Cloud Run à l'aide de la commande gcloud beta run instances update :
gcloud beta run instances update INSTANCE_NAME \ --image NEW_IMAGE_URL \ --region REGION
Pour mettre à jour une instance Cloud Run à l'aide de la commande gcloud beta run instances deploy :
gcloud beta run instances deploy INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
API REST
Pour mettre à jour la configuration d'une instance Cloud Run à partir de l'API, envoyez une requête HTTP PATCH au point de terminaison de l'URI de l'instance.
curl -H "Content-Type: application/json" \ -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{template: {containers: [{image: "IMAGE_URL"}]}}' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Arrêter une instance
Utilisez la commande ou la méthode d'arrêt pour arrêter une instance Cloud Run en cours d'exécution.
gcloud
Pour arrêter une instance, procédez comme suit :
gcloud beta run instances stop INSTANCE_NAME \ --region REGION
Bibliothèques clientes
Pour arrêter une instance en cours d'exécution à partir du code :
API REST
Pour arrêter une instance, envoyez une requête HTTP POST avec le décorateur :stop :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:stop"
Démarrer ou redémarrer une instance
Utilisez la commande ou la méthode "start" pour démarrer une instance arrêtée ou forcer le redémarrage d'une instance existante.
gcloud
Pour démarrer ou redémarrer une instance :
gcloud beta run instances start INSTANCE_NAME \ --region REGION
Bibliothèques clientes
Pour démarrer une instance arrêtée à partir du code :
API REST
Pour démarrer une instance, envoyez une requête HTTP POST avec le décorateur :start :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:start"
Afficher la liste des instances de votre projet
Vous pouvez afficher toutes les instances actives et inactives de votre projet.
gcloud
Pour lister les instances d'une région spécifique :
gcloud beta run instances list \ --region REGION
Remplacez REGION par la région Google Cloud dans laquelle vous exécutez votre instance.
Bibliothèques clientes
Pour lister les instances actives et inactives à partir du code :
API REST
Pour récupérer la liste des instances, envoyez une requête HTTP GET :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"
Afficher les détails de l'instance
Utilisez la commande ou la méthode "describe" pour afficher les détails de la configuration et l'état actuel.
gcloud
Pour décrire une instance :
gcloud beta run instances describe INSTANCE_NAME \ --region REGION
Bibliothèques clientes
Pour afficher les détails et l'état de la configuration d'une instance à partir du code :
API REST
Pour décrire une instance, envoyez une requête HTTP GET :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Supprimer une instance
Supprimez une instance pour supprimer définitivement sa configuration, ses métadonnées, son mappage d'URL directe publique et ses rôles d'identité de votre projet.
gcloud
Pour supprimer une instance, procédez comme suit :
gcloud beta run instances delete INSTANCE_NAME \ --region REGION
Bibliothèques clientes
Pour supprimer une instance à partir du code :
API REST
Pour supprimer une instance, envoyez une requête HTTP DELETE :
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Étapes suivantes
- Pour afficher les transactions de journalisation de vos instances, consultez Journalisation et affichage des journaux dans Cloud Run.
- Configurez votre instance Cloud Run :