문제 해결 템플릿 만들기
경우에 따라 템플릿 문제를 해결하는 가장 좋은 방법은 템플릿의 특정 부분을 격리하고 테스트하는 것입니다. 오류를 유발하는 리소스에 중점을 두는 문제 해결 템플릿을 만들 수 있습니다.
예를 들어 배포 템플릿이 기존 리소스를 참조할 때 오류가 발생합니다. 전체 배포 템플릿을 평가하는 대신 리소스에 대한 데이터를 반환하는 문제 해결 템플릿을 만듭니다. 출력을 통해 템플릿 함수를 바르게 사용하여, 올바른 매개 변수를 전달하고 원하는 리소스를 가져오고 있는지 확인할 수 있습니다.
문제 해결 템플릿 배포
다음 ARM 템플릿 및 Bicep 파일은 기존 스토리지 계정에서 정보를 가져옵니다. Azure PowerShell New-AzResourceGroupDeployment 또는 Azure CLI az deployment group create를 사용하여 배포를 실행합니다. 스토리지 계정의 이름 및 리소스 그룹을 지정합니다. 출력은 스토리지 계정의 속성 이름 및 값이 있는 개체입니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageName": {
"type": "string"
},
"storageResourceGroup": {
"type": "string"
}
},
"variables": {},
"resources": [],
"outputs": {
"exampleOutput": {
"value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageName')), '2022-05-01')]",
"type": "object"
}
}
}
Bicep에서 existing
키워드를 사용하여 스토리지 계정이 있는 리소스 그룹에서 배포를 실행합니다. scope
를 사용하여 다른 리소스 그룹의 리소스에 액세스합니다. 자세한 내용은 기존 리소스를 참조하세요.
param storageName string
resource stg 'Microsoft.Storage/storageAccounts@2022-05-01' existing = {
name: storageName
}
output exampleOutput object = stg.properties
대체 문제 해결 방법
배포 오류가 잘못된 종속성으로 인해 발생했다고 생각되는 경우 템플릿을 단순화된 템플릿으로 나누어 테스트를 실행할 수 있습니다. 먼저 단일 리소스(예: SQL Server)를 배포하는 템플릿을 만듭니다. 리소스 배포가 올바른지 확인되면 여기에 종속된 리소스(예: SQL Database)를 추가합니다. 이러한 두 리소스가 올바르게 정의되면 다른 종속 리소스(예: 감사 정책)를 추가합니다. 각 테스트 배포 사이에서 리소스 그룹을 삭제하여 종속성에 대해 적절하게 테스트하는지 확인합니다.