【问题标题】:Errors when Deploying ARM Template部署 ARM 模板时的错误
【发布时间】:2019-06-04 20:08:38
【问题描述】:

我正在尝试使用几个月前部署的原始 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 之前存在问题。

这可能是什么问题,我可以做些什么来解决这个问题?

【问题讨论】:

  • 您是否尝试过使用-Verbose-DeploymentDebugLogLevel 'All' 从PowerShell 命令行部署ARM 模板? docs.microsoft.com/en-us/azure/azure-resource-manager/…
  • 我得到完全相同的错误输出。 :(
  • 这些命令参数是否提供了有关错误的更多详细信息?我预计调试参数将提供有关 PUT/POST 请求和响应的信息。 azure.microsoft.com/nl-nl/blog/…
  • 我没有得到请求和响应的输出。错误是一样的,输出略有不同,但错误输出没有什么不同。
  • 尝试使用这些参数:-Verbose -Debug。他们还将为DEBUG: ============================ HTTP REQUEST ============================ ...和DEBUG: ============================ HTTP RESPONSE ============================ ...提供输出。

标签: azure-resource-manager arm-template


【解决方案1】:

我在使用 Key Vault 存储用户名和密码机密但忘记在 Key Vault 资源上“启用模板部署”时看到相同的错误消息,然后在 SQL Server 部署中引用这些机密以传递凭据.您是否确保 ARM 模板中的 Key Vault 部分启用了"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
      }
    },

启用后,它在门户中将如下所示:

只是为了检查,我故意删除(禁用)该设置,结果看起来与您的错误相似。使用参数-Verbose -Debug 帮助我看到了细节。

【讨论】:

  • 这不是问题。我已经验证了这一点,因为我在帖子中概述了我的缓解措施。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-14
    • 2020-12-05
    • 2022-08-20
    • 1970-01-01
    • 2019-02-11
    • 2021-04-10
    • 2019-11-06
    • 2017-11-29
    相关资源
    最近更新 更多