为什么Azure应用程序服务环境在运行相同的ARM模板时再次进行长时间部署?

为什么Azure应用程序服务环境在运行相同的ARM模板时再次进行长时间部署?,azure,azure-resource-manager,azure-app-service-envrmnt,Azure,Azure Resource Manager,Azure App Service Envrmnt,我使用开始创建我的ASE(在西欧)。我让它通宵运行。在某个时间点,它超时了。第二天早上,看着门户,部署似乎成功了。在继续为ILB添加证书之前,请重新运行第一个模板(只是为了确保)。虽然第一个模板没有引起对配置的明显更改,但长时间的部署又开始了—可能还要几个小时。每次使用ARM模板部署ASE时,我都会看到这种行为。即使前端和工作人员池、应用程序服务计划和应用程序服务没有改变,它们仍然需要几个小时。我们通常使用增量部署,并将ASE放在不同的模板中。这并不理想,但我们还没有找到任何其他方法来避免长时间

我使用开始创建我的ASE(在西欧)。我让它通宵运行。在某个时间点,它超时了。第二天早上,看着门户,部署似乎成功了。在继续为ILB添加证书之前,请重新运行第一个模板(只是为了确保)。虽然第一个模板没有引起对配置的明显更改,但长时间的部署又开始了—可能还要几个小时。

每次使用ARM模板部署ASE时,我都会看到这种行为。即使前端和工作人员池、应用程序服务计划和应用程序服务没有改变,它们仍然需要几个小时。我们通常使用增量部署,并将ASE放在不同的模板中。这并不理想,但我们还没有找到任何其他方法来避免长时间运行的部署


HTHs

我还看到了一些运行时间很长的ASE部署。通常在结束时失败。我发现在这些长时间部署中有两个常见问题

  • 最常见的情况是,我忘记了让端口454和455从所有人到所有人都向ASE子网开放的先决条件。这就是azure发挥其魔力并使用证书进行安全保护的原因。如果部署时间超过2小时,请确保NSG中有此规则

  • 我把dependson街区放错地方了,这导致了长时间的等待


  • 关于从VisualStudio部署时的“访问令牌到期”,即使VisualStudio告诉您部署已超时,部署仍可以在Azure中完成。基本上,您已经将ARM模板发送到Azure,因此超时只意味着VS中部署的轮询信息停止工作

    如何使用ARM模板进行ASE部署?如果部署(例如来自Visual Studio的部署)出现超时:[错误]新建AzureRmResourceGroupDeployment:access token过期UTC时间在单独的模板中增量运行,而不是在“大”模板中与其他资源一起运行,这无疑会有所帮助。我在模板中遇到的另一个问题是,通过从另一个位置复制子网声明,我将ASE放在只有“rdp规则”的NSG子网中(如vm)。据微软称,ASE ARM部署尚未优化,因此,任何ARM模板部署都将花费数小时,即使不做任何更改。因此,针对这个特定问题的唯一解决方法是使用多个具有增量部署的模板。这是一个已知的问题,希望他们能很快解决。使用自动部署工具的一个很好的理由,我认为VSTS发布管理或八达通部署在我的脑海中。