Bicep を使ってリソース グループを作成する
Bicep を使って新しいリソース グループを作成できます。 この記事では、サブスクリプションまたは別のリソース グループにデプロイするときにリソース グループを作成する方法について説明します。
リソース グループを定義する
Bicep を使ってリソース グループを作成するには、リソース グループの名前と場所を指定して Microsoft.Resources/resourceGroups リソースを定義します。
次の例は、空のリソース グループを作成する Bicep ファイルを示しています。 ターゲット スコープが subscription
であることに注目してください。
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-03-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-03-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@2023-04-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
次のステップ
他のスコープについて確認するには、以下を参照してください。