Skip to main content

Mengapa Butuh Terraform Modules?

Ketika arsitektur sistemmu berkembang, menulis semua konfigurasi (VPC, Subnet, EC2, Database) secara berulang-ulang untuk lingkungan dev, staging, dan prod melanggar prinsip DRY (Don’t Repeat Yourself). Jika ada perubahan aturan firewall, kamu terpaksa mengedit 3 file berbeda di 3 folder. Terraform Module adalah wadah pembungkus (container) untuk sekumpulan berkas konfigurasi Terraform yang dapat dipanggil dan digunakan kembali berkali-kali hanya dengan memberikan parameter input yang berbeda.

Struktur Standar Sebuah Modul

Struktur direktori standar untuk modul Terraform kustom:

Hands-On: Membuat Modul Kustom

Mari kita buat sebuah modul yang bertugas membuat kelompok server web:

1. File modules/aws_web_cluster/variables.tf (Parameter Input)

2. File modules/aws_web_cluster/main.tf

3. File modules/aws_web_cluster/outputs.tf (Nilai Kembalian)


Memanggil Modul di Lingkungan Berbeda

Sekarang, kita bisa memanggil modul yang sama untuk lingkungan Development dan Production dengan sangat ringkas:

Di Lingkungan Dev (environments/dev/main.tf):

Di Lingkungan Production (environments/prod/main.tf):


Menggunakan Modul Resmi dari Terraform Registry

Selain membuat modul sendiri, komunitas global dan cloud provider menyediakan ribuan modul resmi yang teruji di registry.terraform.io. Contoh memanggil modul resmi AWS VPC (kamu tidak perlu menulis 50 baris resource VPC dari nol):
Dengan modul resmi di atas, seluruh subnet publik, subnet privat, routing table, dan NAT Gateway dibuat secara otomatis hanya dalam 10 baris kode!
Last modified on October 26, 2026