首页 > 解决方案 > 是否可以通过 terraform 将文件从一台服务器传输到另一台服务器?

问题描述

我想使用 terraform 代码将密钥表文件从创建它的服务器 (s1) 传输到另一台服务器 (s2)。虽然上传不是问题,但根据https://github.com/hashicorp/terraform/issues/3379似乎无法通过 terraform 下载。由于这是不可能的,我的想法是实现以下解决方法(服务器和我的本地是 Windows 机器):我会使用 winrm 将文件从 s1 下载到本地,然后通过 terraform 将其上传到 s2。这是一种“好”的方式还是有其他解决方案的想法?任何人都可以提供一个代码剪断如何做到这一点?

标签: terraform

解决方案


试试这个:

resource "aws_instance" "foo" {
...
  provisioner "file" {
    source      = "~/foobar"
    destination = "~/foobar"

    connection {
      type        = "ssh"
      user        = "ubuntu"
      private_key = "${file("~/Downloads/AWS_keys/test.pem")}"
      host        = "${self.public_dns}"
    }
  }
...
}

推荐阅读