Skip to main content
Di lingkungan enterprise, kode Terraform tidak pernah ditaruh dalam satu file tunggal. Standar industri membagi arsitektur menjadi beberapa berkas:
  • main.tf: Berisi resource inti arsitektur.
  • variables.tf: Deklarasi tipe variabel input.
  • terraform.tfvars: Nilai konkret variabel lokal (berisi konfigurasi non-sensitif).
  • outputs.tf: Nilai output penting yang diekspos ke publik (seperti DNS Load Balancer).

1. Manajemen Variabel & Kunci Rahasia (Secrets)

Jangan pernah menulis kunci rahasia (secret variables) langsung di dalam kode main.tf!

Deklarasi Variabel (variables.tf)

Menyimpan Nilai Rahasia

Ada 3 cara aman menginjeksi variabel sensitif:
  1. Menggunakan berkas terraform.tfvars lokal: Tambahkan terraform.tfvars dan *.auto.tfvars ke dalam file .gitignore agar tidak pernah terunggah ke repositori GitHub!
  2. Menggunakan Environment Variable: Awali variabel dengan prefix TF_VAR_:

2. Arsitektur Proyek: VPC + 3 EC2 di Balik Application Load Balancer

Berikut topologi infrastruktur yang akan kita bangun secara otomatis:

3. Implementasi Berkas Konfigurasi

Berkas main.tf (Infrastruktur Utama)


Berkas outputs.tf (Mengekspos URL Domain ALB)


4. Eksekusi & Pengujian Nyata

Jalankan perintah berikut:
Ketika proses pembuatan selesai (sekitar 2-3 menit), terminal akan mencetak URL output:
Buka URL tersebut di peramban dan lakukan refresh beberapa kali. Kamu akan melihat tampilan bergantian secara dinamis antara:
  • “Halo dari Web Server Instance ke-1”
  • “Halo dari Web Server Instance ke-2”
  • “Halo dari Web Server Instance ke-3”
Ini membuktikan bahwa seluruh jaringan VPC, perutean internet, 3 server EC2, dan Application Load Balancer telah berhasil dirakit secara 100% otomatis berbasis kode!
Last modified on October 26, 2026