Bicep 배포를 위한 매개 변수 파일 만들기
이 문서에서는 매개 변수를 스크립트의 인라인 값으로 전달하는 대신 사용할 수 있는 매개 변수 파일을 만드는 방법을 보여 줍니다. 파일 확장명 또는 매개 변수 값이 포함된 JSON 매개 변수 파일과 함께 .bicepparam
Bicep 매개 변수 파일을 사용할 수 있습니다.
참고 항목
Bicep 매개 변수 파일은 Bicep CLI 버전 0.18.4 이상, Azure CLI 버전 2.47.0 이상 및 Azure PowerShell 버전 9.7.1 이상에서만 지원됩니다.
단일 Bicep 파일에는 여러 Bicep 매개 변수 파일이 연결되어 있을 수 있습니다. 그러나 각 Bicep 매개 변수 파일은 하나의 특정 Bicep 파일을 위한 것입니다. Bicep 매개 변수 파일 내에 문을 적용하여 using
이 관계를 설정할 수 있습니다.
Bicep 파일을 사용하여 배포할 수 있는 JSON 매개 변수 파일로 Bicep 매개 변수 파일을 컴파일할 수 있습니다. 자세한 내용은 build-params
를 참조하세요. JSON 매개 변수 파일을 Bicep 매개 변수 파일로 디컴파일할 수도 있습니다. 자세한 내용은 decompile-params
를 참조하세요.
매개 변수 파일
매개 변수 파일은 다음 형식을 사용합니다.
using '<path>/<file-name>.bicep'
param <first-parameter-name> = <first-value>
param <second-parameter-name> = <second-value>
Bicep 파일, JSON Azure Resource Manager 템플릿, Bicep 모듈 및 템플릿 사양을 사용하여 문을 적용 using
할 수 있습니다. 예시:
using './main.bicep'
...
using './azuredeploy.json'
...
using 'br/public:avm/res/storage/storage-account:0.9.0'
...
using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
...
using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
...
자세한 내용은 Using 문을 참조 하세요.
기본값으로 식을 사용할 수 있습니다. 예시:
using 'main.bicep'
param storageName = toLower('MyStorageAccount')
param intValue = 2 + 2
환경 변수를 매개 변수 값으로 참조할 수 있습니다. 예시:
using './main.bicep'
param intFromEnvironmentVariables = int(readEnvironmentVariable('intEnvVariableName'))
변수를 정의하고 사용할 수 있습니다. 파일에서 .bicepparam
변수를 사용하려면 Bicep CLI 버전 0.21.X 이상을 사용해야 합니다. 다음 예제를 참조하세요.
using './main.bicep'
var storagePrefix = 'myStorage'
param primaryStorageName = '${storagePrefix}Primary'
param secondaryStorageName = '${storagePrefix}Secondary'
using './main.bicep'
var testSettings = {
instanceSize: 'Small'
instanceCount: 1
}
var prodSettings = {
instanceSize: 'Large'
instanceCount: 4
}
param environmentSettings = {
test: testSettings
prod: prodSettings
}
참고 항목
매개 변수 파일은 매개 변수 값을 일반 텍스트로 저장합니다. 보안상의 이유로 암호와 같은 중요한 값과 함께 이 방법을 사용하지 않는 것이 좋습니다.
중요한 값을 가진 매개 변수를 전달해야 하는 경우 키 자격 증명 모음에 값을 유지해야 합니다. 매개 변수 파일에 중요한 값을 추가하는 대신 함수를 getSecret
사용하여 검색합니다. 자세한 내용은 Azure Key Vault를 사용하여 Bicep 배포 중에 비밀을 매개 변수로 전달하는 방법을 참조하세요.
매개 변수 유형 형식
다음 예제에서는 문자열, 정수, 부울, 배열 및 개체와 같은 다양한 매개 변수 형식의 형식을 보여 줍니다.
using './main.bicep'
param exampleString = 'test string'
param exampleInt = 2 + 2
param exampleBool = true
param exampleArray = [
'value 1'
'value 2'
]
param exampleObject = {
property1: 'value 1'
property2: 'value 2'
}
File name
Bicep 매개 변수 파일의 파일 확장명은 .입니다 .bicepparam
.
여러 환경에 배포하려면 둘 이상의 매개 변수 파일을 만듭니다. 여러 매개 변수 파일을 사용하는 경우 해당 파일에 따라 레이블을 지정합니다. 예를 들어 리소스를 배포하려면 개발용으로 main.dev.bicepparam 레이블을 사용하고 프로덕션에는 main.prod.bicepparam 레이블을 사용합니다.
매개 변수 값 정의
매개 변수 이름 및 값을 정의하는 방법을 결정하려면 Bicep 파일을 엽니다. Bicep 파일의 매개 변수 섹션을 확인합니다. 다음 예제에서는 Bicep 파일 main.bicep
의 매개 변수를 보여 줍니다.
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
'Premium_LRS'
])
param storageAccountType string = 'Standard_LRS'
매개 변수 파일에서 각 매개 변수의 이름을 찾습니다. 매개 변수 파일의 매개 변수 이름은 Bicep 파일의 매개 변수 이름과 일치해야 합니다.
using 'main.bicep'
param storagePrefix
param storageAccountType
using
문은 Bicep 매개 변수 파일을 Bicep 파일에 연결합니다. 자세한 내용은 Using 문을 참조 하세요.
Visual Studio Code에 키워드 param
를 입력하면 연결된 Bicep 파일에서 사용 가능한 매개 변수 및 해당 설명을 묻는 메시지가 표시됩니다.
이름 위로 마우스를 param
가져가면 매개 변수 데이터 형식 및 설명을 볼 수 있습니다.
매개 변수 파일의 매개 변수 형식은 Bicep 파일과 동일한 형식을 사용해야 하므로 매개 변수 형식을 검토합니다. 이 예제에서 두 매개 변수 형식은 모두 문자열입니다.
using 'main.bicep'
param storagePrefix = ''
param storageAccountType = ''
Bicep 파일에서 기본값을 포함하는 매개 변수를 확인합니다. 매개 변수에 기본값이 있는 경우 매개 변수 파일에 값을 제공할 수 있지만 필수는 아닙니다. 매개 변수 파일 값은 Bicep 파일의 기본값을 재정의합니다.
using 'main.bicep'
param storagePrefix = '' // This value must be provided.
param storageAccountType = '' // This value is optional. Bicep uses default value if not provided.
최대 길이와 같은 제한 사항이 있는지 확인하려면 Bicep 파일의 허용되는 값을 확인합니다. 허용되는 값은 매개 변수에 제공할 수 있는 값 범위를 지정합니다. 이 예제 storagePrefix
에서는 최대 11자를 가질 수 있으며 storageAccountType
허용되는 값을 지정해야 합니다.
using 'main.bicep'
param storagePrefix = 'storage'
param storageAccountType = 'Standard_ZRS'
매개 변수 파일 생성
Visual Studio Code 또는 Bicep CLI를 사용하여 매개 변수 파일을 만들 수 있습니다. 두 도구 모두 Bicep 파일을 사용하여 매개 변수 파일을 생성할 수 있습니다. Visual Studio Code 메서드에 대한 매개 변수 파일 생성 및 Bicep CLI 메서드에 대한 매개 변수 파일 생성을 참조하세요.
Bicep 매개 변수 파일 빌드
Bicep CLI에서 Bicep 매개 변수 파일을 JSON 매개 변수 파일로 빌드할 수 있습니다. 자세한 내용은 빌드 매개 변수 파일을 참조하세요.
매개 변수 파일을 사용하여 Bicep 파일 배포
Azure CLI
Azure CLI에서 Bicep 파일 배포를 사용하여 매개 변수 파일을 전달할 수 있습니다.
Azure CLI 버전 2.53.0 이상 및 Bicep CLI 버전 0.22.X 이상에서 Bicep 매개 변수 파일을 사용하여 Bicep 파일을 배포할 수 있습니다.
using
Bicep 매개 변수 파일 내의 문을 사용하면 스위치에 대한 Bicep 매개 변수 파일을 지정할 때 스위치를 --parameters
제공할 --template-file
필요가 없습니다.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam
동일한 배포 작업에서 인라인 매개 변수 및 위치 매개 변수 파일을 사용할 수 있습니다. 예시:
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam \
--parameters storageAccountType=Standard_LRS
자세한 내용은 Azure CLI를 사용하여 Bicep 파일 배포를 참조하세요.
Azure PowerShell
Azure PowerShell에서 매개 변수를 사용하여 로컬 매개 변수 파일을 전달합니다 TemplateParameterFile
.
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam
동일한 배포 작업에서 인라인 매개 변수 및 위치 매개 변수 파일을 사용할 수 있습니다. 예시:
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam `
-storageAccountType Standard_LRS
자세한 내용은 Azure PowerShell을 사용하여 Bicep 파일 배포를 참조하세요. 파일을 배포 .bicep
하려면 Azure PowerShell 버전 5.6.0 이상이 필요합니다.
매개 변수 우선 순위
동일한 배포 작업에서 인라인 매개 변수 및 로컬 매개 변수 파일을 사용할 수 있습니다. 예를 들어 로컬 매개 변수 파일에서 일부 값을 지정하고 배포하는 동안 인라인으로 다른 값을 추가할 수 있습니다. 로컬 매개 변수 파일 및 인라인에서 매개 변수에 대한 값을 제공하는 경우 인라인 값이 우선합니다.
외부 Bicep 매개 변수 파일은 현재 지원되지 않지만 파일에 URI를 제공하여 외부 JSON 매개 변수 파일을 사용할 수 있습니다. 외부 매개 변수 파일을 사용하는 경우 외부 파일의 모든 매개 변수 값을 제공합니다. 외부 파일을 사용하는 경우 인라인 또는 로컬 파일에서 다른 값을 전달할 수 없으며 모든 인라인 매개 변수는 무시됩니다.
매개 변수 이름 충돌
Bicep 파일에 Azure PowerShell 명령의 매개 변수 중 하나와 이름이 같은 매개 변수가 포함된 경우 Azure PowerShell은 Bicep 파일의 매개 변수에 후위가 FromTemplate
표시됩니다. 예를 들어 Bicep 파일에 이름이 지정된 ResourceGroupName
매개 변수가 cmdlet의 ResourceGroupName
매개 변수 New-AzResourceGroupDeployment
와 충돌하는 경우 값을 ResourceGroupNameFromTemplate
입력하라는 메시지가 표시됩니다. 이와 같은 혼동을 방지하려면 배포 명령에 사용되지 않은 매개 변수 이름을 사용합니다.
관련 콘텐츠
- Bicep 파일에서 매개 변수를 정의하는 방법에 대한 자세한 내용은 Bicep의 매개 변수를 참조하세요.
- 중요한 값을 받으려면 Azure Key Vault를 사용하여 배포 중에 보안 매개 변수 값 전달을 참조하세요.