A S T A C O D E

Loading

Tutorial

Menulis Terraform Module yang Reusable untuk AWS Infrastructure

Admin

Author

Aug 03, 2026

Published

9

Views

Menulis Terraform Module yang Reusable untuk AWS Infrastructure

Mengapa Modules?

Bayangkan mendefinisikan infrastruktur VPC yang sama untuk setiap proyek dari nol. Module mengenkapsulasi pola infrastruktur yang berulang menjadi blok yang reusable dengan interface yang bersih.

Struktur Module

Setiap module minimal memiliki: main.tf (resources), variables.tf (input), outputs.tf (output), dan README.md (dokumentasi). Tambahkan versions.tf untuk pin provider versions.

Membuat VPC Module

Module menerima variables: vpc_cidr, environment, availability_zones. Module menciptakan VPC, public/private subnets, Internet Gateway, NAT Gateway, dan route tables. Output: vpc_id, public_subnet_ids, private_subnet_ids.

Menggunakan Module

Panggil module dengan module "vpc" { source = "./modules/vpc" environment = "production" vpc_cidr = "10.0.0.0/16" }. Referensi output: module.vpc.vpc_id.

Versioning dengan Git Tags

Tag module releases di Git: git tag v1.0.0. Konsumen module bisa pin version: source = "git::https://github.com/org/modules.git//vpc?ref=v1.0.0".

Testing Module dengan Terratest

Terratest adalah Go library untuk testing Terraform. Test mendeploy module ke real environment, verifikasi resource terbuat, lalu destroy. Mahal tapi memberikan confidence tertinggi.

Looking for a professional partner?

Let's discuss how we can help your business grow with our technology solutions.

Chat with us