Bicep を使用して新しいリソース グループを作成できます。 この記事では、サブスクリプションまたは別のリソース グループにデプロイするときにリソース グループを作成する方法について説明します。
リソース グループの定義
Bicep を使用してリソース グループを作成するには、リソース グループの名前と場所を使用して Microsoft.Resources/resourceGroups リソースを定義します。
次の例は、空のリソース グループを作成する Bicep ファイルを示しています。 ターゲット スコープが subscription
されていることに注意してください。
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-11-01' = {
name: resourceGroupName
___location: resourceGroupLocation
}
Bicep ファイルをサブスクリプションにデプロイするには、サブスクリプション レベルのデプロイ コマンドを使用します。
Azure CLI の場合は、 az deployment sub create を使用します。
az deployment sub create \
--name demoSubDeployment \
--___location centralus \
--template-file resourceGroup.bicep \
--parameters resourceGroupName=demoResourceGroup resourceGroupLocation=centralus
PowerShell デプロイ コマンドの場合は、 New-AzDeployment またはそのエイリアス New-AzSubscriptionDeployment
を使用します。
New-AzSubscriptionDeployment `
-Name demoSubDeployment `
-Location centralus `
-TemplateFile resourceGroup.bicep `
-resourceGroupName demoResourceGroup `
-resourceGroupLocation centralus
リソース グループとリソースを作成する
リソース グループを作成してリソースをデプロイするには、リソース グループにデプロイするリソースを定義するモジュールを追加します。 モジュールのスコープを、作成するリソース グループのシンボリック名に設定します。 最大 800 のリソース グループにデプロイできます。
次の例は、リソース グループを作成し、リソース グループにストレージ アカウントをデプロイする Bicep ファイルを示しています。 モジュールの scope
プロパティが newRG
に設定されていることに注意してください。これは、作成されるリソース グループのシンボリック名です。
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
param storageName string
param storageLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-11-01' = {
name: resourceGroupName
___location: resourceGroupLocation
}
module storageAcct 'storage.bicep' = {
name: 'storageModule'
scope: newRG
params: {
storageLocation: storageLocation
storageName: storageName
}
}
このモジュールでは、 storage.bicep という名前の Bicep ファイルを次の内容で使用します。
param storageLocation string
param storageName string
resource storageAcct 'Microsoft.Storage/storageAccounts@2024-01-01' = {
name: storageName
___location: storageLocation
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
properties: {}
}
リソース グループのデプロイ中にリソース グループを作成する
また、リソース グループ レベルのデプロイ中にリソース グループを作成することもできます。 そのシナリオでは、既存のリソース グループにデプロイし、サブスクリプションのレベルに切り替えてリソース グループを作成します。 次の Bicep ファイルは、指定したサブスクリプションに新しいリソース グループを作成します。 リソース グループを作成するモジュールは、リソース グループを作成する例と同じです。
param secondResourceGroup string
param secondSubscriptionID string = ''
param secondLocation string
// module deployed at subscription level
module newRG 'resourceGroup.bicep' = {
name: 'newResourceGroup'
scope: subscription(secondSubscriptionID)
params: {
resourceGroupName: secondResourceGroup
resourceGroupLocation: secondLocation
}
}
リソース グループにデプロイするには、リソース グループのデプロイ コマンドを使用します。
Azure CLI の場合は、az deployment group create を使用します。
az deployment group create \
--name demoRGDeployment \
--resource-group ExampleGroup \
--template-file main.bicep \
--parameters secondResourceGroup=newRG secondSubscriptionID={sub-id} secondLocation=westus
PowerShell デプロイ コマンドには、New-AzResourceGroupDeployment を使用します。
New-AzResourceGroupDeployment `
-Name demoRGDeployment `
-ResourceGroupName ExampleGroup `
-TemplateFile main.bicep `
-secondResourceGroup newRG `
-secondSubscriptionID {sub-id} `
-secondLocation westus
次のステップ
他のスコープについて確認するには、以下を参照してください。