Cloud

Terraform에서 user_data를 파일로 지정하고 싶을 때

뭉기 2018. 6. 14. 02:36

userdata가 든 파일명이 user-data.web이라면


간단하게는  

user_data = "${file('user-data.web')}"

혹시, 작은 따옴표건으로 에러가 난다면 아래처럼 큰 따옴표로 바꿔본다. (신기하게도 난 아래게 정상 동작했다)

user_data = "${file("user-data.web")}"

terraform plan을 해보면 실제 파일의 내용이 대신 들어가 있다. 


복잡하게는 

resource "template_file" "web-userdata" {
    filename = "user-data.web"
}
resource "aws_launch_configuration" "webfarm" {
    name = "web_config"
    image_id = "ami-c5b7d8b2"
    instance_type = "t2.micro"
    security_groups = ["${aws_security_group.web-instance.id}"]
    user_data = "${template_file.web-userdata.rendered}"
}