使用private_key时,Terraform provisioner会抛出key not found错误

时间:2017-04-28 07:32:42

标签: amazon-ec2 terraform

使用terraform中的配置程序在部署AWS计算机后执行命令时出现问题。使用以下配置时,我看到一个未找到密钥的异常:

...
      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中执行命令?

1 个答案:

答案 0 :(得分:6)

您必须使用file()插补功能{/ 1}}。

private_key

查看private_key的“其他参数”部分,其中提到了 connection { . . . private_key = "${file("${path.module}/my-private-key")}" . . . } file()一起使用的插值函数: https://www.terraform.io/docs/provisioners/connection.html