【发布时间】:2020-08-02 06:22:20
【问题描述】:
你们中的任何人都可以帮助我使用 terraform 中的以下代码吗?我正在尝试使用外部脚本文件引导亚马逊 linux ec2 实例。外部脚本在 ec2 实例上安装 tomcat。 以下代码无法在 ec2 上部署 tomcat。
终端代码:
data "template_file" "ec2_user_data" {
template = "${file("${path.cwd}/user_data_tomcat.txt")}"
}
resource "aws_instance" "lab_ec1" {
ami = "ami-009d6802948d06e52"
instance_type = "t2.micro"
key_name = "lab_keypair_1"
#key_name = "${aws_key_pair.lab_key_pair.name}"
subnet_id = "${aws_subnet.lab_subnet1.id}"
vpc_security_group_ids = [
"${aws_security_group.lab_bastion_sg.id}",
]
associate_public_ip_address = true
user_data = "${data.template_file.ec2_user_data.template}"
tags = {
Name = "lab_ec1"
}
}
外部脚本文件:user_data_tomcat.txt
#!/bin/bash
sudo yum -y install tomcat.noarch
sudo yum -y install tomcat-admin-webapps.noarch
sudo yum -y install tomcat-webapps.noarch
sudo yum -y install tomcat-lib.noarch
sudo service tomcat start
如何在 terraform 中使用外部脚本文件引导 ec2 实例?
【问题讨论】:
-
"下面的代码不起作用。还有什么遗漏吗?"数据“模板文件”“ec2_user_data”{模板=“${file(“user_data_tomcat.txt”)}“}资源“aws_instance”“lab_ec1”{ami =“ami-009d6802948d06e52”instance_type =“t2.micro”key_name =“lab_keypair_1 " #key_name = "${aws_key_pair.lab_key_pair.name}" subnet_id = "${aws_subnet.lab_subnet1.id}" vpc_security_group_ids = [ "${aws_security_group.lab_bastion_sg.id}", ] associate_public_ip_address = true user_data = "${data .template_file.ec2_user_data.rendered}" 标签 = { 名称 = "lab_ec1" } }
标签: terraform-provider-aws terraform-template-file