Azure Developer CLI (azd
) では、サブスクリプションとリソース グループの両方の範囲でのデプロイがサポートされています。
azd
の既定では、azd up
のワークフロー中に、選択したサブスクリプション内のプロビジョニング済みリソースを含むリソース グループが作成されます。 ただし azd
では、既存のリソース グループへのデプロイも可能です。 既存のリソース グループを選択すると、azd provision
の実行に必要なアクセス許可の範囲が、サブスクリプション レベルからリソース グループ レベルに縮小されます。
この記事では、テンプレートを変更してリソース グループを範囲としたデプロイを有効にする方法について説明します。
注
現在、リソース グループを範囲とするデプロイはベータ機能です。 バージョン管理戦略の詳細をご覧ください。
テンプレートのターゲット範囲を変更する
main.bicep
テンプレートのazd
ファイルで、targetScope
を変更します。targetScope = 'resourceGroup'
scope: rg
内のすべてのモジュール参照からmain.bicep
を削除します。main.bicep
で一意のリソース トークンを作成する場合は、サブスクリプションではなくリソース グループを使用します。var resourceToken = toLower(uniqueString(resourceGroup().id, environmentName, location))
main.bicep
で、さまざまなリソースをリソース グループに整理する以下のコード セクションを削除します。// Organize resources in a resource group resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = { name: !empty(resourceGroupName) ? resourceGroupName : '${abbrs.resourcesResourceGroups}${environmentName}' location: location tags: tags }
該当する場合は、
.azdo\pipelines\azure-dev.yml
ファイルと.github\workflows\azure-dev.yml
ファイルで、Azure リソース グループ環境変数をタスクに追加します。AZURE_RESOURCE_GROUP: $(AZURE_RESOURCE_GROUP)
注
Node.js API と MongoDB on Azure テンプレートを使用した React Web アプリに適用されたこれらの変更の例については、GitHub での比較を参照してください。
デプロイ先のリソース グループを手動で設定するには、環境で AZURE_RESOURCE_GROUP
を設定します。 詳細については、こちらをご覧ください。
環境内でリソース グループが指定されていない場合は、azd
の実行時に、サブスクリプションから既存のリソース グループを選択するか、新しいリソース グループを作成するように azd provision
から求められます。