Terraform에서 variable
, local
, output
는 각각 중요한 역할을 하며, 인프라 코드의 재사용성과 관리 용이성을 높입니다. 각 용도의 설명은 다음과 같습니다:
변수는 Terraform 구성에서 입력값을 정의하는 데 사용됩니다. 사용자가 인프라를 배포할 때 값을 제공할 수 있게 하며, 이는 재사용성과 유연성을 높입니다.
정의: variable "name" { ... }
형식으로 정의됩니다.
예시:
variable "instance_type" {
description = "The type of instance to use"
type = string
default = "t2.micro"
}
사용: 변수는 ${var.name}
형식으로 참조됩니다.
resource "aws_instance" "example" {
instance_type = var.instance_type
...
}
용도:
로컬 값은 한 구성 파일 내에서만 사용되는 일종의 상수입니다. 여러 번 반복해서 사용되는 값을 한 곳에 정의하여 코드의 가독성과 유지 보수성을 높입니다.
정의: locals { ... }
블록 내에서 정의됩니다.
예시:
locals {
instance_name = "my-instance"
environment = "production"
}
사용: 로컬 값은 ${local.name}
형식으로 참조됩니다.
resource "aws_instance" "example" {
name = local.instance_name
...
}
용도:
출력 값은 Terraform이 적용된 후에 사용자가 확인할 수 있는 값을 정의합니다. 다른 Terraform 구성 또는 모듈과의 연동 시 중요한 값을 출력하여 쉽게 참조할 수 있게 합니다.
정의: output "name" { ... }
형식으로 정의됩니다.
예시:
output "instance_id" {
description = "The ID of the created instance"
value = aws_instance.example.id
}
용도: