Microsoft.Resources のリソースを新しいリージョンに移動する

既存のリソースを新しいリージョンに移動することが必要になる場合があります。 この記事では、Microsoft.Resources 名前空間内にある 2 つのリソースの種類 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. エクスポートされたテンプレート スペックを使用して、新しいテンプレート スペックを作成します。次の例では新しいリージョンとして westus が示されていますが、任意のリージョンを指定できます。

    Azure PowerShell では、次を使用します。

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

    Azure CLI では、次を使用します。

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

デプロイ スクリプトを新しいリージョンに移動する

  1. 新しいリージョンに移動するデプロイ スクリプトが含まれているリソース グループを選択します。

  2. テンプレートをエクスポートします。 エクスポートするときに、デプロイ スクリプトと他の必要なリソースを選択します。

  3. エクスポートされたテンプレートで、次のプロパティを削除します。

    • tenantId
    • principalId
    • clientId
  4. エクスポートされたテンプレートでは、デプロイ スクリプトのリージョンの値がハードコーディングされています。

    "location": "westus2",
    

    場所を設定するパラメーターを許可するように、テンプレートを変更します。 詳細については、「ARM テンプレートでリソースの場所を設定する」を参照してください

    "location": "[parameters('location')]",
    
  5. エクスポートしたテンプレートをデプロイし、デプロイ スクリプトの新しいリージョンを指定します。

次のステップ