在部署 AWS 机器后,我在使用 terraform 的配置程序执行命令时遇到问题。使用以下配置时,我看到一个未找到 key 的异常:
...
provisioner "remote-exec" {
inline = [
"wget http://www.eu.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz",
"tar -xzf apache-jmeter-3.2.tgz",
]
connection {
user = "ec2-user"
private_key = "${path.module}/my-private-key"
agent = false
}
}
...
如何在机器创建后使用我的私钥在 terraform 中执行我的命令?
最佳答案
您必须使用 file()
带 private_key
的插值函数.
connection {
. . .
private_key = "${file("${path.module}/my-private-key")}"
. . .
}
查看 private_key 的“附加参数”部分,其中提到
file()
与 private_key
一起使用的插值函数:https://www.terraform.io/docs/provisioners/connection.html
关于amazon-ec2 - 使用 private_key 时,Terraform 配置程序抛出未找到 key 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43674538/