未能使用带有aws lightail的terraform配置器

时间:2017-05-13 15:34:09

标签: amazon-web-services terraform amazon-lightsail

我无法使用配置器(“file”和“remote-exec”)和aws lightsail。对于“文件”配置程序,我一直收到拨号错误到端口22连接被拒绝,“remote-exec”给我一个超时错误。我可以看到它一直试图连接到实例,但它无法连接到它。

对于文件配置程序,我也直接尝试使用scp并且它运行正常。

我正在使用的连接块的示例片段如下:

resource "aws_lightsail_instance" "han-mongo" {
  name              = "han-mongo"
  availability_zone = "us-east-1b"
  blueprint_id      = "ubuntu_16_04"
  bundle_id         = "nano_1_0"
  key_pair_name     = "my_key_pair"
  user_data         = "${file("userdata.sh")}" 

  provisioner "file" {
         source = "file.service"
         destination = "/home/ubuntu"
         connection {
            type = "ssh"
            private_key =  "${file("my_key.pem")}"
            user = "ubuntu"
            timeout = "20s"
        }
  }
}

1 个答案:

答案 0 :(得分:1)

除了身份验证信息之外,还需要告诉Terraform应该使用哪个IP地址进行连接,如下所示:

connection {
  type        = "ssh"
  host        = "${self.public_ip_address}"
  private_key = "${file("my_key.pem")}"
  user        = "ubuntu"
  timeout     = "20s"
}

对于某些资源,Terraform能够从资源属性中自动推断出一些连接细节,但目前Lightsail实例不支持这种情况,因此必须明确指定host参数。