자습서: Resource Manager 템플릿 배포 문제 해결Tutorial: Troubleshoot Resource Manager template deployments

Resource Manager 템플릿 배포 오류 문제를 해결하는 방법에 대해 알아봅니다.Learn how to troubleshoot Resource Manager template deployment errors. 이 자습서에서는 템플릿에서 두 가지 오류를 설정하고 활동 로그 및 배포 기록을 사용하여 문제를 해결하는 방법을 알아봅니다.In this tutorial, you set up two errors in a template, and learn how to use the activity logs and deployment history to resolve the issues.

템플릿 배포와 관련된 오류는 다음과 같은 두 가지 유형이 있습니다.There are two types of errors that are related to template deployment:

  • 유효성 검사 오류는 배포 전에 확인할 수 있는 시나리오에서 발생합니다.Validation errors arise from scenarios that can be determined before deployment. 유효성 검사 오류에는 템플릿의 구문 오류나 구독 할당량을 초과하는 리소스를 배포하려는 구문 오류가 포함됩니다.They include syntax errors in your template, or trying to deploy resources that would exceed your subscription quotas.
  • 배포 오류는 배포 프로세스 중 발생하는 조건에서 발생합니다.Deployment errors arise from conditions that occur during the deployment process. 배포 오류에는 병렬로 배포 중인 리소스에 액세스하려는 시도가 포함됩니다.They include trying to access a resource that is being deployed in parallel.

두 가지 오류 유형에서 배포 문제를 해결하는 데 사용하는 오류 코드를 반환합니다.Both types of errors return an error code that you use to troubleshoot the deployment. 두 가지 오류 유형 모두 활동 로그에 나타납니다.Both types of errors appear in the activity log. 하지만 배포가 시작된 것은 아니므로 유효성 검사 오류는 배포 기록에 나타나지 않습니다.However, validation errors don't appear in your deployment history because the deployment never started.

이 자습서에서 다루는 작업은 다음과 같습니다.This tutorial covers the following tasks:

  • 문제가 있는 템플릿 만들기Create a problematic template
  • 유효성 검사 오류 문제 해결Troubleshoot validation errors
  • 배포 오류 문제 해결Troubleshoot deployment errors
  • 리소스 정리Clean up resources

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.

참고

이 문서는 새 Azure PowerShell Az 모듈을 사용하도록 업데이트되었습니다.This article has been updated to use the new Azure PowerShell Az module. AzureRM 모듈은 적어도 2020년 12월까지 버그 수정을 수신할 예정이므로 계속 사용하셔도 됩니다.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. 새 Az 모듈 및 AzureRM 호환성에 대한 자세한 내용은 새 Azure PowerShell Az 모듈 소개를 참조하세요.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az 모듈 설치 지침은 Azure PowerShell 설치를 참조하세요.For Az module installation instructions, see Install Azure PowerShell.

필수 조건Prerequisites

이 문서를 완료하려면 다음이 필요합니다.To complete this article, you need:

문제가 있는 템플릿 만들기Create a problematic template

Azure 빠른 시작 템플릿에서 표준 스토리지 계정 만들기라는 템플릿을 열고 두 가지 템플릿 문제를 설정합니다.Open a template called Create a standard storage account from Azure QuickStart Templates, and setup two template issues.

  1. Visual Studio Code에서 파일>파일 열기를 차례로 선택합니다.From Visual Studio Code, select File>Open File.

  2. 파일 이름에서 다음 URL을 붙여넣습니다.In File name, paste the following URL:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-storage-account-create/azuredeploy.json
    
  3. 열기를 선택하여 파일을 엽니다.Select Open to open the file.

  4. apiVersion 줄을 다음 줄로 변경합니다.Change the apiVersion line to the following line:

    "apiVersion1": "2018-07-02",
    
    • apiVersion1은 잘못된 요소 이름입니다.apiVersion1 is invalid element name. 유효성 검사 오류입니다.It is a validation error.
    • API 버전은 "2018-07-01"이어야 합니다.The API version shall be "2018-07-01". 배포 오류입니다.It is a deployment error.
  5. 파일>이름으로 저장을 차례로 선택하여 파일을 azuredeploy.json으로 저장합니다.Select File>Save As to save the file as azuredeploy.json to your local computer.

유효성 검사 오류 문제 해결Troubleshoot the validation error

템플릿을 배포하려면 템플릿 배포 섹션을 참조하세요.Refer to the Deploy the template section to deploy the template.

셸에서 다음과 유사한 오류가 발생합니다.You shall get an error from the shell similar to:

New-AzResourceGroupDeployment : 4:29:24 PM - Error: Code=InvalidRequestContent; Message=The request content was invalid and could not be deserialized: 'Could not find member 'apiVersion1' on object of type 'TemplateResource'. Path 'properties.template.resources[0].apiVersion1', line 36, position 24.'.

오류 메시지는 apiVersion1에 문제가 있음을 나타냅니다.The error message indicates the problem is with apiVersion1.

Visual Studio Code를 사용하여 apiVersion1apiVersion으로 변경한 다음, 템플릿을 저장하여 문제를 해결합니다.Use Visual Studio Code to correct the problem by changing apiVersion1 to apiVersion, and then save the template.

배포 오류 문제 해결Troubleshoot the deployment error

템플릿을 배포하려면 템플릿 배포 섹션을 참조하세요.Refer to the Deploy the template section to deploy the template.

셸에서 다음과 유사한 오류가 발생합니다.You shall get an error from the shell similar to:

New-AzResourceGroupDeployment : 4:48:50 PM - Resource Microsoft.Storage/storageAccounts 'storeqii7x2rce77dc' failed with message '{
  "error": {
    "code": "NoRegisteredProviderFound",
    "message": "No registered resource provider found for location 'centralus' and API version '2018-07-02' for type 'storageAccounts'. The supported api-versions are '2018-07-01, 2018-03-01-preview, 2018-02-01, 2017-10-01, 2017-06-01, 2016-12-01, 2016-05-01, 2016-01-01, 2015-06-15, 2015-05-01-preview'. The supported locations are 'eastus, eastus2, westus, westeurope, eastasia, southeastasia, japaneast, japanwest, northcentralus, southcentralus, centralus, northeurope, brazilsouth, australiaeast, australiasoutheast, southindia, centralindia, westindia, canadaeast, canadacentral, westus2, westcentralus, uksouth, ukwest, koreacentral, koreasouth, francecentral'."
  }
}'

배포 오류는 다음 절차를 수행하여 Azure Portal에서 찾을 수 있습니다.The deployment error can be found from the Azure portal using the following procedure:

  1. Azure Portal에 로그인합니다.Sign in to the Azure portal.

  2. 리소스 그룹을 선택한 다음, 리소스 그룹 이름을 선택하여 리소스 그룹을 엽니다.Open the resource group by selecting Resource groups and then the resource group name. 배포 아래에서 1 실패가 표시됩니다.You shall see 1 Failed under Deployment.

    Resource Manager 자습서 문제 해결

  3. 오류 세부 정보를 선택합니다.Select Error details.

    Resource Manager 자습서 문제 해결

    오류 메시지는 앞에서 설명한 것과 같습니다.The error message is the same as the one shown earlier:

    Resource Manager 자습서 문제 해결

또한 활동 로그에서 오류를 찾을 수 있습니다.You can also find the error from the activity logs:

  1. Azure Portal에 로그인합니다.Sign in to the Azure portal.

  2. 모니터 > 활동 로그를 선택합니다.Select Monitor > Activity log.

  3. 필터를 사용하여 로그를 찾습니다.Use the filters to find the log.

    Resource Manager 자습서 문제 해결

Visual Studio Code를 사용하여 문제를 해결한 다음, 템플릿을 다시 배포합니다.Use Visual Studio Code to correct the problem, and then redeploy the template.

일반적인 오류 목록은 Azure Resource Manager를 사용한 일반적인 Azure 배포 오류 해결을 참조하세요.For a list of common errors, see Troubleshoot common Azure deployment errors with Azure Resource Manager.

리소스 정리Clean up resources

Azure 리소스가 더 이상 필요하지 않은 경우 리소스 그룹을 삭제하여 배포한 리소스를 정리합니다.When the Azure resources are no longer needed, clean up the resources you deployed by deleting the resource group.

  1. Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택합니다.From the Azure portal, select Resource group from the left menu.
  2. 이름으로 필터링 필드에서 리소스 그룹 이름을 입력합니다.Enter the resource group name in the Filter by name field.
  3. 해당 리소스 그룹 이름을 선택합니다.Select the resource group name. 리소스 그룹에 총 6개의 리소스가 표시됩니다.You shall see a total of six resources in the resource group.
  4. 위쪽 메뉴에서 리소스 그룹 삭제를 선택합니다.Select Delete resource group from the top menu.

다음 단계Next steps

이 자습서에서는 Resource Manager 템플릿 배포 오류 문제를 해결하는 방법에 대해 알아봅니다.In this tutorial, you learned how to troubleshoot Resource Manager template deployment errors. 자세한 내용은 Azure Resource Manager를 사용한 일반적인 Azure 배포 오류 해결을 참조하세요.For more information, see Troubleshoot common Azure deployment errors with Azure Resource Manager.