Créer et valider un modèle
Ce guide de démarrage rapide vous aide à créer et à déployer un modèle d'application Web à trois niveaux qui inclut des composants d'interface, de backend et de base de données. L'image suivante montre le canevas de conception, qui inclut les composants et les connexions de l'application.
Vous concevez le modèle à l'aide de l'un des éléments suivants :
- Canevas de conception dans App Design Center.
- Requêtes en langage naturel dans Gemini Cloud Assist.
- Centre de conception d'applications Google Cloud CLI.
Une fois la conception terminée, vérifiez le modèle en déployant une application de test dans App Design Center.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud , cliquez sur Visite guidée :
Avant de commencer
Créez un projet descendant dans votre dossier compatible avec les applications.
Vous allez déployer des ressources Google Cloud dans ce projet lors du déploiement de votre application.
Assurez-vous que la facturation est activée pour votre projet descendant.
Configurer les outils
Vous pouvez utiliser l'un des éléments suivants pour suivre ce guide de démarrage rapide.
Utilisez le canevas de conception dans la console Google Cloud .
Pour utiliser Gemini Cloud Assist afin de créer votre conception, consultez Configurer Gemini Cloud Assist.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init Pour créer des modèles, assurez-vous de disposer de l'un des rôles suivants dans le projet de gestion :
- Administrateur App Design Center (
roles/designcenter.admin) - Utilisateur App Design Center (
roles/designcenter.user)
- Administrateur App Design Center (
Pour déployer des applications, assurez-vous de disposer de l'un des rôles suivants dans le projet de gestion :
- Administrateur de l'application (
roles/designcenter.applicationAdmin) - Éditeur de l'application (
roles/designcenter.applicationEditor)
- Administrateur de l'application (
Pour créer un compte de service lors du déploiement, assurez-vous de disposer des rôles suivants :
Pour créer des comptes de service, vous devez disposer du rôle Créer des comptes de service (
roles/iam.serviceAccountCreator) dans le projet de gestion.Pour accorder à un compte de service l'accès à votre projet descendant, vous devez disposer du rôle Administrateur IAM du projet (
roles/resourcemanager.projectIamAdmin) sur le projet descendant.
Dans la console Google Cloud , accédez à la page Modèles.
Cliquez sur Créer un modèle et saisissez les informations suivantes :
Dans le champ ID du modèle, saisissez
quickstart-three-tier-web-app.Dans le champ Nom du modèle, saisissez
Quickstart three-tier web app.Dans le champ Description, saisissez
A template to generate a three-tier web application.Cliquez sur Créer un modèle.
Le modèle est créé et le canevas de conception s'affiche.
Dans la zone Composants, cliquez sur les composants suivants pour les ajouter au canevas de conception :
- Cloud Run (ajout de deux composants)
- Cloud SQL (PostgreSQL)
Pour créer des connexions entre les composants, procédez comme suit :
Faites glisser le point bleu en bas de cloud-run-1 jusqu'au point bleu en haut de cloud-run-2.
Faites glisser le point bleu en bas de cloud-run-2 jusqu'au point bleu en haut de sql-postgresql-1.
Votre modèle contient trois composants. Le canevas affiche des lignes entre les composants pour représenter les connexions.
Dans la barre d'outils de la console Google Cloud , cliquez sur spark Ouvrir ou fermer le chat Gemini Cloud Assist.
Le panneau Cloud Assist s'ouvre.
Dans le chat Gemini Cloud Assist, saisissez le prompt suivant :
I want to create a three-tier web application.Gemini Cloud Assist génère une conception de base pour une application Web à trois niveaux.
Pour supprimer les équilibreurs de charge et les composants Secret Manager, saisissez la requête suivante :
I don't need load balancers or Secret Manager.Gemini Cloud Assist met à jour la conception pour supprimer les composants.
Examinez la conception mise à jour qui inclut les composants suivants :
- Cloud Run (deux composants)
- Cloud SQL pour PostgreSQL
Cliquez sur Modifier la conception de l'application.
La page Créer un modèle s'affiche.
Saisissez les informations suivantes sur le modèle :
Dans le champ ID du modèle, saisissez
quickstart-three-tier-web-app.Dans le champ Nom du modèle, saisissez
Quickstart three-tier web app.Dans le champ Description, saisissez
A template to generate a three-tier web application.
Cliquez sur Créer un modèle.
Le système crée un modèle et affiche le canevas de conception.
Créez un modèle d'application.
gcloud design-center spaces application-templates create quickstart-three-tier-web-app \ --display-name="Quickstart three-tier web app" \ --description="A template to generate a three-tier web application" \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDListez les modèles partagés dans le catalogue Google.
gcloud design-center spaces shared-templates list \ --google-catalog \ --location=us-central1- Identifiez les ID de modèles partagés pour Cloud Run et Cloud SQL.
Ajoutez un composant Cloud Run à utiliser comme frontend.
gcloud design-center spaces application-templates components create cloud-run-1 \ --application-template=quickstart-three-tier-web-app \ --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDAjoutez un deuxième composant Cloud Run à utiliser comme backend.
gcloud design-center spaces application-templates components create cloud-run-2 \ --application-template=quickstart-three-tier-web-app \ --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDAjoutez un composant Cloud SQL.
gcloud design-center spaces application-templates components create sql-postgresql-1 \ --application-template=quickstart-three-tier-web-app \ --shared-template-revision-uri=google/45be1bc2-89bc-477b-9b5d-64c41ff3b146 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDConnectez cloud-run-1 à cloud-run-2.
gcloud design-center spaces application-templates components connections create frontend-to-backend \ --application-template=quickstart-three-tier-web-app \ --component=cloud-run-1 \ --destination-component-uri=cloud-run-2 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDConnectez cloud-run-2 à sql-postgresql-1.
gcloud design-center spaces application-templates components connections create backend-to-database \ --application-template=quickstart-three-tier-web-app \ --component=cloud-run-2 \ --destination-component-uri=sql-postgresql-1 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDEffectuez un commit de vos modifications pour créer une révision du modèle d'application.
gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDDans le canevas de conception, cliquez sur
Configurer une application .Cliquez sur
Créer une application , puis effectuez les opérations suivantes :Dans le champ Nom, saisissez
quickstart-three-tier-test.Dans le champ Nom à afficher, saisissez
Quickstart three-tier test.Dans la liste Région, sélectionnez
us-central1 (Iowa).Dans la liste Environnement, sélectionnez
Test.Dans la liste Criticité, sélectionnez
Low.Dans la zone Champ d'application, sélectionnez
Regionaldans la liste Niveau d'accès de l'application.
Cliquez sur Créer une application.
Le système crée le brouillon de l'application.
Identifiez l'URI de la dernière révision de votre modèle d'application.
gcloud design-center spaces application-templates describe quickstart-three-tier-web-app \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,latestRevision)'Créez un brouillon d'application basé sur votre modèle.
gcloud design-center spaces applications create quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --source-application-template-revision=projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/revisions/TEMPLATE_REVISION \ --display-name="Quickstart three-tier test" \ --environment-type=test \ --criticality-type=low \ --scope-type=regional \ --deployment-region=us-central1Dans le canevas de conception, cliquez sur cloud-run-1, puis procédez comme suit dans la zone Configuration :
Dans la liste ID du projet, sélectionnez le projet enfant que vous avez créé dans la section Avant de commencer. La ressource sera déployée dans ce projet.
Dans le champ Nom du service, saisissez
frontend-service.Cliquez sur Enregistrer.
Dans le canevas de conception, cliquez sur cloud-run-2, puis procédez comme suit dans la zone Configuration :
Dans la liste ID du projet, sélectionnez le projet enfant que vous avez créé dans la section Avant de commencer. La ressource sera déployée dans ce projet.
Dans le champ Nom du service, saisissez
backend-service.Cliquez sur Enregistrer.
Dans le canevas de conception, cliquez sur sql-postgresql-1, puis procédez comme suit dans la zone Configuration :
Dans la liste ID du projet, sélectionnez le projet enfant que vous avez créé dans la section Avant de commencer. La ressource sera déployée dans ce projet.
Dans le champ Nom, saisissez
database-postgresql.Dans la liste Version de la base de données, sélectionnez
POSTGRES_15.Dans la liste déroulante Zone, sélectionnez
us-central1-a.Cliquez sur Enregistrer.
Le canevas affiche une coche verte dans chaque composant pour indiquer que vous avez spécifié les paramètres requis. Vous pouvez maintenant déployer le brouillon d'application dans l'environnement
Testpour le valider.Décrivez l'application pour identifier les paramètres de configuration requis.
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,componentParameters)'Pour chaque composant, créez dans votre répertoire d'accueil un fichier JSON contenant les valeurs de paramètres requises.
Créez un
frontend-service.json.{ "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-1", "parameters": [ { "key": "service_name", "value": "frontend-service" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT_ID" } ] }Créez un
backend-service.json.{ "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-2", "parameters": [ { "key": "service_name", "value": "backend-service" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT_ID" } ] }Créez un
database-postgresql.json.{ "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/sql-postgresql-1", "parameters": [ { "key": "name", "value": "database-postgresql" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT_ID" }, { "key": "database_version", "value": "POSTGRES_15" }, { "key": "region", "value": "us-central1" }, { "key": "zone", "value": "us-central1-a" } ] }
Mettez à jour l'application pour configurer les paramètres requis.
gcloud design-center spaces applications update quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --component-parameters=./frontend-service.json \ --component-parameters=./backend-service.json \ --component-parameters=./database-postgresql.jsonCliquez sur
Deploy (Déployer).Dans la zone Sélectionnez un compte de service, procédez comme suit :
Cliquez sur Créer un compte de service.
Cliquez sur Continuer.
Cliquez sur Déployer.
Après quelques minutes, le système déploie l'application et crée des ressources dans votre projet. Le système affiche les informations suivantes :
- Un lien vers App Hub, où vous pouvez afficher les détails des ressources déployées, y compris les liens vers les tableaux de bord de surveillance.
- Les liens vers les journaux Cloud Build, que vous pouvez utiliser pour résoudre les erreurs de déploiement.
- Les sorties telles que les URI de service, qui vous permettent d'interagir avec les ressources déployées.
Pour aller plus loin après ce guide de démarrage rapide, consultez Mettre à jour un modèle d'application et le redéployer.
Décrivez l'application pour identifier les rôles IAM requis pour votre compte de service de déploiement.
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,projectParameters)'Créez un compte de service pour déployer l'application.
gcloud iam service-accounts create quickstart-service-account \ --project=MANAGEMENT_PROJECT_ID \ --display-name="Quickstart service account" \ --description="A service account to deploy the ADC quickstart"Ajoutez les rôles requis pour le projet de déploiement au compte de service.
#!/bin/bash PROJECT_ID="DEPLOYMENT_PROJECT_ID" SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com" ROLES=( "roles/iap.admin" "roles/compute.networkAdmin" "roles/compute.viewer" "roles/run.admin" "roles/iam.serviceAccountAdmin" "roles/serviceusage.serviceUsageAdmin" "roles/cloudkms.admin" "roles/logging.logWriter" "roles/iam.serviceAccountUser" "roles/cloudsql.admin" "roles/cloudkms.autokeyAdmin" "roles/storage.admin" "roles/serviceusage.serviceUsageViewer" "roles/resourcemanager.projectIamAdmin" "roles/cloudkms.cryptoKeyEncrypterDecrypter" ) for role in "${ROLES[@]}"; do echo "Adding role: ${role}" gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="${role}" echo "---" done echo "Finished adding roles."Ajoutez les rôles requis pour le projet de gestion au compte de service.
#!/bin/bash PROJECT_ID="MANAGEMENT_PROJECT_ID" SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com" ROLES=( "roles/config.agent" "roles/apphub.editor" ) for role in "${ROLES[@]}"; do echo "Adding role: ${role}" gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="${role}" echo "---" done echo "Finished adding roles."Identifiez le numéro de votre projet de gestion.
gcloud projects describe MANAGEMENT_PROJECT_ID \ --format="value(projectNumber)"Ajoutez une liaison de stratégie IAM pour le rôle
roles/iam.serviceAccountUserdans votre projet de gestion.gcloud iam service-accounts add-iam-policy-binding projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \ --project=MANAGEMENT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountUser"Mettez à jour l'application pour qu'elle utilise votre compte de service.
gcloud design-center spaces applications update quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --service-account=projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.comAccordez à votre utilisateur l'autorisation actAs sur votre compte de service.
gcloud iam service-accounts add-iam-policy-binding quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \ --project=MANAGEMENT_PROJECT_ID \ --member="user:USER" \ --role="roles/iam.serviceAccountUser"USER est votre utilisateur Google Cloud . Exemple :
dana@example.com.Prévisualisez l'application :
La génération de l'aperçu prend quelques minutes.
gcloud design-center spaces applications preview quickstart-three-tier-test \ --location=us-central1 \ --space=SPACE \ --project=MANAGEMENT_PROJECT_IDDéployez l'application.
gcloud design-center spaces applications deploy quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --asyncIdentifiez l'ID de l'opération.
Le déploiement prend quelques minutes. Suivez l'état du déploiement.
gcloud design-center operations describe operation-OPERATION_ID \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDUne fois le déploiement terminé, identifiez les paramètres de sortie de l'application.
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,appParameters,componentParameters,deploymentMetadata,deploymentRevision,previewReference)'-
Dans la console Google Cloud , accédez à la page Surveillance des applications :
Accéder à Surveillance des applications
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
Dans le sélecteur de projet de la console Google Cloud , sélectionnez le projet de gestion.
Pour obtenir des instructions détaillées sur l'utilisation des tableaux de bord prédéfinis et l'exploration de vos données de télémétrie, consultez Afficher la télémétrie des applications.
Dans le menu de navigation, cliquez sur Applications.
Dans le tableau, cliquez sur Application Web à trois niveaux du guide de démarrage rapide.
Cliquez sur Actions, puis sélectionnez Supprimer l'application.
Dans le champ Supprimer, saisissez
Quickstart three-tier web app.Cliquez sur Supprimer.
- Informations sur l'application dans App Design Center
- Application App Hub sous-jacente
- Ressources sous-jacentes
- Dans la console Google Cloud , 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.
- Lorsque vous y êtes invité, saisissez l'ID du projet, puis cliquez sur Arrêter.
S'assurer de disposer des rôles requis
Créer un modèle et ajouter des informations
Canevas de conception
Gemini Cloud Assist
CLI gcloud
Créer un brouillon d'application
Canevas de conception
CLI gcloud
Configurer les composants
Canevas de conception
CLI gcloud
Déployer l'application
Canevas de conception
CLI gcloud
Facultatif : Surveiller votre déploiement
Une fois l'application déployée, vous pouvez utiliser Application Monitoring pour afficher la télémétrie de l'application et surveiller son état et ses performances :
Vous pouvez également obtenir des informations supplémentaires sur l'état et les performances dans Cloud Hub, y compris les échecs de déploiement et les déploiements qui peuvent être mis à jour, des informations sur les incidents Google Cloud qui ont un impact sur vos applications, et les services qui approchent de leurs limites de quota.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre compte Google Cloud , supprimez le projet Google Cloud qui les contient.
Supprimer l'application déployée
Le système supprime l'application, y compris les éléments suivants :
(Facultatif) Supprimez le projet.
Pour supprimer le projet descendant que vous avez créé dans la section Avant de commencer, procédez comme suit :