使用 terraform 中的数据源为 aws 实例添加用户数据
Add userdata for aws instance using data-source in terraform
我需要使用 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 时,没有显示错误。但是文件的内容没有作为用户数据填充。它只是将文件名显示为用户数据。
如何获取文件内容作为用户数据?
设置模板如下:
template = "${file("${path.module}/userdata.tpl")}"
这里我们使用${path.module}
获取模块相对路径。
您的 template
值必须按照以下方式获取用户数据文件:
template = "${file("userdata.tpl")}"
我需要使用 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 时,没有显示错误。但是文件的内容没有作为用户数据填充。它只是将文件名显示为用户数据。
如何获取文件内容作为用户数据?
设置模板如下:
template = "${file("${path.module}/userdata.tpl")}"
这里我们使用${path.module}
获取模块相对路径。
您的 template
值必须按照以下方式获取用户数据文件:
template = "${file("userdata.tpl")}"