Terraform variables

이eun·2024년 12월 30일

Terraform variables

Terraform은 HCL 문법을 가진 언어이다.
언어적 특성을 가지고 있기 때문에 변수를 정의하고 주입해서 사용할 수 있다.

HCL syntax는 JSON syntax와 비슷하다.

Variable types

  • string
  • number
  • bool

Complex variable types

  • list()
  • set()
  • map()
  • object({ = , ...})
  • tuple([, ...])

Terraform 변수 자세히 보기

사용법

  1. 변수 정의하여 선언하기
    variables.tf 에 작성한다. 변수의 정의는 .tf 파일 어느 곳에서나 정의는 가능하다. 보통 variables.tf 파일을 만들어 해당 파일에 정의한다.
    예시
variable "image_id" {
  type = string
}

variable "availability_zone_names" {
  type    = list(string)
  default = ["us-west-1a"]
}

variable "ami_id_maps" {
  type = map
  default = {}
}
  1. terraform.tfvars 주입
    정의한 변수에 값을 주입하기 위해 가장 일반적인 방법은 terraform.tfvars 파일을 생성하는 것입니다. Variable = Value 형태로 정의합니다.
image_id = "ami-064c81ce3a290fde1"
availability_zone_names = ["us-west-1a","us-west-1b","us-west-1c"]
ami_id_maps = {
    ap-northeast-2 = {
      amazon_linux2 = "ami-010bf43fe22f847ed"
      ubuntu_18_04  = "ami-061b0ee20654981ab"
    }

    us-east-1 = {
      amazon_linux2 = "ami-0d29b48622869dfd9"
      ubuntu_18_04  = "ami-0d324124b7b7eec66"
    }
}

outputs.tf

outputs은 state파일에 변수를 저장한다.
output에 지정해놓은 것을 terraform state파일(terraform.tfstate)에 기록을 하는 것이다. 또한, remote state로 사용할 수도 있다.

hint
vim 편집기에서
:%s/"string"/"string"/g :치환명령어

0개의 댓글