Application Design Center memungkinkan Anda mengimpor konfigurasi TerraformGoogle Cloud multi-produk yang ada ke dalam template aplikasi apa adanya, tanpa merestrukturisasi kode menjadi modul komponen individual atau memublikasikannya ke katalog terlebih dahulu.
Tidak seperti modul Terraform produk tunggal yang Anda impor sebagai komponen katalog dan hubungkan di kanvas desain, konfigurasi Terraform multi-produk adalah modul root yang menyediakan resource di beberapa produk Google Cloud . Untuk mengimpor modul produk tunggal sebagai komponen, lihat Mengimpor komponen.
Mengimpor konfigurasi Terraform yang ada ke App Design Center akan membantu Anda melakukan hal berikut:
- Membawa konfigurasi Terraform yang ada ke dalam pengelolaan siklus proses aplikasi App Design Center dan otomatis mendaftarkan resource yang di-deploy di App Hub.
- Buat versi konfigurasi Terraform Anda dengan membuat revisi template aplikasi yang tidak dapat diubah.
- Lihat pratinjau dan deploy aplikasi menggunakan Infrastructure Manager, atau ekspor file Terraform ke Cloud Storage.
Setelah membuat revisi template, Anda dapat menggunakannya dengan salah satu cara berikut:
- Deploy langsung: Buat aplikasi dari revisi, lihat pratinjaunya untuk mendapatkan laporan penilaian, lalu deploy. Anda tidak perlu memublikasikan template ke katalog, membagikannya, atau menemukan template yang dibagikan terlebih dahulu.
- Gunakan kembali melalui katalog Anda: Publikasikan revisi ke katalog Anda, tambahkan sebagai komponen ke template aplikasi gabungan, dan ekspor Terraform template gabungan. Untuk mengetahui informasi selengkapnya, lihat Memublikasikan template aplikasi ke katalog.
Sebelum memulai
Untuk melakukan tugas dalam dokumen ini, minta administrator untuk memberi Anda peran yang diperlukan di folder khusus aplikasi atau project pengelolaan, seperti yang tercantum dalam tabel berikut:
| Tugas | Peran yang diperlukan |
|---|---|
| Membuat, mengimpor, mengambil snapshot, dan mengekspor template aplikasi dan revisi template | Admin Application Design Center (roles/designcenter.admin), atauPengguna Application Design Center ( roles/designcenter.user) |
| Membuat, men-deploy, dan mengekspor aplikasi | Admin Aplikasi (roles/designcenter.applicationAdmin), atauEditor Aplikasi ( roles/designcenter.applicationEditor) |
Untuk mengetahui informasi selengkapnya tentang peran, lihat Kontrol akses dengan Identity and Access Management.
Simpan modul root Terraform Anda (file .tf dan file pendukung apa pun, seperti
file .json) di salah satu sumber berikut:
- Bucket Cloud Storage.
- Repositori Developer Connect.
- Repositori Git publik.
- File YAML atau JSON lokal yang berisi file tersebut.
Mengimpor Terraform ke dalam template aplikasi
Selesaikan langkah-langkah berikut menggunakan Google Cloud CLI untuk membuat template aplikasi, mengimpor konfigurasi Terraform yang ada, dan membuat revisi template yang tidak dapat diubah.
Membuat template aplikasi di ruang Anda.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --display-name=DISPLAY_NAMEGanti kode berikut:
APPLICATION_TEMPLATE: ID untuk template aplikasi yang ingin Anda buat.PROJECT: ID project pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.DISPLAY_NAME: Nama tampilan untuk template aplikasi.
Untuk mengetahui informasi selengkapnya, lihat gcloud design-center spaces application-templates create.
Impor konfigurasi Terraform Anda ke template aplikasi dari salah satu sumber berikut:
Untuk mengimpor dari bucket Cloud Storage, jalankan perintah berikut:
gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --gcs-uri=GCS_URI \ --raw-terraform-import-enabledUntuk mengimpor dari repositori Developer Connect, jalankan perintah berikut:
gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --developer-connect-repo-uri=DEVELOPER_CONNECT_REPO_URI \ --developer-connect-branch=DEVELOPER_CONNECT_BRANCH \ --developer-connect-dir=DEVELOPER_CONNECT_DIR \ --raw-terraform-import-enabledUntuk mengimpor dari repositori Git publik, jalankan perintah berikut:
gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --git-source-repo=GIT_SOURCE_REPO \ --git-source-ref-tag=GIT_SOURCE_REF_TAG \ --git-source-dir=GIT_SOURCE_DIR \ --raw-terraform-import-enabledUntuk mengimpor dari file YAML atau JSON lokal yang berisi payload
IaCModule, jalankan perintah berikut:gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --iac-module-from-file=IAC_MODULE_FILE \ --raw-terraform-import-enabled
Ganti kode berikut:
APPLICATION_TEMPLATE: ID template aplikasi.PROJECT: ID project pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.GCS_URI: Cloud Storage URI yang berisi file Terraform Anda, dalam formatgs://BUCKET_NAME/FOLDER_PATH.DEVELOPER_CONNECT_REPO_URI: URI link repositori Developer Connect, dalam formatprojects/PROJECT/locations/LOCATION/connections/CONNECTION/gitRepositoryLinks/REPO_LINK.DEVELOPER_CONNECT_BRANCH: Nama cabang di repositori Developer Connect Anda. Atau, tentukan--developer-connect-ref-tagatau--developer-connect-commit-sha.DEVELOPER_CONNECT_DIR: Jalur direktori di repositori Developer Connect Anda.GIT_SOURCE_REPO: URL HTTPS repositori Git publik.GIT_SOURCE_REF_TAG: Referensi atau tag Git di repositori Git publik.GIT_SOURCE_DIR: Jalur direktori di repositori Git publik.IAC_MODULE_FILE: Jalur ke file YAML atau JSON lokal yang berisi file Terraform Anda.
Buat snapshot template aplikasi untuk menghasilkan revisi template aplikasi yang tidak dapat diubah, yang dapat Anda gunakan untuk membuat dan men-deploy aplikasi.
gcloud design-center spaces application-templates snapshot APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACEGanti kode berikut:
APPLICATION_TEMPLATE: ID template aplikasi.PROJECT: ID project pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.
Outputnya mencakup URI revisi template aplikasi yang dibuat dalam format
projects/PROJECT/locations/LOCATION/spaces/SPACE/applicationTemplates/APPLICATION_TEMPLATE/revisions/REVISION.
Membuat dan men-deploy aplikasi dari template
Setelah membuat revisi snapshot template Terraform yang diimpor, Anda dapat membuat draf aplikasi, memberikan nilai variabel input, dan men-deploy aplikasi.
Membuat draf aplikasi dari revisi template aplikasi.
gcloud design-center spaces applications create APPLICATION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --source-application-template-revision=SOURCE_APPLICATION_TEMPLATE_REVISION \ --deployment-project=DEPLOYMENT_PROJECT \ --deployment-region=DEPLOYMENT_REGION \ --app-parameters=APP_PARAMETERS \ --scope-type=SCOPE_TYPEGanti kode berikut:
APPLICATION: ID untuk aplikasi yang ingin Anda buat.PROJECT: ID project pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.SOURCE_APPLICATION_TEMPLATE_REVISION: URI revisi template aplikasi yang ditampilkan oleh perintahsnapshot.DEPLOYMENT_PROJECT: Project ID target tempat resource Terraform Anda di-deploy.DEPLOYMENT_REGION: Region target tempat resource Terraform Anda di-deploy.APP_PARAMETERS: Opsional. Masukkan key-value pair variabel untuk modul root Terraform Anda (misalnya,key=KEY,value=VALUE), atau jalur ke file YAML atau JSON yang berisi parameter aplikasi Anda.SCOPE_TYPE: Cakupan untuk aplikasi Anda, baikregionalatauglobal.
Untuk mengetahui informasi selengkapnya tentang mengelola aplikasi, lihat Mengelola aplikasi.
Melihat pratinjau dan men-deploy aplikasi Anda. Untuk mengetahui petunjuk langkah demi langkah, lihat Men-deploy aplikasi.
Mengekspor kode Terraform ke Cloud Storage
Anda dapat mengekspor file Terraform dari template aplikasi, revisi template aplikasi, atau aplikasi ke bucket Cloud Storage. Ekspor jika Anda ingin menjalankan Terraform dengan alat CI/CD Anda sendiri atau menyimpan salinan di kontrol versi.
Untuk mengekspor file Terraform dari draf template aplikasi, jalankan perintah berikut:
gcloud design-center spaces application-templates export APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --artifact-location-gcs-uri=ARTIFACT_LOCATION_GCS_URIUntuk mengekspor file Terraform dari revisi template aplikasi, jalankan perintah berikut:
gcloud design-center spaces application-templates revisions export REVISION \ --application-template=APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --artifact-location-gcs-uri=ARTIFACT_LOCATION_GCS_URIUntuk mengekspor file Terraform dari aplikasi (termasuk
zz_adc_inputs.auto.tfvars.jsonyang diisi dengan parameter aplikasi yang Anda konfigurasi), jalankan perintah berikut:gcloud design-center spaces applications export APPLICATION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --artifact-location-gcs-uri=ARTIFACT_LOCATION_GCS_URI
Ganti kode berikut:
APPLICATION_TEMPLATE: ID template aplikasi.REVISION: ID revisi template aplikasi.APPLICATION: ID aplikasi.PROJECT: ID project pengelolaan Anda.LOCATION: ID lokasi Anda.SPACE: ID ruang Anda.ARTIFACT_LOCATION_GCS_URI: Cloud Storage URI tujuan dalam formatgs://BUCKET_NAME/EXPORT_FOLDER.
Langkah berikutnya
- Mengelola aplikasi.
- Men-deploy aplikasi.
- Download dan deploy Terraform.
- Ekspor kode Terraform dari konsol Google Cloud .
- Publikasikan template aplikasi ke katalog.
- Mengimpor komponen.