【问题标题】:ARM template to deploy traffic manager to web app with custom domain fails用于将流量管理器部署到具有自定义域的 Web 应用程序的 ARM 模板失败
【发布时间】:2018-04-06 16:43:02
【问题描述】:

我有一个 ARM 模板和参数文件 here,我正在尝试使用它来创建一个功能 Web 应用程序,其中包含流量管理器和自定义主机名。目前它只是一个网络应用程序。

但是,一旦我完成这项工作,计划是分解此模板并根据环境将其他 Web 应用程序添加到链接模板。

我在尝试部署它时遇到错误(通过 PowerShell)。

5:13:13 PM - Resource Microsoft.Web/sites/hostNameBindings 'siteapidev2-lbxvta4fkayk6-site-0/domain-dev-tm.trafficmanager.net' failed with message '{
  "Code": "Conflict",
  "Message": "Cannot modify this site because another operation is in progress. Details: Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1",
  "Target": null,
  "Details": [
    {
      "Message": "Cannot modify this site because another operation is in progress. Details: Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1"
    },
    {
      "Code": "Conflict"
    },
    {
      "ErrorEntity": {
        "ExtendedCode": "59203",
        "MessageTemplate": "Cannot modify this site because another operation is in progress. Details: {0}",
        "Parameters": [
          "Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1"
        ],
        "Code": "Conflict",
        "Message": "Cannot modify this site because another operation is in progress. Details: Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1"
      }
    }
  ],
  "Innererror": null
}'
At D:\path\deploy.ps1:110 char:5
+     New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGr ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-AzureRmResourceGroupDeployment], Exception
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDeploymentCmdlet

我认为此错误是由于流量管理器无法完成造成的,因为它所依赖的网站也尚未完成。

我之前遇到了另一个错误,看起来很像这样: awverify error

在我看来,这似乎是因为 Web 应用程序创建过程试图添加一个未绑定的自定义域名。发生这种情况是因为在 Web 应用程序创建时,流量管理器进程尚未将其 DNS 主机名作为 CNAME 插入到 Web 应用程序中。

这导致我在 hostNameBinding 和流量管理器配置文件本身之间创建了依赖关系(参见模板的第 349 行)。

因此似乎存在某种依赖循环。完成此任务的最佳方法是什么:

  1. 创建网络应用程序
  2. 创建流量管理器配置文件并将 CNAME 添加到 Web 应用程序
  3. 将 Web 应用绑定添加到自定义域名。我已经在我的自定义域中添加了一条指向流量管理器配置文件的 CNAME 记录。

如果我手动创建 web 应用程序和流量管理器,我可以执行这些步骤。但是,当我从门户下载模板时,它不起作用。

我还发现,如果我从模板中删除第 349 行并运行模板两次,第一次产生错误,第二次成功。

【问题讨论】:

  • 我可以向任何看到此问题的人建议尝试使用模板中的 dependsOn 属性。我设法让事情间歇性地工作(即重试相同的模板 5 次,最后一次因为某种原因成功了!)。我提出了有关此问题的 Microsoft 支持事件。希望尽快得到答复。

标签: azure-web-app-service arm-template azure-traffic-manager


【解决方案1】:

有点晚了,但供以后参考。

我看到在为单个应用服务使用多个 hostnameBindings 时会发生此错误。据我所知,您正在将 3 个不同的 hostnameBinding 资源部署到应用服务(第 320 到 367 行)。

为了解决这个问题,您应该使用copy 函数,如SO answer 中所述。

当然,模板中也可能有其他问题,但这对我来说是最明显的,肯定会有所作为!

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 2020-08-23
    相关资源
    最近更新 更多