【问题标题】:Add userdata for aws instance using data-source in terraform使用 terraform 中的数据源为 aws 实例添加用户数据
【发布时间】:2018-01-16 23:40:41
【问题描述】:

我需要使用 terraform 创建一个包含用户数据的 AWS 实例。我正在使用terraform 0.10.0。

ec2.tf

data "template_file" "user_data" {
  template = "userdata.tpl"
}

resource "aws_instance" "fluentd-web" {
  ami           = "${lookup(var.amis, var.aws_region)}"
  instance_type = "t2.micro"
  subnet_id = "${var.subnet_id}"
  user_data = "${data.template_file.user_data.rendered}"
  security_groups =[ "${aws_security_group.ec2_sg.id}" ]
  connection {
     ***
  }
}

userdata.tpl

#! /bin/bash

apt install <**>

在应用 terraform 时,它没有显示错误。但是文件的内容没有被填充为用户数据。它只是将文件名显示为用户数据。

如何获取文件内容作为用户数据?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 terraform


    【解决方案1】:

    设置模板如下:

    template = "${file("${path.module}/userdata.tpl")}"
    

    这里我们使用${path.module} 来获取模块相对路径。

    参考:https://www.terraform.io/docs/modules/create.html

    【讨论】:

      【解决方案2】:

      您的template 值必须来自用户数据文件,如下所示:

       template = "${file("userdata.tpl")}"
      

      【讨论】:

        猜你喜欢
        • 2017-11-27
        • 2018-10-12
        • 1970-01-01
        • 2018-09-26
        • 2018-06-19
        • 2020-05-28
        • 1970-01-01
        • 2019-04-27
        • 2018-10-10
        相关资源
        最近更新 更多