Terraform Template_File Rendeding не работает

Я новичок в Terraform и изучаю файл template_file с помощью AWS. Я только что собрал код, как показано ниже, с шаблоном template_file, но после запуска экземпляра EC2 я обнаружил, что скрипт в файле template_file не выполняется - tcpdump и httpd не установлены, а конфигурация имени хоста и сервера имен не выполнена. Может ли кто-нибудь указать, что я здесь делаю неправильно?

  1. файл_файла: user_data.sh.tpl:

    #!/usr/bin/bash
    sudo yum install -y tcpdump
    sudo yum update -y
    sudo yum install -y httpd24 php56 php56-mysqlnd
    sudo service httpd start
    sudo hostname www.xyz.com
    echo "${nameserver}" >> /etc/resolv.conf
    
  2. Ресурс и данные в файле application.tf в модуле dir:

    data "template_file" "user_data" {
    template = "${file("/Users/user1/Documents/Terraform/Code/started/modules/application/user_data.sh.tpl")}"
    
    vars {
    nameserver = "${var.external_nameserver}"
    }
    }
    
    resource "aws_instance" "app-server" {
    ami                    = "ami-b2b55cd5"
    key_name               = "privatekey"
    instance_type          = "${lookup(var.instance_type, var.environment)}"
    subnet_id              = "${var.subnet_id}"
    vpc_security_group_ids = ["${distinct(concat(var.extra_sgs, aws_security_group.allow_http.*.id))}"]
    user_data              = "${data.template_file.user_data.rendered}"
    
    tags {
    Name = "${var.name}"
    }
    }
    

1 ответ

Вместоtemplate_file

      user_data = "${data.template_file.user_data.rendered}"

я использовалtemplatefileфункция (с именем файла.tftplвместо.tpl) похоже на это

      templatefile("${path.module}/user_data.tftpl", {
  nameserver = "${var.external_nameserver}"
})

Затем очистить и удалить

      data "template_file" "user_data" {
  template = "${file("/Users/user1/Documents/Terraform/Code/started/modules/application/user_data.sh.tpl")}"

  vars = {
    nameserver = "${var.external_nameserver}"
  }
}

https://github.com/hashicorp/terraform-provider-template/issues/85https://www.terraform.io/language/functions/templatefile

Другие вопросы по тегам