컬쥐네 다락방

Terraform | 출력값, 로컬값 , 사용자 데이터 본문

클라우드/Terraform

Terraform | 출력값, 로컬값 , 사용자 데이터

코딩하는 갱얼쥐 2022. 4. 26. 16:19

출력 값

terraform output 명령어를 입력하거나, 테라폼의 Apply가 끝나면 output.tf에 있는 값들이 화면에 출력된다.

## 테라폼 적용이 종료되고 유동 IP와 퍼블릭 IP가 출력되는 output.tf
output "app_server_elastic_ip" {
  value = aws_eip.app_server_eip.*.public_ip
}

output "app_server_public_ip" {
  value = aws_instance.app_server.*.public_ip
}
terraform output

로컬 값

로컬 변수를 입력해놓고 어디서든 변수를 사용할 수 있다.

locals {
  common_tags = {
    Name         = "My Terraform"
    project_name = var.project_name
    project_env  = var.project_environment
  }
}
resource "aws_instance" "example" {
  # ...

  tags = local.service_name
}

사용자 데이터

코드를 입력하고 싶을 때 그 내용이 길어지면 main.tf 파일의 가독성이 떨어지고 관리가 힘들어진다.
이럴땐 따로 파일을 만들어서 관리하고 파일을 읽는 형태로 테라폼 코드를 짜놓으면 편리하다.

  • 기존 코드 형식
resource "aws_instance" "app_web" {
...
user_data = <<-EOF
  #!/bin/sh
  echo "hello wolrd"
  EOF
...
}
  • 코드 파일을 작성

https://www.terraform.io/language/functions/file

userdata.sh

#!/bin/sh
yum install -y httpd
...
  • 코드 파일을 읽도록 설정
resource "aws_instance" "app_web" {
...
user_data = file("userdata.sh")
...
    }
Comments