Membuat dan memverifikasi template

Template aplikasi di Application Design Center memungkinkan Anda menentukan arsitektur yang dapat digunakan kembali dengan menghubungkan komponen infrastruktur. Dalam panduan memulai ini, Anda akan menyelesaikan langkah-langkah berikut:

  1. Buat template aplikasi web tiga tingkat dengan komponen frontend, backend, dan database menggunakan kanvas desain, perintah bahasa alami di Gemini Cloud Assist, atau Google Cloud CLI App Design Center.
  2. Verifikasi template dengan men-deploy aplikasi pengujian.

Gambar berikut menunjukkan kanvas desain, yang mencakup komponen dan koneksi aplikasi:

Aplikasi web tiga tingkat di kanvas desain. Aplikasi ini mencakup komponen frontend, backend, dan database.

Sebelum memulai

  1. Siapkan App Design Center.

  2. Buat project deployment di folder khusus aplikasi.

    Anda akan men-deploy resource Google Cloud ke project ini saat men-deploy aplikasi.

  3. Pastikan penagihan diaktifkan untuk project deployment Anda.

Menyiapkan alat

Anda dapat menggunakan salah satu opsi berikut untuk menyelesaikan panduan memulai ini.

  • Instal Google Cloud CLI.

  • Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.

  • Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init

Pastikan Anda memiliki peran yang diperlukan

Sebelum memulai panduan memulai, minta administrator untuk memberi Anda peran yang diperlukan untuk mendesain, membangun, dan men-deploy, seperti yang tercantum dalam tabel berikut:

Tugas Peran yang diperlukan
Membuat, mendesain, dan mengedit template standar Admin Application Design Center (roles/designcenter.admin), atau
Pengguna Application Design Center (roles/designcenter.user)
Men-deploy aplikasi dan konfigurasi Admin Aplikasi (roles/designcenter.applicationAdmin), atau
Editor Aplikasi (roles/designcenter.applicationEditor)
Membuat akun layanan selama deployment Membuat akun layanan (roles/iam.serviceAccountCreator) di project pengelolaan
Memberikan akses akun layanan ke project deployment Project IAM Admin (roles/resourcemanager.projectIamAdmin) di project deployment

Untuk mengetahui informasi selengkapnya tentang peran, lihat Kontrol akses dengan IAM.

Membuat template baru dan menambahkan detail

Kanvas desain

  1. Di konsol Google Cloud , buka halaman Templates.

    Buka Template

  2. Klik Create Template dan masukkan detail berikut:

    1. Di kolom Template ID, masukkan quickstart-three-tier-web-app.

    2. Di kolom Template Name, masukkan Quickstart three-tier web app .

    3. Di kolom Description, masukkan A template to generate a three-tier web application.

    4. Klik Create template.

    Template akan dibuat dan kanvas desain akan ditampilkan.

  3. Di area Components, klik komponen berikut untuk menambahkannya ke kanvas desain:

    • Cloud Run (tambahkan dua komponen)
    • Cloud SQL (PostgreSQL)
  4. Untuk membuat koneksi antar-komponen, lakukan hal berikut:

    1. Dari titik biru di bagian bawah cloud-run-1, tarik ke titik biru di bagian atas cloud-run-2.

    2. Dari titik biru di bagian bawah cloud-run-2, tarik ke titik biru di bagian atas sql-postgresql-1.

    Template Anda berisi tiga komponen. Kanvas ditampilkan di antara komponen untuk merepresentasikan koneksi.

Gemini Cloud Assist

  1. Di toolbar konsol Google Cloud , klik spark Open or close Gemini Cloud Assist chat.

    Panel Cloud Assist akan terbuka.

  2. Di chat Gemini Cloud Assist, masukkan perintah berikut:

    I want to create a three-tier web application.
    

    Gemini Cloud Assist membuat desain dasar untuk aplikasi web tiga tingkat.

  3. Untuk menghapus komponen load balancer dan Secret Manager, masukkan perintah berikut:

    I don't need load balancers or Secret Manager.
    

    Gemini Cloud Assist memperbarui desain untuk menghapus komponen.

  4. Tinjau desain yang diperbarui yang mencakup komponen berikut:

    • Cloud Run (dua komponen)
    • Cloud SQL untuk PostgreSQL
  5. Klik Edit desain aplikasi.

    Halaman Buat template baru akan ditampilkan.

  6. Masukkan detail template berikut:

    1. Di kolom Template ID, masukkan quickstart-three-tier-web-app.

    2. Di kolom Template Name, masukkan Quickstart three-tier web app .

    3. Di kolom Description, masukkan A template to generate a three-tier web application.

  7. Klik Create template.

    Sistem akan membuat template baru dan menampilkan kanvas desain.

gcloud CLI

  1. Membuat template aplikasi.

    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. Mencantumkan template yang dibagikan di katalog Google.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    
    1. Identifikasi ID template yang dibagikan untuk Cloud Run dan Cloud SQL.
  3. Tambahkan komponen Cloud Run untuk digunakan sebagai 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. Tambahkan komponen Cloud Run kedua untuk digunakan sebagai 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. Tambahkan komponen 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. Hubungkan cloud-run-1 ke 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. Hubungkan cloud-run-2 ke 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. Commit perubahan Anda untuk membuat revisi template aplikasi.

     gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID
    

Membuat draf aplikasi

Kanvas desain

  1. Dari kanvas desain, klik Configure an app.

  2. Klik Create new application dan lakukan tindakan berikut:

    1. Di kolom Name, masukkan quickstart-three-tier-test.

    2. Di kolom nama tampilan, masukkan Quickstart three-tier test.

    3. Dari daftar Region, pilih us-central1 (Iowa).

    4. Dari daftar Environment, pilih Test.

    5. Dari daftar Criticality, pilih Low.

    6. Di area Scope, dari daftar Application scope, pilih Regional.

  3. Klik Create Application.

    Sistem akan membuat draf permohonan.

gcloud CLI

  1. Identifikasi URI revisi terbaru template aplikasi Anda.

     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. Buat draf aplikasi berdasarkan template Anda.

       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
    

Mengonfigurasi komponen

Kanvas desain

  1. Di kanvas desain, klik cloud-run-1 dan lakukan hal berikut di area Configuration:

    1. Dari daftar Project ID, pilih project deployment yang Anda buat di bagian Sebelum memulai. Resource akan di-deploy ke project ini.

    2. Di kolom Service Name, masukkan frontend-service.

    3. Klik Simpan.

  2. Di kanvas desain, klik cloud-run-2 dan lakukan hal berikut di area Configuration:

    1. Dari daftar Project ID, pilih project deployment yang Anda buat di bagian Sebelum memulai. Resource akan di-deploy ke project ini.

    2. Di kolom Service Name, masukkan backend-service.

    3. Klik Simpan.

  3. Di kanvas desain, klik sql-postgresql-1 dan lakukan hal berikut di area Configuration:

    1. Dari daftar Project ID, pilih project deployment yang Anda buat di bagian Sebelum memulai. Resource akan di-deploy ke project ini.

    2. Di kolom Name, masukkan database-postgresql.

    3. Dari daftar Database Version, pilih POSTGRES_15.

    4. Dari menu drop-down Zone, pilih us-central1-a.

    5. Klik Simpan.

    Kanvas menampilkan tanda centang hijau di setiap komponen untuk menunjukkan bahwa Anda telah menentukan parameter yang diperlukan. Anda kini dapat men-deploy draf aplikasi ke lingkungan Test untuk verifikasi.

gcloud CLI

  1. Menjelaskan aplikasi untuk mengidentifikasi parameter konfigurasi yang diperlukan.

     gcloud design-center spaces applications describe quickstart-three-tier-test \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --format='yaml(name,componentParameters)'
    
  2. Untuk setiap komponen, di direktori utama Anda, buat file JSON yang berisi parameter value yang diperlukan.

    1. Buat 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. Buat 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. Buat 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. Perbarui aplikasi untuk mengonfigurasi parameter yang diperlukan.

     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
    

Men-deploy aplikasi

Kanvas desain

  1. Klik Deploy.

  2. Di area Select a service account, lakukan hal berikut:

    1. Klik Create a new service account.

    2. Klik Lanjutkan.

  3. Klik Deploy.

    Setelah beberapa menit, sistem akan men-deploy aplikasi dan membuat resource dalam project Anda. Sistem akan menampilkan detail berikut:

    • Link ke App Hub, tempat Anda dapat melihat detail resource yang di-deploy, termasuk link ke dasbor pemantauan.
    • Link ke log Cloud Build, yang dapat Anda gunakan untuk memecahkan masalah error deployment.
    • Output seperti URI layanan akan ditampilkan, yang dapat Anda gunakan untuk berinteraksi dengan resource yang di-deploy.
  4. Untuk melanjutkan panduan memulai ini, lihat Memperbarui template aplikasi dan men-deploy ulang.

gcloud CLI

  1. Menjelaskan aplikasi untuk mengidentifikasi peran IAM yang diperlukan untuk akun layanan deployment Anda.

     gcloud design-center spaces applications describe quickstart-three-tier-test \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --format='yaml(name,projectParameters)'
    
  2. Buat akun layanan baru untuk men-deploy aplikasi.

     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. Tambahkan peran project deployment yang diperlukan ke akun layanan.

    #!/bin/bash
    
    PROJECT_ID="DEPLOYMENT_PROJECT_ID"
    SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID."
    
    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. Tambahkan peran project pengelolaan yang diperlukan ke akun layanan.

    #!/bin/bash
    
    PROJECT_ID="MANAGEMENT_PROJECT_ID"
    SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID."
    
    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. Identifikasi nomor project pengelolaan Anda.

    gcloud projects describe MANAGEMENT_PROJECT_ID \
    --format="value(projectNumber)"
    
  6. Tambahkan binding kebijakan IAM untuk peran roles/iam.serviceAccountUser di project pengelolaan Anda.

    gcloud iam service-accounts add-iam-policy-binding projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID. \
    --project=MANAGEMENT_PROJECT_ID \
    --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter." \
    --role="roles/iam.serviceAccountUser"
    
  7. Perbarui aplikasi untuk menggunakan akun layanan Anda.

    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.
    
  8. Beri pengguna Anda izin actAs di akun layanan Anda.

    gcloud iam service-accounts add-iam-policy-binding quickstart-service-account@MANAGEMENT_PROJECT_ID. \
    --project=MANAGEMENT_PROJECT_ID \
    --member="user:USER" \
    --role="roles/iam.serviceAccountUser"
    

    USER adalah pengguna Google Cloud Anda. Contohnya, dana@example.com.

  9. Melihat pratinjau aplikasi:

    Pratinjau memerlukan waktu beberapa menit untuk dibuat.

    gcloud design-center spaces applications preview quickstart-three-tier-test \
    --location=us-central1 \
    --space=SPACE \
    --project=MANAGEMENT_PROJECT_ID
    
  10. Deploy aplikasi.

    gcloud design-center spaces applications deploy quickstart-three-tier-test \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID \
    --async
    
  11. Identifikasi ID operasi.

  12. Deployment memerlukan waktu beberapa menit hingga selesai. Lacak status deployment.

    gcloud design-center operations describe operation-OPERATION_ID \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  13. Setelah deployment selesai, identifikasi parameter output aplikasi.

     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)'
    

Opsional: Memantau deployment Anda

Setelah men-deploy aplikasi, Anda dapat menggunakan Pemantauan Aplikasi untuk melihat telemetri aplikasi serta memantau kondisi dan performa:

  1. Di konsol Google Cloud , buka halaman Application monitoring:

    Buka Application monitoring

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Dari pemilih project di konsol Google Cloud , pilih project pengelolaan.

  3. Untuk petunjuk mendetail tentang cara menggunakan dasbor standar dan menjelajahi data telemetri, lihat Melihat telemetri aplikasi.

Anda juga bisa mendapatkan informasi kondisi dan performa tambahan di Cloud Hub, termasuk kegagalan deployment dan deployment yang dapat diupdate, informasi tentang insiden Google Cloud yang memengaruhi aplikasi Anda, dan layanan yang mendekati batas kuota.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.

Menghapus aplikasi yang di-deploy

  1. Dari menu navigasi, klik Applications.

    Buka Applications

  2. Dari tabel, klik Panduan memulai aplikasi web tiga tingkat.

  3. Klik Actions, lalu pilih Delete application.

  4. Di kolom Delete, masukkan Quickstart three-tier web app.

  5. Klik Hapus.

Sistem akan menghapus aplikasi, termasuk hal berikut:

  • Detail aplikasi akan dihapus dari App Design Center.
  • Aplikasi App Hub yang mendasarinya akan dihapus.
  • Resource yang mendasarinya akan dihapus.

Opsional: Menghapus project

Untuk menghapus project deployment yang Anda buat di Sebelum memulai, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus.
  3. Pada layar perintah, ketik project ID, lalu klik Matikan.

Langkah berikutnya