我的设置是:Terraform --> AWS ec2
使用 Terraform 创建具有 SSH 访问权限的 ec2 实例。
这
resource "aws_instance" "inst1" {
instance_type = "t2.micro"
ami = data.aws_ami.ubuntu.id
key_name = "aws_key"
subnet_id = ...
user_data = file("./deploy/templates/user-data.sh")
vpc_security_group_ids = [
... ,
]
provisioner "file" {
source = "./deploy/templates/ec2-caller.sh"
destination = "/home/ubuntu/ec2-caller.sh"
}
provisioner "remote-exec" {
inline = [
"chmod +x /home/ubuntu/ec2-caller.sh",
]
}
connection {
type = "ssh"
host = self.public_ip
user = "ubuntu"
private_key = file("./keys/aws_key_enc")
timeout = "4m"
}
}
Run Code Online (Sandbox Code Playgroud)
上述位有效,我可以看到配置程序复制并执行“ec2-caller.sh”。我不想将我的私钥以明文形式传递给 Terraform 配置程序。无论如何,我们是否可以在不使用配置程序或不将私钥传递给配置程序的情况下将文件复制到新创建的 …
amazon-ec2 amazon-web-services terraform terraform-provider-aws