본문으로 건너뛰기

Terragrunt Stack

Unit 만들기

Stack 만들기

terragrunt.stack.hcl
unit "<unit>" {
source = "<unitPath>"
path = "<generatedPath>"
no_dot_terragrunt_stack = true
}
  • source = <unitPath>
  • path = <generatedPath>
    • .terraform-stack/<generatedPath>source에서 가져온 unit을 복사합니다.
  • values = { <key> = <value> }
    • 선택사항입니다.
    • unit에 variable로 선언한 변수에 값을 전달할 수 있습니다.
  • no_dot_terragrunt_stack = true
    • 선택사항입니다.
    • .terraform-stack/<generatedPath> 대신 <generatedPath>에 unit을 복사합니다.

values 대신 terraform.tfvars 파일을 사용하여 변수를 관리할 수 있습니다. 공통 변수가 많은 경우 terraform.tfvars 파일을 사용하는 것이 효율적입니다.

base.hcl
terraform {
extra_arguments "common_vars" {
commands = get_terraform_commands_that_need_vars()
arguments = []
required_var_files = [find_in_parent_folders("terraform.tfvars")]
# optional_var_files = [find_in_parent_folders("terraform.tfvars")]
}
}

Stack 사용하기

terragrunt --experiment stacks stack generate

stack을 생성한 이후에는 terragrunt run-all <cmd> 명령어로 terragrunt를 직접 구성했을 때와 동일하게 사용하면 됩니다.