向 azurerm vm 提供文件期间连接超时
Connection timeout during file provision to azurerm vm
我在尝试将文件提供给 azure RM VM 时收到超时消息。
unknown error Post
http://terraform.eastus.cloudapp.azure.com:3389/wsman: read tcp
192.168.0.4:59745->52.224.162.240:3389: wsarecv: An existing connection was forcibly closed by the remote host.
我正在尝试提供文件,而 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"
}
}
我以前没有尝试过这种方法,但引起我注意的第一件事是您使用的是一种端口为 3389 的 winrm。3389 用于 RDP,默认 winrm 端口为 5985 (HTTP)和 5986 (HTTPS)。
你可以在这个link.
中查看官方文档(Provisioner Connections)
Additional arguments only supported by the winrm connection type:
https - Set to true to connect using HTTPS instead of HTTP.
现在,您使用的连接类型是winrm
,因此您需要在VM 的防火墙和Azure NSG 上打开端口5986。您还需要创建一个 self-signed 证书。您可以检查此 blog 来执行此操作。
另一个解决方案,您可以使用 Azure Custom Script 来执行此操作。您可以创建脚本以从 Azure 存储帐户或 github.
下载文件
使用 terraform 执行此操作,您可以查看此 。
我在尝试将文件提供给 azure RM VM 时收到超时消息。
unknown error Post http://terraform.eastus.cloudapp.azure.com:3389/wsman: read tcp 192.168.0.4:59745->52.224.162.240:3389: wsarecv: An existing connection was forcibly closed by the remote host.
我正在尝试提供文件,而 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"
}
}
我以前没有尝试过这种方法,但引起我注意的第一件事是您使用的是一种端口为 3389 的 winrm。3389 用于 RDP,默认 winrm 端口为 5985 (HTTP)和 5986 (HTTPS)。
你可以在这个link.
中查看官方文档(Provisioner Connections)Additional arguments only supported by the winrm connection type:
https - Set to true to connect using HTTPS instead of HTTP.
现在,您使用的连接类型是winrm
,因此您需要在VM 的防火墙和Azure NSG 上打开端口5986。您还需要创建一个 self-signed 证书。您可以检查此 blog 来执行此操作。
另一个解决方案,您可以使用 Azure Custom Script 来执行此操作。您可以创建脚本以从 Azure 存储帐户或 github.
下载文件使用 terraform 执行此操作,您可以查看此