一旦尝试将文件配置到azure RM VM,我就会收到低于超时的消息。
未知错误发布 http://terraform.eastus.cloudapp.azure.com:3389/wsman:读取tcp 192.168.0.4:59745->52.224.162.240:3389:wsarecv:远程主机强行关闭现有连接。
我正在尝试文件提供,VM已经存在,无需创建它。我只需要使用下面的配置将文本文件复制到现有的VM。
provider "azurerm"
{
}
resource "null_resource" "test"
{
provisioner "file"
{
connection
{
type = "winrm"
user = ""
password = ""
host="terraform.eastus.cloudapp.azure.com"
port="3389"
timeout = "20m"
}
source = "D:\\jaish\\output.txt"
destination = "D:\\output.txt"
}
}
答案 0 :(得分:2)
您可以查看此link中的官方文档(供应商连接)。
仅winrm连接类型支持的附加参数:
https - 设置为true以使用HTTPS而不是HTTP进行连接。
现在,您使用的连接类型为winrm
,因此您需要在VM的防火墙和Azure NSG上打开端口5986。您还需要创建自签名证书。您可以查看此blog来执行此操作。
另一种解决方案,您可以使用Azure Custom Script来执行此操作。您可以创建一个脚本以从Azure存储帐户或github下载文件。
使用terraform执行此操作,您可以查看此answer。
答案 1 :(得分:1)
之前我没有尝试过这种方法,但引起我注意的第一件事就是你使用了一种端口为3389的winrm.3389用于RDP,默认的winrm端口是5985(HTTP)和5986 (HTTPS)。