Microsoft.Resources のリソースを新しいリージョンに移動する
既存のリソースを新しいリージョンに移動することが必要になる場合があります。 この記事では、Microsoft.Resources 名前空間内にある 2 つのリソースの種類 templateSpecs と deploymentScripts を移動する方法について説明します。
テンプレート スペックを新しいリージョンに移動する
あるリージョンにあるテンプレート スペックを新しいリージョンに移動したい場合は、テンプレート スペックをエクスポートして再デプロイすることができます。
コマンドを使用して、既存のテンプレート スペックをエクスポートします。パラメーターの値として、エクスポートするテンプレート スペックと一致する値を指定します。
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
エクスポートされたテンプレート スペックを使用して、新しいテンプレート スペックを作成します。次の例では新しいリージョンとして
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"
デプロイ スクリプトを新しいリージョンに移動する
新しいリージョンに移動するデプロイ スクリプトが含まれているリソース グループを選択します。
テンプレートをエクスポートします。 エクスポートするときに、デプロイ スクリプトと他の必要なリソースを選択します。
エクスポートされたテンプレートで、次のプロパティを削除します。
- tenantId
- principalId
- clientId
エクスポートされたテンプレートでは、デプロイ スクリプトのリージョンの値がハードコーディングされています。
"location": "westus2",
場所を設定するパラメーターを許可するように、テンプレートを変更します。 詳細については、「ARM テンプレートでリソースの場所を設定する」を参照してください
"location": "[parameters('location')]",
エクスポートしたテンプレートをデプロイし、デプロイ スクリプトの新しいリージョンを指定します。
次のステップ
- 新しいリソース グループまたはサブスクリプションへのリソースの移動については、「リソースを新しいリソース グループまたはサブスクリプションに移動する」を参照してください。
- 新しいリージョンへのリソースの移動については、リージョン間でのリソースの移動に関する記事を参照してください。