部署ARM模板时发生错误

时间:2019-06-04 20:08:38

标签: azure-resource-manager arm-template

我正在尝试使用几个月前部署的原始ARM模板来部署新资源并将其更新为现有资源。不幸的是,该部署无法到达Azure,因为我在资源组中看不到部署条目。在事情开始调用Azure之前,出现的错误是本地的。

  

我正在使用Visual Studio 2017 Arm模板部署上下文菜单进行部署。

这是输出的错误。运行验证命令时,我也得到了这个和几乎相同的信息。

08:58:22 - VERBOSE: Performing the operation "Creating Deployment" on target "MigrationPlaybook_Prod".
08:58:23 - New-AzureRmResourceGroupDeployment : Multiple error occurred: Forbidden,Forbidden. Please see details.
08:58:23 - At C:\workspaces\Migration Playbook\MigrationPlaybookRegion\ProductionResourceGroup\bin\Debug\staging\ProductionResourc
08:58:23 - eGroup\Deploy-AzureResourceGroup.ps1:108 char:5
08:58:23 - +     New-AzureRmResourceGroupDeployment -Name ((Get-ChildItem $Templat ...
08:58:23 - +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
08:58:23 -     + CategoryInfo          : CloseError: (:) [New-AzureRmResourceGroupDeployment], CloudException
08:58:23 -     + FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDep 
08:58:23 -    loymentCmdlet
08:58:23 -  
08:58:24 - 
08:58:24 - Template deployment returned the following errors:
08:58:24 - Multiple error occurred: Forbidden,Forbidden. Please see details.

缓解措施:

  • 模板涉及KeyVault-我确保ARM Template permission was Enabled
  • 该项目已有几个月的时间-我生成了一个新项目,以确保在创建时在项目中生成的PowerShell脚本没有任何重大变化
  • 帐户权限-我已验证我对订阅的帐户权限没有更改,以防止我添加/修改资源

虽然缓解措施解决了在部署ARM模板时出现的问题及其错误记录,但表明在将问题转移到Azure之前就存在问题。

  

这里可能是什么问题,我该怎么解决?

2 个答案:

答案 0 :(得分:0)

使用Key Vault存储用户名和密码机密时,我看到了相同的错误消息,但是忘记了在Key Vault资源上“启用模板部署”,然后引用这些机密在SQL Server部署中传递凭据。您是否已确保ARM模板中的“密钥保管库”部分在"enabledForTemplateDeployment": true处启用了选项?

矿山看起来像:

    {
      "type": "Microsoft.KeyVault/vaults",
      "apiVersion": "2016-10-01",
      "name": "[variables('keyVaultName')]",
      "location": "[resourceGroup().location]",
      "tags": "[parameters('baseParameters').tagValues]",
      "scale": null,
      "dependsOn": [],
      "properties": {
        "sku": {
          "family": "A",
          "name": "standard"
        },
        "tenantId": "[subscription().tenantId]",
        "accessPolicies": [],
        "enabledForDeployment": true,
        "enabledForDiskEncryption": false,
        "enabledForTemplateDeployment": true
      }
    },

启用后,其在门户中的外观如下: enter image description here

只是检查一下,我特意删除了(禁用)该设置,结果看起来与您的错误类似。使用参数-Verbose -Debug帮助我查看详细信息。 enter image description here

答案 1 :(得分:0)

我知道这不是一个真正的答案,但是我没有足够的声誉来发表评论。当我尝试部署更多的VM时,在内核数量有限的订阅中,我看到了类似的错误消息。但是我也不相信这是您的问题...

我想问的是,当您尝试使用“部署自定义模板”从Azure门户部署ARM模板时会发生什么?这可能会给您一些更好的提示,说明到底出了什么问题。