Cara membuat infrastruktur di lingkungan yang berbeda menggunakan Terraform

Terraform adalah alat IaC (infrastruktur sebagai kode) open source yang menyediakan alur kerja yang konsisten di CLI untuk mengelola ratusan layanan cloud. Terraform mengonversi API awan menjadi file konfigurasi deklaratif.







Kami biasanya menerapkan infrastruktur di beberapa lingkungan, yang kami gunakan untuk pengembangan, pementasan, pengujian, dan produksi. Sangat penting untuk menulis konfigurasi Terraform yang mudah dipelihara dan diskalakan untuk menyediakan infrastruktur di lingkungan yang ditentukan.







gambar







Pada artikel ini, kami akan mempertimbangkan beberapa cara untuk mempersiapkan infrastruktur di lingkungan yang berbeda. Masing-masing memiliki kelebihan dan kekurangan.







pengantar



. . — . Terraform .







Terraform — IaC, , .

.









Terraform, .







— 1



terraform.tfvars. , .







. , . outputs.tf, providers.tf, variables.tf . . terraform : init, plan, apply



.







gambar

( 1)







:







  • ,
  • .


:







  • ;
  • , .


— 2



, terraform.tfvars. , .







main.tf variables.tf , terraform . , , :







// Dev Environment
terraform plan --var-file="tfvars/environment/dev.tfvars"
// QA Environment
terraform plan --var-file="tfvars/environment/qa.tfvars"
// Prod Environment
terraform plan --var-file="tfvars/environment/prod.tfvars"
      
      





gambar

( 2)







:







  • ;
  • , .


:







  • ;
  • , .




Terraform default. , , , . , , default.

terraform workspace



. . , terraform workspace new



.









— , . Terraform — root-. Root- , .tf .







, . , . , .







. , .







gambar







Terragrunt



Terragrunt — , DRY , Terraform .







.









  • Terraform — - IaC, CLI .
  • , , , .
  • Terraform.
  • — . .
  • Terraform default. , , , .
  • — , . , .
  • Terragrunt — , DRY , Terraform .


, Terraform. . .








All Articles