Panduan memulai: Membuat instance VM menggunakan Terraform
Dalam panduan memulai ini, Anda akan mempelajari cara menggunakan Terraform untuk membuat Compute Engine menggunakan instance Virtual Machine (VM) dan terhubung ke instance VM tersebut.
Hashicorp Terraform adalah alat {i>Infrastructure as Code <i}(IaC) yang memungkinkan Anda menyediakan dan mengelola infrastruktur cloud. Penyedia Terraform untuk Google Cloud (penyedia Google Cloud) memungkinkan Anda menyediakan dan mengelola infrastruktur Google Cloud.
Sebelum memulai
Untuk menggunakan terminal online dengan gcloud CLI dan Terraform sudah disiapkan, aktifkan Cloud Shell:
Di bagian bawah halaman ini, sesi Cloud Shell dimulai dan menampilkan prompt command line. Sesi akan memerlukan waktu beberapa detik melakukan inisialisasi.
-
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.
-
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Compute Engine:
gcloud services enable compute.googleapis.com
-
Berikan peran ke Akun Google Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut:
roles/compute.instanceAdmin.v1
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Ganti
PROJECT_ID
dengan project ID Anda. - Ganti
EMAIL_ADDRESS
dengan alamat email Anda. - Ganti
ROLE
dengan setiap peran individual.
- Ganti
Menyiapkan lingkungan
Buat clone repositori GitHub yang berisi contoh Terraform:
git clone https://github.com/terraform-google-modules/terraform-docs-samples.git --single-branch
Buka direktori yang berisi contoh panduan memulai:
cd terraform-docs-samples/compute/quickstart/create_vm
Meninjau file Terraform
Tinjau file main.tf
. File ini mendefinisikan paket Google Cloud
resource yang ingin Anda buat.
cat main.tf
Output-nya mirip dengan berikut ini
File ini menjelaskan
Resource google_compute_instance
, yang merupakan resource Terraform untuk
di instance VM Compute Engine. google_compute_instance
dikonfigurasikan untuk
memiliki properti berikut:
name
disetel kemy-vm
.machine_type
disetel ken1-standard-1
.zone
disetel keus-central1-a
.boot_disk
menetapkan boot disk untuk instance.network_interface
disetel untuk menggunakan jaringan default di project Google Cloud Anda.
Membuat instance VM Compute Engine
Di Cloud Shell, jalankan perintah berikut untuk memverifikasi bahwa Terraform tersedia:
terraform
Outputnya akan mirip dengan berikut ini:
Usage: terraform [global options] <subcommand> [args] The available commands for execution are listed below. The primary workflow commands are given first, followed by less common or more advanced commands. Main commands: init Prepare your working directory for other commands validate Check whether the configuration is valid plan Show changes required by the current configuration apply Create or update infrastructure destroy Destroy previously-created infrastructure
Lakukan inisialisasi Terraform dengan menjalankan perintah berikut. Perintah ini mempersiapkan ruang kerja Anda sehingga Terraform dapat menerapkan konfigurasi Anda.
terraform init
Outputnya akan mirip dengan berikut ini:
Initializing the backend... Initializing provider plugins... - Finding latest version of hashicorp/google... - Installing hashicorp/google v5.35.0... - Installed hashicorp/google v5.35.0 (signed by HashiCorp) Terraform has created a lock file .terraform.lock.hcl to record the provider selections it made above. Include this file in your version control repository so that Terraform can guarantee to make the same selections by default when you run "terraform init" in the future. Terraform has been successfully initialized!
Validasi konfigurasi Terraform dengan menjalankan perintah berikut. Perintah ini akan melakukan tindakan berikut:
- Memverifikasi bahwa sintaksis
main.tf
sudah benar. - Menampilkan pratinjau resource yang akan dibuat.
terraform plan
Outputnya akan mirip dengan berikut ini:
Plan: 1 to add, 0 to change, 0 to destroy. Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.
- Memverifikasi bahwa sintaksis
Terapkan konfigurasi untuk menyediakan resource yang dijelaskan dalam
main.tf
file:terraform apply
Saat diminta, masukkan
yes
.Terraform memanggil Google Cloud API untuk membuat instance VM yang ditentukan di file
main.tf
.Outputnya akan mirip dengan berikut ini:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed
Terhubung ke instance VM
Hubungkan ke instance VM yang baru saja Anda buat dengan menjalankan perintah berikut:
gcloud compute ssh --zone=us-central1-a my-vm
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.
Di Cloud Shell, jalankan perintah berikut untuk menghapus Terraform referensi:
terraform destroy
Saat diminta, masukkan yes
.
Outputnya akan mirip dengan berikut ini:
Destroy complete! Resources: 1 destroyed.
Langkah selanjutnya
- Pelajari cara men-deploy server web Flask dasar menggunakan Terraform.
- Pelajari cara menyimpan status Terraform di bucket Cloud Storage.