Cómo crear infraestructura en diferentes entornos usando Terraform

Terraform es una herramienta IaC (infraestructura como código) de código abierto que proporciona un flujo de trabajo consistente en la CLI para administrar cientos de servicios en la nube. Terraform convierte las API de la nube en archivos de configuración declarativos.







, , , . Terraform, , .







imagen







. .









. . — . Terraform .







Terraform — IaC, , .

.









Terraform, .







— 1



terraform.tfvars. , .







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



.







imagen

( 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"
      
      





imagen

( 2)







:







  • ;
  • , .


:







  • ;
  • , .




Terraform default. , , , . , , default.

terraform workspace



. . , terraform workspace new



.









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







, . , . , .







. , .







imagen







Terragrunt



Terragrunt — , DRY , Terraform .







.









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


, Terraform. . .








All Articles