Terraform ist ein Open-Source-IaC-Tool (Infrastruktur als Code), das einen konsistenten Workflow in der CLI für die Verwaltung von Hunderten von Cloud-Diensten bietet. Terraform konvertiert Cloud-APIs in deklarative Konfigurationsdateien.
, , , . Terraform, , .

. .
. . — . Terraform .
Terraform — IaC, , .
.
— 1
terraform.tfvars. , .
. , . outputs.tf, providers.tf, variables.tf . . terraform : init, plan, apply
.
( 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"
( 2)
:
- ;
- , .
:
- ;
- , .
Terraform default. , , , . , , default.
terraform workspace
. . , terraform workspace new
.
— , . Terraform — root-. Root- , .tf .
, . , . , .
. , .
Terragrunt
Terragrunt — , DRY , Terraform .
- Terraform — - IaC, CLI .
- , , , .
- Terraform.
- — . .
- Terraform default. , , , .
- — , . , .
- Terragrunt — , DRY , Terraform .
, Terraform. . .