将 Microsoft.Resources 资源移动到新区域

可能需要将现有资源移动到新区域。 本文介绍了如何移动位于 Microsoft.Resources 命名空间中的 templateSpecs 和 deploymentScripts 这两个资源类型。

将模板规格移动到新区域

如果一个区域中有一个模板规格,而你想要将其移动到新区域,则可以导出该模规格范并重新部署。

  1. 使用命令导出现有的模板规格。对于参数值,请提供与要导出的模板规格匹配的值。

    对于 Azure PowerShell,请使用:

    Export-AzTemplateSpec `
      -ResourceGroupName demoRG `
      -Name demoTemplateSpec `
      -Version 1.0 `
      -OutputFolder c:\export
    

    对于 Azure CLI,请使用:

    az template-specs export \
      --resource-group demoRG \
      --name demoTemplateSpec \
      --version 1.0 \
      --output-folder c:\export
    
  2. 使用导出的模板规格创建新的模板规格。下面的示例显示了新区域的 chinanorth,但你可以提供所需的区域。

    对于 Azure PowerShell,请使用:

    New-AzTemplateSpec `
      -Name movedTemplateSpec `
      -Version 1.0 `
      -ResourceGroupName newRG `
      -Location chinanorth `
      -TemplateJsonFile c:\export\1.0.json
    

    对于 Azure CLI,请使用:

    az template-specs create \
      --name movedTemplateSpec \
      --version "1.0" \
      --resource-group newRG \
      --location "chinanorth" \
      --template-file "c:\export\demoTemplateSpec.json"
    

将部署脚本移动到新区域

  1. 选择包含要移动到新区域的部署脚本的资源组。

  2. 导出模板。 导出时,选择部署脚本和任何其他必需的资源。

  3. 在导出的模板中,删除以下属性:

    • tenantId
    • principalId
    • clientId
  4. 导出的模板中包含部署脚本区域的硬编码值。

    "location": "chinanorth2",
    

    更改模板以允许参数设置位置。 有关详细信息,请参阅在 ARM 模板中设置资源位置

    "location": "[parameters('location')]",
    
  5. 部署导出的模板并为部署脚本指定新区域。

后续步骤