使用virtualNetworkConnections部署Azure资源组模板时出现连接错误

时间:2018-11-20 09:03:52

标签: azure azure-resource-manager azure-pipelines-release-pipeline azure-virtual-network

我有一个Web API发布管道,该管道正在部署资源(使用Azure资源组部署任务)并部署我们的API。

我们的意图是进行零停机时间部署,因此我们正在发布过程中运行的jmeter对其进行测试。我们发现,在资源部署过程中,我们会在几秒钟内收到异常。检查“应用程序见解”异常详细信息后,我们发现根本原因是连接到本地资源的连接丢失。异常详细信息如下:

“无法连接到远程服务器所请求的地址在其上下文[theIp]:80中无效”

要连接到本地服务器,我们使用virtualNetworkConnections,如下所示:

        {
          "type": "Microsoft.Web/sites/slots/virtualNetworkConnections",
          "name": "[concat(variables('StagingSlotName'), '/', parameters('VNetName'))]",
          "apiVersion": "2016-08-01",
          "location": "[resourceGroup().location]",
          "properties": {
            "vnetResourceId": "[resourceId(parameters('VNetResourceGroup'), 'Microsoft.Network/virtualNetworks/',  parameters('VNetName'))]"
          },
          "dependsOn": [
            "[resourceId('Microsoft.Web/sites', variables('WebAppName'))]",
            "[resourceId('Microsoft.Web/sites/slots', variables('WebAppName'), parameters('StagingSlotName'))]"
          ]
        }

我们现在可以考虑的唯一选择是,此定义导致VPN在部署期间以某种方式重新启动。

因此,问题是:这是MS将要解决的已知错误吗?这是设计功能吗?我们有做错什么事了吗,有办法避免这种情况?

如果我们不能按原样工作,则需要创建两个发布管道,一个部署管道,仅在需要时执行,而另一个发布管道部署代码。但是我真的认为,将两者都部署在一起是正确的方法...

谢谢您的帮助!

0 个答案:

没有答案