如何将Terraform provisioner用于多个实例
我想创建x个实例并运行相同的provisioner如何将Terraform provisioner用于多个实例,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我想创建x个实例并运行相同的provisioner resource "aws_instance" "workers" { ami = "ami-08d658f84a6d84a80" count = 3 ... 我认为主机线混淆了地形。获取错误:周期:aws\u instance.workers[2],aws\u instance.workers[1],aws\u instance.workers[0]自从升级terraform版本(0.12)以来,我遇到了与您相同的问题 您需要对
resource "aws_instance" "workers" {
ami = "ami-08d658f84a6d84a80"
count = 3
...
我认为主机线混淆了地形。获取
错误:周期:aws\u instance.workers[2],aws\u instance.workers[1],aws\u instance.workers[0]
自从升级terraform版本(0.12)以来,我遇到了与您相同的问题
您需要对连接
对象中的主机
属性使用${self.private_ip}
,
而连接
对象应位于供应器“远程执行”
详情如下
resource "aws_instance" "workers" {
ami = "ami-08d658f84a6d84a80"
count = 3
...
connection {
host = "${self.private_ip}"
type = "ssh"
user = "YOUR_USER_NAME"
private_key = "${file("~/YOUR_PEM_FILE.pem")}"
}
provisioner "remote-exec" {
scripts = ["setup-base.sh", "./setup-docker.sh"]
}
...
}
如果您需要获得更多信息,下面的链接将帮助您。
该供应器是
aws\u实例.workers
资源的一部分吗?现在很难从你在问题中包含的内容来判断,因此编辑以澄清这一点非常有用。如果你能让我知道你遗漏了什么,很高兴提供更多信息。你能包含完整的地形配置吗?总的来说,最好提供一份报告,以便人们能够重现您的问题。
resource "aws_instance" "workers" {
ami = "ami-08d658f84a6d84a80"
count = 3
...
connection {
host = "${self.private_ip}"
type = "ssh"
user = "YOUR_USER_NAME"
private_key = "${file("~/YOUR_PEM_FILE.pem")}"
}
provisioner "remote-exec" {
scripts = ["setup-base.sh", "./setup-docker.sh"]
}
...
}