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.

Application Web à trois niveaux dans le canevas de conception. L'application comprend des composants d'interface, de backend et de base de données.

Vous concevez le modèle à l'aide de l'un des éléments suivants :

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 :

Visite guidée


Avant de commencer

  1. Configurez App Design Center.

  2. 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.

  3. 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
  • S'assurer de disposer des rôles requis

    1. Pour créer des modèles, assurez-vous de disposer de l'un des rôles suivants dans le projet de gestion :

    2. Pour déployer des applications, assurez-vous de disposer de l'un des rôles suivants dans le projet de gestion :

    3. 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.

    Créer un modèle et ajouter des informations

    Canevas de conception

    1. Dans la console Google Cloud , accédez à la page Modèles.

      Accéder aux modèles

    2. Cliquez sur Créer un modèle et saisissez les informations suivantes :

      1. Dans le champ ID du modèle, saisissez quickstart-three-tier-web-app.

      2. Dans le champ Nom du modèle, saisissez Quickstart three-tier web app.

      3. Dans le champ Description, saisissez A template to generate a three-tier web application.

      4. Cliquez sur Créer un modèle.

      Le modèle est créé et le canevas de conception s'affiche.

    3. 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)
    4. Pour créer des connexions entre les composants, procédez comme suit :

      1. Faites glisser le point bleu en bas de cloud-run-1 jusqu'au point bleu en haut de cloud-run-2.

      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.

    Gemini Cloud Assist

    1. 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.

    2. 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.

    3. 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.

    4. Examinez la conception mise à jour qui inclut les composants suivants :

      • Cloud Run (deux composants)
      • Cloud SQL pour PostgreSQL
    5. Cliquez sur Modifier la conception de l'application.

      La page Créer un modèle s'affiche.

    6. Saisissez les informations suivantes sur le modèle :

      1. Dans le champ ID du modèle, saisissez quickstart-three-tier-web-app.

      2. Dans le champ Nom du modèle, saisissez Quickstart three-tier web app.

      3. Dans le champ Description, saisissez A template to generate a three-tier web application.

    7. Cliquez sur Créer un modèle.

      Le système crée un modèle et affiche le canevas de conception.

    CLI gcloud

    1. 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_ID
      
    2. Listez les modèles partagés dans le catalogue Google.

      gcloud design-center spaces shared-templates list \
      --google-catalog \
      --location=us-central1
      
      1. Identifiez les ID de modèles partagés pour Cloud Run et Cloud SQL.
    3. 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_ID
      
    4. Ajoutez 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_ID
      
    5. Ajoutez 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_ID
      
    6. Connectez 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_ID
      
    7. Connectez 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_ID
      
    8. Effectuez 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_ID
      

    Créer un brouillon d'application

    Canevas de conception

    1. Dans le canevas de conception, cliquez sur Configurer une application.

    2. Cliquez sur Créer une application, puis effectuez les opérations suivantes :

      1. Dans le champ Nom, saisissez quickstart-three-tier-test.

      2. Dans le champ Nom à afficher, saisissez Quickstart three-tier test.

      3. Dans la liste Région, sélectionnez us-central1 (Iowa).

      4. Dans la liste Environnement, sélectionnez Test.

      5. Dans la liste Criticité, sélectionnez Low.

      6. Dans la zone Champ d'application, sélectionnez Regional dans la liste Niveau d'accès de l'application.

    3. Cliquez sur Créer une application.

      Le système crée le brouillon de l'application.

    CLI gcloud

    1. 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)'
      
    2. 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-central1
      

    Configurer les composants

    Canevas de conception

    1. Dans le canevas de conception, cliquez sur cloud-run-1, puis procédez comme suit dans la zone Configuration :

      1. 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.

      2. Dans le champ Nom du service, saisissez frontend-service.

      3. Cliquez sur Enregistrer.

    2. Dans le canevas de conception, cliquez sur cloud-run-2, puis procédez comme suit dans la zone Configuration :

      1. 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.

      2. Dans le champ Nom du service, saisissez backend-service.

      3. Cliquez sur Enregistrer.

    3. Dans le canevas de conception, cliquez sur sql-postgresql-1, puis procédez comme suit dans la zone Configuration :

      1. 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.

      2. Dans le champ Nom, saisissez database-postgresql.

      3. Dans la liste Version de la base de données, sélectionnez POSTGRES_15.

      4. Dans la liste déroulante Zone, sélectionnez us-central1-a.

      5. 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 Test pour le valider.

    CLI gcloud

    1. 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)'
      
    2. Pour chaque composant, créez dans votre répertoire d'accueil un fichier JSON contenant les valeurs de paramètres requises.

      1. 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"
              }
           ]
         }
        
      2. 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"
              }
           ]
         }
        
      3. 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"
              }
           ]
         }
        
    3. 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.json
      

    Déployer l'application

    Canevas de conception

    1. Cliquez sur Deploy (Déployer).

    2. Dans la zone Sélectionnez un compte de service, procédez comme suit :

      1. Cliquez sur Créer un compte de service.

      2. Cliquez sur Continuer.

    3. 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.
    4. Pour aller plus loin après ce guide de démarrage rapide, consultez Mettre à jour un modèle d'application et le redéployer.

    CLI gcloud

    1. 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)'
      
    2. 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"
      
    3. 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."
      
    4. 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."
      
    5. Identifiez le numéro de votre projet de gestion.

      gcloud projects describe MANAGEMENT_PROJECT_ID \
      --format="value(projectNumber)"
      
    6. Ajoutez une liaison de stratégie IAM pour le rôle roles/iam.serviceAccountUser dans 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"
      
    7. 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.com
      
    8. Accordez à 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.

    9. 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_ID
      
    10. Déployez l'application.

      gcloud design-center spaces applications deploy quickstart-three-tier-test \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID \
      --async
      
    11. Identifiez l'ID de l'opération.

    12. 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_ID
      
    13. Une 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)'
      

    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 :

    1. 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.

    2. Dans le sélecteur de projet de la console Google Cloud , sélectionnez le projet de gestion.

    3. 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.

    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

    1. Dans le menu de navigation, cliquez sur Applications.

      Accéder à la page Applications

    2. Dans le tableau, cliquez sur Application Web à trois niveaux du guide de démarrage rapide.

    3. Cliquez sur Actions, puis sélectionnez Supprimer l'application.

    4. Dans le champ Supprimer, saisissez Quickstart three-tier web app.

    5. Cliquez sur Supprimer.

    Le système supprime l'application, y compris les éléments suivants :

    • Informations sur l'application dans App Design Center
    • Application App Hub sous-jacente
    • Ressources sous-jacentes

    (Facultatif) Supprimez le projet.

    Pour supprimer le projet descendant que vous avez créé dans la section Avant de commencer, procédez comme suit :

    1. Dans la console Google Cloud , accédez à la page Gérer les ressources.

      Accéder à la page "Gérer les ressources"

    2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
    3. Lorsque vous y êtes invité, saisissez l'ID du projet, puis cliquez sur Arrêter.

    Étapes suivantes