Terraform adalah Infrastructure as Code (IaC) tool yang dibuat oleh HashiCorp. Dengan Terraform, kamu bisa mendefinisikan infrastruktur (server, database, network, load balancer, dll) dalam bentuk file konfigurasi (biasanya.tf), lalu menjalankannya agar infrastruktur tersebut dibuat, diubah, atau dihapus secara otomatis , cara kerja terraform :
.png)
Visualisasi car kerja terraform
- Control Machine (Mesin Tempat Terraform Berjalan)
- Di dalam control machine, kita punya Terraform sebagai core engine.
- Terraform tidak bisa langsung bicara ke AWS, GCP, Azure, dll → butuh plugin provider.
- Plugin ini berfungsi sebagai translator antara kode
.tf
dengan API dari cloud provider.
- Plugin Provider
- Ketika kita menulis
provider "aws" { ... }
di Terraform, otomatis Terraform akan mendownload plugin AWS.
- Plugin inilah yang tahu bagaimana cara:
- Membuat resource (misalnya EC2, S3, VPC).
- Mengupdate resource.
- Menghapus resource.
- Jadi, plugin provider adalah jembatan antara Terraform core dengan API provider.
- API Provider
- Semua cloud (AWS, GCP, Azure, DigitalOcean, On-prem, dsb) pasti punya API untuk mengelola resource.
- Plugin provider menggunakan API ini untuk melakukan operasi CRUD (create, read, update, delete) terhadap resource.
- Your Provider
- Di gambar kamu ada kotak YOUR_PROVIDER → ini maksudnya adalah cloud platform atau environment target.
- Bisa:
- AWS, GCP, Azure, DigitalOcean
- VMware atau OpenStack untuk on-prem virtualization
- Bahkan service lain (misalnya Cloudflare, GitHub, dll).
- Alur Kerja
- Step 1: Kamu menulis deklarasi resource di
.tf
(contoh: bikin EC2 instance).
- Step 2: Terraform membaca konfigurasi → memanggil plugin provider (misalnya plugin AWS).
- Step 3: Plugin provider memanggil API provider milik AWS.
- Step 4: API AWS menghubungi infrastruktur AWS dan membuat resource sesuai request.
- Step 5: Hasilnya dikembalikan lagi ke Terraform, lalu disimpan di
terraform.tfstate
.
Intinya
- Terraform Core → mengatur workflow (plan, apply, destroy).
- Plugin Provider → jembatan translator.
- API Provider → interface resmi dari cloud provider.
- Your Provider (Cloud/Infra) → target infrastruktur tempat resource dibuat.
oke selanjutnya kita akan mempelajari dan membagi konsep pembelajaran kita di bawah ini
Core Concepts Terraform
Format HCL