Créer une application d'exécution personnalisée dans l'environnement flexible App Engine
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.
Les environnements d'exécution personnalisés vous permettent de créer des applications qui s'exécutent dans un environnement défini par un Dockerfile. Grâce à ce Dockerfile, vous pouvez employer des langages et des packages qui ne font pas partie de Google Cloud et exploiter les mêmes ressources et outils que ceux utilisés dans l'environnement flexible App Engine.
Dans ce guide de démarrage rapide, un nginx est lancé sur App Engine à l'aide d'un environnement d'exécution personnalisé.
Avant de commencer
Avant d'exécuter l'application exemple de ce guide de démarrage rapide, vous devez configurer votre environnement et créer un Google Cloud projet pour App Engine :
Créez un nouveau Google Cloud projet à l'aide de la Google Cloud console :
Ouvrez la Google Cloud console :
Cliquez sur Créer un projet , puis nommez votre nouveau Google Cloud projet.
Créez ou sélectionnez un compte de facturation pour activer la facturation dans votre nouveau Google Cloud projet :
Téléchargez et installez Google Cloud CLI, puis initialisez la CLI gcloud :
Exécutez la commande
gcloudsuivante pour créer une application App Engine et spécifier la région géographique dans laquelle vous souhaitez exécuter votre application :gcloud app create- En raison des modifications apportées au comportement par défaut concernant la façon dont Cloud Build utilise les comptes de service dans les nouveaux projets, et des modifications apportées aux règles d'administration sécurisées par défaut, vous devrez peut-être accorder des rôles supplémentaires à votre compte de service de déploiement. Pour en savoir plus sur l'attribution de rôles spécifiques, consultez le guide de dépannage.
Zones App Engine
App Engine est régional, ce qui signifie que l'infrastructure qui exécute vos applications est située dans une région spécifique, et que Google la gère de sorte qu'elle soit disponible de manière redondante dans toutes les zones de cette région.
Lors de la sélection d'une région dans laquelle exécuter vos applications, vous devez tout d'abord considérer vos exigences en matière de latence, de disponibilité et de durabilité. Vous pouvez généralement sélectionner la région la plus proche des utilisateurs de votre application, mais pensez aussi aux emplacements où App Engine est disponible ainsi qu'aux emplacements des autres Google Cloud produits et services que votre application utilise. L'utilisation de services situés dans des emplacements différents peut avoir des répercussions sur la latence de votre application, ainsi que sur ses tarifs.
Une fois que vous avez défini la région d'une application, vous ne pouvez plus la modifier.
Si vous avez déjà créé une application App Engine, vous pouvez afficher sa région en effectuant l'une des opérations suivantes :
Exécutez la commande
gcloud app describe.Ouvrez le tableau de bord App Engine dans la Google Cloud console. La région apparaît en haut de la page.
Télécharger l'application Hello World
Choisissez l'une des options suivantes pour télécharger l'exemple d'application Hello World de GitHub sur votre ordinateur local :
Clonez l'exemple d'application Hello World à partir du dépôt suivant :
git clone https://github.com/GoogleCloudPlatform/appengine-custom-runtimes-samplesTéléchargez l'exemple sous forme de fichier .zip, puis extrayez-le dans un répertoire local.
Accédez au répertoire
nginxoù se trouve l'exemple de code. Par exemple :cd appengine-custom-runtimes-samples/nginx
Exécuter Hello World sur un ordinateur local
Vous pouvez tester l'exemple d'application en téléchargeant et en installant Docker, puis en exécutant le conteneur Hello World sur votre ordinateur local.
Il n'existe pas de démarche spécifique à App Engine ici. Vous pouvez simplement tester l'application en utilisant les outils et l'approche de votre choix.
Déployer Hello World sur App Engine
Lorsque vous êtes prêt à déployer l'exemple d'application sur App Engine, procédez comme suit :
À partir du répertoire dans lequel se trouvent vos fichiers
app.yamletDockerfile, exécutez la commande suivante :gcloud app deployRenseignez-vous au sujet des indicateurs facultatifs.
Pour afficher l'application en cours d'exécution à l'adresse
https://PROJECT_ID.REGION_ID.r.appspot.com, exécutez la commande suivante pour lancer votre navigateur :gcloud app browse
Options de commande gcloud courantes
-
Incluez l'option
--versionpour spécifier un ID qui identifie de manière unique cette version de votre application, sans quoi un ID est généré automatiquement. Exemple :--version [YOUR_VERSION_ID] -
Incluez l'option
--projectpour spécifier un ID de projet Google Cloud différent de celui que vous avez initialisé par défaut dans l'outilgcloud. Exemple :--project [YOUR_PROJECT_ID]
Exemple :
gcloud app deploy --version pre-prod-5 --project my-sample-app
Pour en savoir plus sur le déploiement de votre application à partir de la ligne de commande, consultez la section Tester et déployer votre application. Pour obtenir la liste de toutes les options de commande, consultez la documentation de référence gcloud app deploy.
Libérer de l'espace
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :
- Dans la Google Cloud console, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez Arrêter pour supprimer le projet.
Étape suivante
Consultez la documentation de référence sur les fichiers Dockerfile pour obtenir plus d'informations sur ces derniers.
Pour en savoir plus sur la création de votre propre environnement d'exécution personnalisé, consultez la page Créer des environnements d'exécution personnalisés.
Réviser le code
Hello World est l'application App Engine la plus simple qui soit. Elle crée un conteneur qui n'exécute qu'un seul service et une seule version. Cette section décrit en détail chaque fichier de l'application.
app.yamlSpécifie la configuration de l'application. Le fichier
app.yamldoit se trouver dans le même répertoire que le fichierDockerfile.L'entrée
runtime: customdonne l'ordre à App Engine de rechercher un fichierDockerfilequi définira l'image de votre environnement d'exécution. L'entréeenv: flexindique que vous effectuez un déploiement dans l'environnement flexible.Pour en savoir plus, consultez la documentation de référence sur
app.yaml.DockerfileDéfinit l'ensemble d'instructions permettant de créer l'image Docker pour le conteneur de l'exemple d'application. Le fichier
Dockerfiledoit se trouver dans le même répertoire que le fichierapp.yaml. Ce fichierDockerfileinstalle le serveur Web nginx et copie une configuration de base :La commande FROM crée une image de base à l'aide de l'image Docker officielle du serveur Web nginx.
Grâce à ce fichier
Dockerfile, votre image de conteneur comportera nginx et tout le contenu du répertoirewww/sera disponible pour votre application.
L'exemple d'application Hello World contient également un fichier nginx.conf qui inclut les informations de base sur la configuration nginx, ainsi qu'un fichier index.html, qui sert de page racine pour le serveur Web nginx.