다음을 통해 공유


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

다음 단계

다른 범위에 대한 자세한 내용은 다음을 참조하세요.