【问题标题】:Terraform: Upload File to Windows AMI with Private IPTerraform:使用私有 IP 将文件上传到 Windows AMI
【发布时间】:2018-08-11 02:52:30
【问题描述】:

我正在尝试将文件上传到我在没有公共 IP 地址的 EC2 上运行的 Windows Server VM。这是我描述该实例的 terraform 资源。

resource "aws_instance" "windows" {
  count                  = 1
  ami                    = "${var.ami_id}"
  instance_type          = "${var.instance_type}"
  subnet_id              = "${module.vpc.internal_subnets[0]}"
  user_data              = "<powershell>net user Administrator thisIsJustTemporary!</powershell>"
  vpc_security_group_ids = ["${aws_security_group.winrm.id}", "${module.security_groups.internal_rdp}", "${module.security_groups.allow_outbound}"]
  key_name               = "${var.key_name}"

  provisioner "file" {
    source      = "./my-script.ps1"
    destination = "C:\\Users\\Administrator\\connect-slave.ps1"

  #   connection {
  #     type     = "winrm"
  #     user     = "Administrator"
  #     password = "thisIsJustTemporary!"

  #     bastion_host        = "${module.bastion.external_ip}"
  #     bastion_private_key = "${file(var.ssh_private_key_path)}"
  #     bastion_user        = "ubuntu"
  #   }
  }

  tags {
    Name               = "${var.name}-windows-${count.index+1}"
  }
}

我似乎找不到任何关于如何通过堡垒主机使用 WinRM 的文档。 WinRM 正确设置,因为当我在公共子网中启动实例并直接连接到实例时,这一切正常。

或者,有没有办法通过 ssh 进入 Windows?

【问题讨论】:

    标签: terraform winrm


    【解决方案1】:

    很遗憾,这是当前不受支持的功能。您可以跟踪功能请求的进度here

    【讨论】:

      【解决方案2】:

      您可以尝试通过利用用户数据来获取您的脚本。例如,您可以将您的 connect-slave.ps1 脚本托管在 S3 存储桶上,然后使用用户数据将您的脚本下载到正确的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-21
        • 2020-08-27
        • 1970-01-01
        • 2015-06-11
        • 2021-02-21
        • 2020-09-25
        • 2020-03-16
        • 2014-09-13
        相关资源
        最近更新 更多