我有以下实例:
provisioner "remote-exec" {
inline = ["# Connected!"]
}
通过terraform运行它时,它会创建实例,但会在VM登录时停止,并且永远不会运行user_data代码。
我尝试像这样使用remote_exec:
condor ferry
condorferries
jersey ferry
condor ferries to guernsey
condor ferries £15 day trips
等待5分钟。并且当时实例还没有创建错误。
在此ec2实例中是否有通过Terraform运行用户数据的方法?当我在没有terraform的AWS中创建类似实例时,效果很好。
答案 0 :(得分:1)
请勿将base64编码的数据传递到user_data
,因为Terraform会为您进行base64编码。参见https://www.terraform.io/docs/providers/aws/r/instance.html#user_data
如果必须传递base64编码的数据,请改用user_data_base64
。
将代码更改为:
user_data = "${join("", list("vmseries-bootstrap-aws-s3bucket=", var.MasterS3Bucket))}"