Membuat alur kerja menggunakan Terraform
Panduan memulai ini menunjukkan cara membuat, men-deploy, dan menjalankan alur kerja pertama Anda menggunakan Terraform. Terraform adalah alat infrastruktur sebagai kode yang memungkinkan Anda membuat, mengubah, dan meningkatkan infrastruktur cloud Anda secara prediktif 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 langkah berikut:
- Mengaktifkan Workflows API menggunakan Terraform.
- Buat akun layanan untuk alur kerja menggunakan Terraform.
- Menentukan dan men-deploy alur kerja menggunakan Terraform.
- Menjalankan 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.
Perlu diperhatikan bahwa Cloud Shell memiliki Terraform yang sudah terintegrasi. Jika Anda perlu menginstal Terraform, baca dokumentasi Terraform HashiCorp.
- 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.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Cloud Resource Manager and Identity and Access Management (IAM):
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Cloud Resource Manager and Identity and Access Management (IAM):
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com
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 substitusi seperti variabel referensi, atribut resource, dan fungsi panggilan.
Buat direktori:
mkdir terraform
Buka direktori
terraform
:cd terraform
Tambahkan file baru,
main.tf
, ke direktori:nano main.tf
Tambahkan resource berikut ke file
main.tf
:Tetapkan ID project:
provider "google" { project = "PROJECT_ID" }
Ganti
PROJECT_ID
dengan ID project Anda.Aktifkan Workflows API:
Buat akun layanan untuk alur kerja:
Tentukan alur kerja menggunakan resource
google_workflows_workflow
:Argumen berikut digunakan dalam contoh alur kerja:
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 merepresentasikan identitas alur kerja dan menentukan izin yang dimiliki alur kerja tersebut. Jika Anda tidak menentukan akun layanan selama pembuatan alur kerja, alur kerja tersebut akan menggunakan akun layanan Compute Engine default untuk identitasnya. Untuk mengetahui informasi selengkapnya, lihat bagian 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 mengetahui informasi selengkapnya, lihat Apa yang dimaksud dengan label?user_env_vars
: variabel lingkungan buatan pengguna yang terkait dengan revisi alur kerja ini. Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel lingkungan.source_contents
: kode Workflows yang akan dieksekusi. Untuk 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
: level logging yang akan diterapkan pada panggilan dan respons panggilan selama eksekusi alur kerja ini. Nilainya dapat berupa:CALL_LOG_LEVEL_UNSPECIFIED
LOG_ALL_CALLS
LOG_ERRORS_ONLY
LOG_NONE
Untuk mengetahui informasi lebih lanjut, lihat Logging panggilan.
project
: ID project tempat resource berada. Jika tidak disediakan, project penyedia akan digunakan.name_prefix
: membuat nama unik yang dimulai dengan awalan yang ditentukan. Jika atribut ini danname
tidak ditentukan, nilai acak akan dipilih untuk nama tersebut.
Membuat dan menjalankan alur kerja
Deploy resource Terraform Anda untuk membuat alur kerja, lalu menjalankan alur kerja tersebut.
Lakukan inisialisasi Terraform di direktori:
terraform init
Pastikan perubahan yang Anda usulkan dengan Terraform sesuai dengan rencana yang diharapkan:
terraform plan
Anda dapat mengabaikan catatan tentang tidak menggunakan opsi
-out
.Buat alur kerja:
terraform apply
Pada perintah Enter a value, ketik
yes
untuk 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 tidak menimbulkan biaya pada akun Google Cloud Anda 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:
gcloud workflows delete sample-workflow
Ketika ditanya apakah Anda ingin melanjutkan, tekany
. - Atau, Anda dapat menghapus project Google Cloud Anda untuk menghindari tagihan. Menghapus project Google Cloud akan menghentikan penagihan untuk semua resource yang digunakan dalam project tersebut.
Menghapus project Google Cloud:
gcloud projects delete PROJECT_ID