文件提供期间的连接超时到azurerm vm

问题描述 投票:0回答:2

尝试将文件配置到azure RM VM后,我收到低于超时消息。

未知错误发布http://terraform.eastus.cloudapp.azure.com:3389/wsman:read 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"

}
}
azure azure-virtual-machine terraform terraform-provider-azure
2个回答
2
投票

您可以查看此link中的官方文档(Provisioner Connections)。

仅winrm连接类型支持的其他参数:

https - 设置为true以使用HTTPS而不是HTTP进行连接。

现在,您使用的连接类型是winrm,因此您需要在VM的防火墙和Azure NSG上打开端口5986。您还需要创建自签名证书。你可以检查这个blog来做到这一点。


另一个解决方案,你可以使用Azure Custom Script来做到这一点。您可以创建一个脚本以从Azure存储帐户或github下载文件。

使用terraform执行此操作,您可以检查此answer


1
投票

我之前没有尝试过这种方法,但引起我注意的第一件事就是你使用了一种端口为3389的winrm.3389用于RDP,默认的winrm端口是5985(HTTP)和5986(HTTPS) 。

© www.soinside.com 2019 - 2024. All rights reserved.