Membuat alur kerja menggunakan Terraform
Panduan memulai ini menunjukkan cara membuat, men-deploy, dan menjalankan alur kerja pertama Anda menggunakan Terraform. Terraform adalah alat infrastructure-as-code yang memungkinkan Anda membuat, mengubah, dan meningkatkan infrastruktur cloud secara terprediksi menggunakan kode. Pelajari cara menggunakan Terraform untuk menyediakan infrastruktur di Google Cloud.
Dalam panduan memulai ini, alur kerja contoh mengirim permintaan ke API publik, lalu menampilkan respons API.
Anda akan menyelesaikan hal berikut:
- Aktifkan Workflows API menggunakan Terraform.
- Buat akun layanan untuk alur kerja menggunakan Terraform.
- Tentukan dan deploy alur kerja menggunakan Terraform.
- Jalankan alur kerja menggunakan Google Cloud CLI.
Sebelum memulai
Batasan keamanan yang ditentukan oleh organisasi mungkin mencegah Anda menyelesaikan langkah-langkah berikut. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan Google Cloud yang terbatas.
Perhatikan bahwa Cloud Shell sudah mengintegrasikan Terraform. Jika Anda perlu menginstal Terraform, lihat dokumentasi HashiCorp Terraform.
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Cloud Resource Manager, Identity and Access Management (IAM), dan Service Usage API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com serviceusage.googleapis.com -
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Cloud Resource Manager, Identity and Access Management (IAM), dan Service Usage API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com serviceusage.googleapis.com
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan panduan memulai cepat ini, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Project IAM Admin (
roles/resourcemanager.projectIamAdmin) -
Service Account Admin (
roles/iam.serviceAccountAdmin) -
Service Account User (
roles/iam.serviceAccountUser) -
Workflows Admin (
roles/workflows.admin)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat file konfigurasi Terraform
Buat file konfigurasi Terraform bernama main.tf dan sertakan resource Penyedia Google untuk Terraform yang digunakan dalam panduan memulai ini.
Perhatikan bahwa Anda dapat menggunakan interpolasi untuk penggantian seperti variabel referensi, atribut resource, dan fungsi panggilan.
Buat direktori:
mkdir terraformBuka direktori
terraform:cd terraform
Tambahkan file baru,
main.tf, ke direktori:nano main.tfTambahkan resource berikut ke file
main.tf:Tetapkan ID project:
provider "google" { project = "PROJECT_ID" }
Ganti
PROJECT_IDdengan ID project Anda.Aktifkan Workflows API:
Buat akun layanan untuk alur kerja:
Tentukan alur kerja menggunakan
google_workflows_workflowresource:Argumen berikut digunakan dalam alur kerja contoh:
name: nama alur kerja Anda.region: lokasi alur kerja Anda.description: deskripsi alur kerja Anda.service_account: alamat email atau ID unik akun layanan yang terkait dengan versi alur kerja terbaru. Akun layanan ini mewakili identitas alur kerja dan menentukan izin apa yang dimiliki alur kerja. Jika Anda tidak menentukan akun layanan selama pembuatan alur kerja, alur kerja akan menggunakan akun layanan Compute Engine default untuk identitasnya. Untuk mengetahui informasi selengkapnya, lihat Memberikan izin alur kerja untuk mengakses resource Google Cloud .labels: daftar pasangan label nilai kunci yang akan ditetapkan ke alur kerja ini yang membantu Anda mengatur instance Google Cloud . Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label?user_env_vars: variabel lingkungan yang ditentukan pengguna dan terkait dengan revisi alur kerja ini. Untuk mengetahui informasi selengkapnya, lihat Gunakan variabel lingkungan.source_contents: kode Workflows yang akan dieksekusi. Untuk mengetahui batas ukuran file, lihat Batas resource.
Argumen opsional lainnya meliputi:
crypto_key_name: ID resource untuk kunci Cloud Key Management Service dalam format berikut:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Untuk informasi selengkapnya, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.
call_log_level: tingkat logging yang akan diterapkan pada panggilan dan respons panggilan selama eksekusi alur kerja ini. Nilainya dapat berupa:CALL_LOG_LEVEL_UNSPECIFIEDLOG_ALL_CALLSLOG_ERRORS_ONLYLOG_NONE
Untuk mengetahui informasi selengkapnya, lihat Logging panggilan.
project: ID project tempat resource berada. Jika tidak disediakan, project penyedia akan digunakan.name_prefix: membuat nama unik yang diawali dengan awalan yang ditentukan. Jika ini dannametidak ditentukan, nilai acak akan dipilih untuk nama.
Membuat dan menjalankan alur kerja
Deploy resource Terraform Anda untuk membuat alur kerja, lalu jalankan alur kerja.
Lakukan inisialisasi Terraform di direktori:
terraform initPeriksa apakah perubahan yang Anda usulkan dengan Terraform sesuai dengan rencana yang diharapkan:
terraform planAnda dapat mengabaikan catatan terkait tidak menggunakan opsi
-out.Buat alur kerja:
terraform applyPada perintah Enter a value, ketik
yesuntuk melanjutkan pembuatan resource.Pastikan alur kerja dibuat:
gcloud workflows list --location us-central1
Outputnya akan mirip dengan berikut ini:
NAME STATE REVISION_ID UPDATE_TIME projects/project-name/locations/us-central1/workflows/sample-workflow ACTIVE 000001-f9a 2024-02-24T13:38:58.353765906Z
Secara opsional, Anda dapat menjalankan alur kerja:
gcloud workflows execute sample-workflow
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.
- Hapus semua resource yang Anda buat dengan Terraform:
terraform destroy - Hapus alur kerja yang Anda buat:
Saat ditanya apakah Anda ingin melanjutkan, tekangcloud workflows delete sample-workflow
y. - Atau, Anda dapat menghapus project Google Cloud untuk menghindari
tagihan. Menghapus project Google Cloud akan menghentikan penagihan untuk semua
resource yang digunakan dalam project tersebut.
Menghapus Google Cloud project:
gcloud projects delete PROJECT_ID
Langkah berikutnya
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2026-03-28 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2026-03-28 UTC."],[],[]]