ID de la région
Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.
En savoir plus sur les ID de région
Ce guide explique comment déployer vos applications dans l'environnement standard sur Cloud Run à l'aide de Google Cloud CLI. Les instructions s'appliquent aux environnements d'exécution de deuxième génération qui n'utilisent pas les anciens services groupés App Engine.
Les étapes décrites dans ce guide n'affectent pas les fonctionnalités ni le flux de trafic de votre application App Engine existante. Le service Cloud Run nouvellement créé est une réplique du service App Engine que vous pouvez tester indépendamment.
Cloud Run utilise une grande partie de la même infrastructure que l'environnement standard App Engine, ce qui entraîne de nombreuses similitudes entre les plates-formes. Pour en savoir plus sur les similitudes et les différences entre App Engine et Cloud Run, y compris les avantages de la migration vers Cloud Run, consultez le résumé de la comparaison.
Pour déployer sur Cloud Run, choisissez l'une des stratégies suivantes :
Déployez une application App Engine existante directement sur Cloud Run.
Utilisez le fichier
app.yamlpour déployer un service sur Cloud Run à l'aide de votre configuration App Engine existante.
Avant de commencer
Assurez-vous d'avoir accès au code source App Engine et que votre application App Engine s'exécute sans erreur.
Activez l'API Cloud Run Admin et l'API Artifact Registry :
Configurez votre projet et votre région à l'aide de la commande suivante :
gcloud auth login gcloud config set project PROJECT_ID gcloud config set run/region REGION gcloud components updateRemplacez les éléments suivants :
- PROJECT_ID par votre Google Cloud ID de projet.
- REGION par votre région.
Examinez les fonctionnalités incompatibles de votre application et supprimez-les avant de migrer vers Cloud Run. Si votre application existante contient des fonctionnalités incompatibles, le processus de migration s'arrête et liste les incompatibilités.
Passez en revue les différences Cloud Run suivantes :
Cloud Run utilise le terme
Revisionau lieu deVersionpour représenter chaque déploiement de modifications dans un service spécifique. Le premier déploiement de votre application sur un service dans Cloud Run a pour effet de créer la première révision de votre application. Chaque déploiement ultérieur d'un service crée une autre révision. En savoir plus sur le déploiement sur Cloud Run.Vous pouvez déployer votre code source sur Cloud Run à l'aide de la gcloud CLI ou Google Cloud de la console pour configurer et gérer les paramètres de votre application. Cloud Run ne nécessite pas de configuration basée sur des fichiers. Cependant, les configurations YAML sont prises en charge.
Chaque service que vous déployez sur Cloud Run utilise le
run.appdomaine de l'URL pour accéder au service en mode public.Contrairement aux services App Engine qui sont publics par défaut, les services Cloud Run sont privés par défaut et vous obligent à les configurer pour l'accès public (non authentifié).
Rôles requis
Vous pouvez choisir de créer un compte de service ou d'utiliser le même compte de service géré par l'utilisateur dans Cloud Run que celui que vous utilisez pour App Engine. Vous ou votre administrateur devez attribuer les rôles IAM suivants au compte déployeur et au compte de service Cloud Build.
Cliquez ici pour afficher les rôles requis pour le compte déployeur
Pour obtenir les autorisations nécessaires pour créer et déployer à partir de la source, demandez à votre administrateur de vous accorder les rôles IAM suivants :
- Développeur source Cloud Run (
roles/run.sourceDeveloper) sur votre projet - Consommateur d'utilisation du service (
roles/serviceusage.serviceUsageConsumer) sur votre projet - Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur l'identité du service Cloud Run
Cliquez ici pour afficher les rôles requis pour le compte de service Cloud Build
Cloud Build utilise automatiquement le
compte de service Compute Engine par défaut comme compte de service Cloud Build par défaut pour créer votre code source et votre ressource Cloud Run, sauf si vous remplacez ce comportement. Pour
que Cloud Build puisse créer vos sources, demandez à votre administrateur d'accorder
le rôle Compilateur Cloud Run
(roles/run.builder) au compte de service Compute Engine par défaut
sur votre projet :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Remplacez PROJECT_NUMBER par votre Google Cloud
numéro de projet et PROJECT_ID par votre Google Cloud
ID de projet. Pour obtenir des instructions détaillées sur la façon de trouver votre ID de projet et votre numéro de projet,
consultez Créer
et gérer des projets.
L'attribution du rôle de compilateur Cloud Run au compte de service Compute Engine par défaut prend quelques minutes pour se propager.
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 service Cloud Run communique avec Google Cloud des API, telles que les 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.
Déployer une application App Engine existante
Déployez une application App Engine existante directement sur Cloud Run à l'aide de la Google Cloud console ou de la gcloud CLI.
Console
Dans la Google Cloud console, accédez à la page App Engine.
Dans le menu de navigation, cliquez sur Migration hub (Hub de migration) pour déployer votre application App Engine sur Cloud Run. Le Migration hub (Hub de migration) vous permet également de vérifier les économies estimées sur Cloud Run pour l'estimation des coûts et les recommandations.
Sélectionnez le service que vous souhaitez migrer, puis cliquez sur Check compatibility (Vérifier la compatibilité).
Sélectionnez votre Service et votre Version pour afficher les résultats de compatibilité. Le hub de migration exécute un vérificateur de compatibilité pour identifier les fonctionnalités incompatibles.
Vérifiez les résultats pour vous assurer que votre application est entièrement compatible avec Cloud Run, puis cliquez sur Continue (Continuer) pour passer à la section Review &Deploy (Examiner et déployer).
Copiez la commande dans la section Deploy through gcloud (Déployer via gcloud), puis exécutez-la dans le répertoire de votre projet.
Cliquez sur View deployed versions (Afficher les versions déployées) pour afficher vos services App Engine déployés dans Cloud Run.
gcloud
Utilisez Google Cloud CLI pour migrer votre application à l'aide de votre fichier app.yaml local ou d'une configuration de déploiement App Engine existante.
Dans votre terminal, accédez au répertoire source de votre projet où se trouve le fichier
app.yaml.Exécutez la commande suivante :
gcloud beta app migrate-to-runSi votre fichier
app.yamlse trouve dans un autre répertoire, incluez l'indicateur--appyaml:gcloud beta app migrate-to-run --appyaml=PATHRemplacez PATH par le chemin d'accès à votre fichier
app.yaml.
Pour en savoir plus, consultez gcloud beta app migrate-to-run.
Utiliser le fichier app.yaml
Traduisez votre fichier app.yaml App Engine local en un service Cloud Run en exécutant la commande suivante :
Dans votre terminal, accédez au répertoire source de votre projet où se trouve le fichier
app.yaml.Exécutez la commande suivante :
gcloud beta app migrate-to-runSi votre fichier
app.yamlse trouve dans un autre répertoire, incluez l'indicateur--appyaml:gcloud beta app migrate-to-run --appyaml=PATHRemplacez PATH par le chemin d'accès à votre fichier
app.yaml.
Pour en savoir plus, consultez gcloud beta app migrate-to-run.
Utiliser la configuration d'un déploiement existant
Pour utiliser la configuration d'un service App Engine déployé au lieu d'un fichier app.yaml local, exécutez la commande suivante.
gcloud beta app migrate-to-run --service=SERVICE --version=VERSION
Cette commande utilise la configuration du fichier app.yaml d'un déploiement existant, qui peut être obsolète si vous avez récemment apporté des modifications à votre fichier app.yaml local :
Remplacez les éléments suivants :
- SERVICE par le nom de votre service App Engine.
App Engine utilise la configuration du service existant et ignore la configuration du fichier
app.yamldans votre répertoire local. - VERSION par l'ID de version de votre service. App Engine utilise la configuration de la version existante et ignore la configuration du fichier
app.yamldans votre répertoire local.
Pour en savoir plus, consultez gcloud beta app
migrate-to-run.
Fonctionnalités incompatibles
La commande de migration échoue si votre fichier app.yaml contient l'une des configurations non compatibles suivantes :
Services entrants :
inbound_services: - warmupPages d'erreur personnalisées :
error_handlers: - file: default_error.html - error_code: over_quota file: over_quota.htmlServices groupés pour les environnements d'exécution de deuxième génération :
app_engine_apis: trueVariables d'environnement de compilation :
build_env_variables: Foo: BarEnvironnements d'exécution de première génération :
runtime: python27
Étape suivante
- Découvrez comment gérer vos services Cloud Run.
- Consultez le contrat d'exécution du conteneur Cloud Run pour comprendre les exigences et les comportements des conteneurs dans Cloud Run.
- Découvrez comment stocker des dépendances pour votre service nécessitant des clés API, des mots de passe ou d'autres informations sensibles à l'aide d'un gestionnaire de secrets.