디버그 로깅 활성화

배포 오류 문제를 해결하는 데는 더 많은 정보를 수집하는 것이 도움이 됩니다. Azure PowerShell을 사용하여 디버그 로깅을 사용하도록 설정합니다. 배포 요청 및 응답에 관한 데이터를 가져와서 문제의 원인을 알아볼 수 있습니다. 디버그 로깅은 ARM 템플릿(Azure Resource Manager 템플릿) 및 Bicep 파일에서 작동합니다.

디버그 정보 가져오기

New-AzResourceGroupDeployment를 사용하여 DeploymentDebugLogLevel 매개 변수를 All, ResponseContent 또는 RequestContent로 설정합니다. 디버그 로깅이 사용되는 경우 Get-AzResourceGroupDeploymentOperation 같은 명령을 통해 passwords 또는 listKeys 같은 비밀이 로그될 수 있다는 경고가 표시됩니다.

New-AzResourceGroupDeployment `
  -Name exampledeployment `
  -ResourceGroupName examplegroup `
  -TemplateFile azuredeploy.json `
  -DeploymentDebugLogLevel All

출력은 디버그 로깅을 보여 줍니다.

DeploymentDebugLogLevel : RequestContent, ResponseContent

배포 작업의 모든 속성을 보려면:

Get-AzResourceGroupDeploymentOperation `
  -DeploymentName exampledeployment `
  -ResourceGroupName examplegroup

StatusMessage 또는 StatusCode 같은 속성을 지정하여 출력을 필터링할 수 있습니다.

(Get-AzResourceGroupDeploymentOperation `
  -DeploymentName exampledeployment `
  -ResourceGroupName examplegroup).StatusMessage

중첩된 템플릿

중첩된 ARM 템플릿에 대한 디버그 정보를 로그하려면 Microsoft.Resources/deploymentsdebugSetting 요소를 사용합니다.

{
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2020-10-01",
  "name": "nestedTemplate",
  "properties": {
    "mode": "Incremental",
    "templateLink": {
      "uri": "{template-uri}",
      "contentVersion": "1.0.0.0"
    },
    "debugSetting": {
       "detailLevel": "requestContent, responseContent"
    }
  }
}

Bicep은 Microsoft.Resources/deployments 대신 모듈을 사용합니다. 모듈을 사용하면 코드를 다시 사용하여 다른 Bicep 파일에서 Bicep 파일을 배포할 수 있습니다.

다음 단계