Panduan Terraform: Infrastruktur sebagai Kode (IaC) untuk Pemula

Apa Itu Terraform?

Terraform adalah alat Infrastructure as Code (IaC) open-source yang dikembangkan oleh HashiCorp. Alat ini memungkinkan Anda mendefinisikan infrastruktur pusat data dalam file konfigurasi tingkat tinggi (HCL - HashiCorp Configuration Language), yang kemudian dapat dibuat, diubah, dan dikelola secara otomatis di berbagai penyedia cloud seperti AWS, Azure, dan Google Cloud Platform.

Alur Kerja Utama Terraform

Proses kerja Terraform mengikuti siklus hidup yang konsisten untuk memastikan stabilitas infrastruktur:

  • Write: Menulis konfigurasi dalam file .tf.
  • Plan: Menjalankan terraform plan untuk melihat perubahan yang akan diterapkan.
  • Apply: Menjalankan terraform apply untuk mengeksekusi perubahan pada penyedia cloud.

Tabel Perintah Dasar Terraform

PerintahFungsi
terraform initInisialisasi direktori kerja dan unduh provider.
terraform planMenampilkan rencana eksekusi perubahan.
terraform applyMenerapkan konfigurasi ke infrastruktur nyata.
terraform destroyMenghapus seluruh infrastruktur yang dikelola.
terraform validateMemeriksa sintaks file konfigurasi.

Contoh Kode: Membuat Instance AWS EC2

Berikut adalah contoh dasar untuk mendefinisikan sebuah server virtual menggunakan provider AWS:

provider "aws" { region = "us-east-1" } resource "aws_instance" "web_server" { ami = "ami-0c55b159cbfafe1f0" instance_type = "t2.micro" tags = { Name = "Server-Azwinn" } }

Langkah Instalasi Teknis

  1. Unduh Binary: Kunjungi situs resmi terraform.io/downloads.
  2. Konfigurasi PATH: Pindahkan file binary ke direktori yang terdaftar dalam sistem PATH (misalnya /usr/local/bin di Linux/macOS).
  3. Verifikasi: Jalankan perintah terraform -version di terminal untuk memastikan instalasi berhasil.
  4. Autentikasi: Pastikan kredensial cloud (seperti AWS Access Key) sudah dikonfigurasi melalui CLI masing-masing provider.

Tips Troubleshooting Lapangan

  • State Lock: Jika terjadi error saat menjalankan apply, periksa apakah ada file terraform.tfstate.lock.info yang tersisa akibat proses sebelumnya yang terputus.
  • Provider Version: Selalu tentukan versi provider dalam blok required_providers untuk menghindari perubahan breaking change pada update provider di masa depan.
  • Dry Run: Jangan pernah melewatkan tahap terraform plan sebelum melakukan apply untuk menghindari penghapusan sumber daya yang tidak disengaja.