codememo

Azure ARM 템플릿 유효성 검사 오류를 해결하려면 어떻게 해야 합니까?

tipmemo 2023. 4. 28. 20:36
반응형

Azure ARM 템플릿 유효성 검사 오류를 해결하려면 어떻게 해야 합니까?

Azure ARM 템플릿 파일을 약간 변경했는데 xplat cli를 통해 배포하거나 검증하려고 하면 다음 메시지가 표시됩니다.

오류: 잘못된 TemplateDeployment: 템플릿 배포 'fakeDeploymentName'은(는) 유효성 검사 절차에 따라 유효하지 않습니다.추적 ID는 \"여기서 GUID의 일종\"입니다.자세한 내용은 내부 오류를 참조하십시오.사용에 대한 자세한 내용은 http://aka.ms/arm-deploy 을 참조하십시오.

오류: PreflightValidationCheckFailed: PreflightValidationFailed: PreflightValidation에 실패했습니다.구체적인 오류는 상세 내용을 참조하시기 바랍니다.

이 문제를 해결하고 싶지만 콘솔에 "내부 오류"가 없습니다.매번 고유한 GUID를 제공하므로 이 GUID를 사용하여 보다 유용한 메시지를 찾을 수 있습니다.어디에서 더 자세한 오류를 볼 수 있습니까?(아직 오류의 실제 원인에 대한 도움말을 찾지 않음)

zure 포털 portal.azure.com 에 로그인합니다.

활동 로그 열기

활동 목록에서 검증 작업 이름이 포함된 레코드를 찾습니다.실패했기 때문에 빨간색 느낌표가 있어야 합니다.

그 기록을 클릭하세요.그런 다음 하단의 JSON 탭을 클릭합니다.읽기를 시작하면 반환된 Json의 어딘가 깊은 곳에서 "helloworld라는 이름의 스토리지 계정이 이미 사용되었습니다."와 같은 오류를 발견할 수 있습니다.

최신 버전의 CLI를 실행하고 있는지 확인하십시오. 자세한 오류를 표시하기 위해 작업 중입니다.그래도 문제가 해결되지 않으면 https://github.com/Azure/azure-xplat-cli/issues 에 문의하십시오.

그런 다음 로그에 세부 정보가 표시되지 않으면 -vv 스위치를 사용하여 배포를 실행합니다. 자세한 디버그 출력(자세히 설명하는 동안)에 모든 오류 메시지가 표시되고 일반적으로 특정 오류를 검색할 수 있습니다.

azure group deployment create ... --debug

파워셸:

New-AzResourceGroupDeployment ... -debug

제공된 추적 ID로 다음 PowerShell Azure cmdlet을 실행합니다.

Get-AzureRMLog -CorrelationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -DetailedOutput

nftw의 답변을 기반으로...

사용한 오류 문제를 더 빠르고 쉽게 찾기grep그리고.less다음과 같은 변수를 사용합니다.

$correlationId ='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' # store your correlation ID here
Get-AzureRmLog -CorrelationId $correlationID -DetailedOutput | grep -C 10 $correlationID | less

제가 테스트한 결과 오류가 출력 상단에 가까웠습니다.사용할 수 있습니다.less오류를 더 빨리 찾기 위해 앞으로 이동 키와 검색 "오류"를 사용할 수 있습니다.

트래킹 ID는 사용자가 아닌 로그를 확인하기 위한 기술 지원을 위한 것이라고 생각합니다.당신의 정확한 질문과 관련하여, 당신은 로그 - 참조를 살펴볼 필요가 있습니다.

템플릿의 유효성을 검사하는 또 다른 좋은 방법은 리소스 탐색기를 사용하는 것입니다.

@nftw 기반 건물:

$deploymentGroupName = 'deploymentGroupName'
$correlationId = ((Get-AzureRMLog -ResourceGroup $deploymentGroupName)[0]).CorrelationId
$logentry = (Get-AzureRMLog -CorrelationId $correlationId -DetailedOutput)
#$logentry
$rawStatusMessage = $logentry.Properties
$status = $rawStatusMessage.Content.statusMessage | ConvertFrom-Json
$status.error.details
$status.error.details.details

저는 같은 문제에 관련되어 있었습니다.기본적으로 "InvalidTemplateDeployment"에 전달된 세부 정보를 얻을 수 없습니다.

Visual Studio: Azure Resource Group 프로젝트 템플릿에 ARM 템플릿을 추가하고 배포하려고 했습니다.출력 탭에서 자세한 내용을 확인했습니다.그것은 제 문제를 해결하는 데 도움이 되었습니다.

제 경우에는 클러스터의 이름으로, 작은 문자와 숫자만 사용할 수 있습니다.

az vm list [--only-show-errors]
           [--resource-group]
           [--show-details]
           [--subscription]

언급URL : https://stackoverflow.com/questions/37664294/how-can-i-troubleshoot-azure-arm-template-validation-errors

반응형