Bicep을 사용하여 태그 적용
이 문서에서는 Bicep을 사용하여 배포 중에 리소스, 리소스 그룹 및 구독에 태그를 지정하는 방법을 설명합니다. 태그 권장 사항 및 제한 사항은 태그를 사용하여 Azure 리소스 및 관리 계층 구조를 구성하는 방법을 참조하세요.
참고 항목
Bicep 파일을 통해 적용하는 태그는 기존 태그를 덮어씁니다.
값 적용
다음 예제에서는 세 개의 태그를 사용하여 스토리지 계정을 배포합니다. 두 개의 태그(Dept
및 Environment
)는 리터럴 값으로 설정됩니다. 한 태그(LastDeployed
)는 기본적으로 현재 날짜로 설정되는 매개 변수로 설정됩니다.
param location string = resourceGroup().location
param utcShort string = utcNow('d')
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: {
Dept: 'Finance'
Environment: 'Production'
LastDeployed: utcShort
}
}
개체 적용
여러 태그를 저장하는 개체 매개 변수를 정의하고 해당 개체를 태그 요소에 적용할 수 있습니다. 이 접근법은 개체가 여러 속성을 가질 수 있기 때문에 이전 예제보다 더 많은 유연성을 제공합니다. 개체의 각 속성은 리소스에 대한 별도의 태그가 됩니다. 다음 예제에는 태그 요소에 적용되는 tagValues
라는 매개 변수가 있습니다.
param location string = resourceGroup().location
param tagValues object = {
Dept: 'Finance'
Environment: 'Production'
}
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: tagValues
}
JSON 문자열 적용
단일 태그에 여러 값을 저장하려면 값을 나타내는 JSON 문자열을 적용합니다. 전체 JSON 문자열은 256자를 초과할 수 없는 하나의 태그로 저장됩니다. 다음 예제에는 JSON 문자열의 여러 값을 포함하는 CostCenter
라는 단일 태그를 포함합니다.
param location string = resourceGroup().location
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: {
CostCenter: '{"Dept":"Finance","Environment":"Production"}'
}
}
리소스 그룹의 태그 적용
리소스 그룹의 태그를 리소스에 적용하려면 resourceGroup() 함수를 사용합니다. 태그 값을 가져올 때는 일부 문자가 점 표기법에서 올바르게 구문 분석되지 않으므로 tags.tag-name
구문 대신 tags[tag-name]
구문을 사용합니다.
param location string = resourceGroup().location
resource stgAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
tags: {
Dept: resourceGroup().tags['Dept']
Environment: resourceGroup().tags['Environment']
}
}
리소스 그룹 또는 구독에 태그 적용
Microsoft.Resources/tags
리소스 종류를 배포하여 리소스 그룹 또는 구독에 태그를 추가할 수 있습니다. 배포하려는 대상 리소스 그룹 또는 구독에 태그를 적용할 수 있습니다. 템플릿을 배포할 때마다 이전 태그가 바뀝니다.
param tagName string = 'TeamName'
param tagValue string = 'AppTeam1'
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: {
'${tagName}': tagValue
}
}
}
다음 Bicep은 배포된 구독에 개체의 태그를 추가합니다. 구독 배포에 대한 자세한 내용은 구독 수준에서 리소스 그룹 및 리소스 만들기를 참조하세요.
targetScope = 'subscription'
param tagObject object = {
TeamName: 'AppTeam1'
Dept: 'Finance'
Environment: 'Production'
}
resource applyTags 'Microsoft.Resources/tags@2021-04-01' = {
name: 'default'
properties: {
tags: tagObject
}
}
다음 단계
- 일부 리소스 유형은 태그를 지원하지 않습니다. 리소스 종류에 태그를 적용할 수 있는지 확인하려면 Azure 리소스에 대한 태그 지원을 참조하세요.
- 태그 지정 전략을 구현하는 방법에 관한 권장 사항은 리소스 명명 및 태그 지정 결정 가이드를 참조하세요.
- 태그 권장 사항 및 제한 사항은 태그를 사용하여 Azure 리소스 및 관리 계층 구조를 구성하는 방법을 참조하세요.