Azure Resource Manager를 사용한 일반적인 Azure 배포 오류 해결Troubleshoot common Azure deployment errors with Azure Resource Manager

이 문서에서는 일반적인 Azure 배포 오류 중 일부에 대해 설명하고 오류를 해결하기 위한 정보를 제공합니다.This article describes some common Azure deployment errors, and provides information to resolve the errors. 배포 오류에 대한 오류 코드를 찾을 수 없는 경우 오류 코드 찾기를 참조하세요.If you can't find the error code for your deployment error, see Find error code.

이 문서에서 오류 코드에 대 한 정보를 찾고 해당 정보를 제공 하지 않는 경우 알려주세요.If you are looking for information about an error code and that information is not provided in this article, let us know. 이 페이지의 맨 아래에서 피드백을 남길 수 있습니다.At the bottom of this page, you can leave feedback. 사용자 의견은 GitHub 문제를 통해 추적 됩니다.The feedback is tracked with GitHub Issues.

참고

이 문서는 새 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.

오류 코드Error codes

오류 코드Error code 완화Mitigation 자세한 정보More information
AccountNameInvalidAccountNameInvalid 스토리지 계정에 대한 명명 제한 사항을 따릅니다.Follow naming restrictions for storage accounts. 스토리지 계정 이름 오류 해결Resolve storage account name
AccountPropertyCannotBeSetAccountPropertyCannotBeSet 사용 가능한 스토리지 계정 속성을 확인합니다.Check available storage account properties. storageAccountsstorageAccounts
AllocationFailedAllocationFailed 클러스터나 지역에 사용할 수 있는 리소스가 없거나 요청한 VM 크기를 지원할 수 없습니다.The cluster or region doesn't have resources available or can't support the requested VM size. 나중에 요청을 다시 시도하거나 다른 VM 크기를 요청합니다.Retry the request at a later time, or request a different VM size. Linux의 프로비전 및 할당 문제, Windows의 프로비전 및 할당 문제할당 문제 해결Provisioning and allocation issues for Linux, Provisioning and allocation issues for Windows and Troubleshoot allocation failures
AnotherOperationInProgressAnotherOperationInProgress  동시 작업이 완료될 때까지 기다립니다.Wait for concurrent operation to complete.
AuthorizationFailedAuthorizationFailed  계정 또는 서비스 주체가 배포를 완료하는 데 충분한 권한이 없습니다.Your account or service principal doesn't have sufficient access to complete the deployment. 계정이 속한 역할 및 배포 범위에 대한 액세스 권한을 확인합니다.Check the role your account belongs to, and its access for the deployment scope.

필요한 리소스 공급자가 등록 되지 않은 경우이 오류가 나타날 수 있습니다.You might receive this error when a required resource provider isn't registered.
Azure 역할 기반 Access ControlAzure Role-Based Access Control

등록 오류 해결Resolve registration
BadRequestBadRequest  Resource Manager에서 예상한 것과 일치하지 않는 배포 값을 보냈습니다.You sent deployment values that don't match what is expected by Resource Manager. 문제 해결에 도움이 되는 내부 상태 메시지를 확인합니다.Check the inner status message for help with troubleshooting. 템플릿 참조지원되는 위치Template reference and Supported locations
충돌Conflict  리소스의 현재 상태에서 허용되지 않는 작업을 요청하고 있습니다.You're requesting an operation that isn't allowed in the resource's current state. 예를 들어 디스크 크기 조정은 VM을 만들거나 VM의 할당을 취소할 때만 허용됩니다.For example, disk resizing is allowed only when creating a VM or when the VM is deallocated.
DeploymentActiveDeploymentActive  이 리소스 그룹에 대한 동시 배포가 완료될 때까지 기다립니다.Wait for concurrent deployment to this resource group to complete.
DeploymentFailedDeploymentFailed DeploymentFailed 오류는 해결하는 데 필요한 세부 정보를 제공하지 않는 일반 오류입니다.The DeploymentFailed error is a general error that doesn't provide the details you need to solve the error. 자세한 정보를 제공하는 오류 코드에 대해서는 오류 세부 정보를 살펴봅니다.Look in the error details for an error code that provides more information. 오류 코드 찾기Find error code
DeploymentQuotaExceededDeploymentQuotaExceeded 리소스 그룹당 800개 배포 제한에 도달하면 기록에서 더 이상 필요하지 않은 배포를 삭제합니다.If you reach the limit of 800 deployments per resource group, delete deployments from the history that are no longer needed. Azure CLI에서 az group deployment delete를 사용하거나 PowerShell에서 Remove-AzResourceGroupDeployment를 사용하여 기록에서 항목을 삭제할 수 있습니다.You can delete entries from the history with az group deployment delete for Azure CLI, or Remove-AzResourceGroupDeployment in PowerShell. 배포 기록에서 항목을 삭제해도 배포 리소스에는 영향을 주지 않습니다.Deleting an entry from the deployment history doesn't affect the deploy resources.
DnsRecordInUseDnsRecordInUse  DNS 레코드 이름은 고유해야 합니다.The DNS record name must be unique. 다른 이름을 입력 하십시오.Enter a different name.
ImageNotFoundImageNotFound  VM 이미지 설정을 확인합니다.Check VM image settings.
InUseSubnetCannotBeDeletedInUseSubnetCannotBeDeleted  리소스를 업데이트 하려고 할 때이 오류가 발생할 수 있으며, 리소스를 삭제 하 고 만들어 요청을 처리 합니다.You might get this error when trying to update a resource, and the request is processed by deleting and creating the resource. 변경되지 않은 모든 값을 지정해야 합니다.Make sure to specify all unchanged values. 리소스 업데이트Update resource
InvalidAuthenticationTokenTenantInvalidAuthenticationTokenTenant  해당 테넌트에 대한 액세스 토큰을 가져옵니다.Get access token for the appropriate tenant. 계정이 속한 테넌트의 토큰만 가져올 수 있습니다.You can only get the token from the tenant that your account belongs to.
InvalidContentLinkInvalidContentLink  아마 사용할 수 없는 중첩된 템플릿에 연결하려고 했을 것입니다.You have most likely attempted to link to a nested template that isn't available. 중첩된 템플릿에 제공된 URI를 다시 한 번 확인합니다.Double check the URI you provided for the nested template. 스토리지 계정에 해당 템플릿이 있는 경우 액세스 가능한 URI인지 확인합니다.If the template exists in a storage account, make sure the URI is accessible. SAS 토큰을 전달 해야 할 수도 있습니다.You might need to pass a SAS token. 연결된 템플릿Linked templates
InvalidParameterInvalidParameter  리소스에 대해 제공한 값 중 하나가 예상 값과 일치하지 않습니다.One of the values you provided for a resource doesn't match the expected value. 이 오류는 다양한 조건으로 인해 발생할 수 있습니다.This error can result from many different conditions. 예를 들어 암호가 완전하지 않거나 Blob 이름이 올바르지 않을 수 있습니다.For example, a password may be insufficient, or a blob name may be incorrect. 오류 메시지에는 수정 해야 하는 값이 표시 됩니다.The error message should indicate which value needs to be corrected.
InvalidRequestContentInvalidRequestContent  배포 값에 인식할 수 없는 값이 포함 되어 있거나 필수 값이 누락 되었습니다.The deployment values either include values that aren't recognized, or required values are missing. 리소스 종류에 대한 값을 확인합니다.Confirm the values for your resource type. 템플릿 참조Template reference
InvalidRequestFormatInvalidRequestFormat  배포를 실행할 때 디버그 로깅을 사용 하도록 설정 하 고 요청 내용을 확인 합니다.Enable debug logging when running the deployment, and verify the contents of the request. 디버그 로깅Debug logging
InvalidResourceNamespaceInvalidResourceNamespace  type 속성에 지정한 리소스 네임스페이스를 확인합니다.Check the resource namespace you specified in the type property. 템플릿 참조Template reference
InvalidResourceReferenceInvalidResourceReference  리소스가 아직 없거나 잘못 참조되었습니다.The resource either doesn't yet exist or is incorrectly referenced. 종속성을 추가해야 하는지 확인합니다.Check whether you need to add a dependency. reference 함수를 사용할 때 시나리오에 필요한 매개 변수가 포함되었는지 확인합니다.Verify that your use of the reference function includes the required parameters for your scenario. 종속성 오류 해결Resolve dependencies
InvalidResourceTypeInvalidResourceType  type 속성에 지정한 리소스 종류를 확인합니다.Check the resource type you specified in the type property. 템플릿 참조Template reference
InvalidSubscriptionRegistrationStateInvalidSubscriptionRegistrationState  리소스 공급자에 구독을 등록합니다.Register your subscription with the resource provider. 등록 오류 해결Resolve registration
InvalidTemplateInvalidTemplate  템플릿 구문에 오류가 있는지 확인합니다.Check your template syntax for errors. 잘못된 템플릿 오류 해결Resolve invalid template
InvalidTemplateCircularDependencyInvalidTemplateCircularDependency 불필요한 종속성을 제거합니다.Remove unnecessary dependencies. 순환 종속성 해결Resolve circular dependencies
LinkedAuthorizationFailedLinkedAuthorizationFailed  계정이 배포 하는 리소스 그룹과 동일한 테 넌 트에 속하는지 확인 합니다.Check if your account belongs to the same tenant as the resource group that you're deploying to.
LinkedInvalidPropertyIdLinkedInvalidPropertyId  리소스에 대한 리소스 ID가 올바르게 해석되지 않습니다.The resource ID for a resource isn't resolving correctly. 구독 ID, 리소스 그룹 이름, 리소스 종류, 부모 리소스 이름(필요한 경우) 및 리소스 이름을 포함하여 리소스 ID에 필요한 모든 값을 제공했는지 확인합니다.Check that you provide all required values for the resource ID, including subscription ID, resource group name, resource type, parent resource name (if needed), and resource name.
LocationRequiredLocationRequired  리소스의 위치를 제공 합니다.Provide a location for the resource. 위치 설정Set location
MismatchingResourceSegmentsMismatchingResourceSegments 중첩되는 리소스의 이름 및 형식에 세그먼트 수가 올바른지 확인하십시오.Make sure nested resource has correct number of segments in name and type. 리소스 세그먼트 해결Resolve resource segments
MissingRegistrationForLocationMissingRegistrationForLocation  리소스 공급자 등록 상태와 지원 되는 위치를 확인 합니다.Check resource provider registration status and supported locations. 등록 오류 해결Resolve registration
MissingSubscriptionRegistrationMissingSubscriptionRegistration  리소스 공급자에 구독을 등록합니다.Register your subscription with the resource provider. 등록 오류 해결Resolve registration
NoRegisteredProviderFoundNoRegisteredProviderFound  리소스 공급자 등록 상태를 확인합니다.Check resource provider registration status. 등록 오류 해결Resolve registration
찾을 수 없음NotFound  부모 리소스와 함께 종속 리소스를 병렬로 배포 하려고 할 수 있습니다.You might be attempting to deploy a dependent resource in parallel with a parent resource. 종속성을 추가해야 하는지 확인합니다.Check if you need to add a dependency. 종속성 오류 해결Resolve dependencies
OperationNotAllowedOperationNotAllowed  배포에서 구독, 리소스 그룹 또는 지역에 대한 할당량을 초과하는 작업을 시도하고 있습니다.The deployment is attempting an operation that exceeds the quota for the subscription, resource group, or region. 가능하면 배포를 수정하여 할당량 내에서 유지합니다.If possible, revise your deployment to stay within the quotas. 그렇지 않은 경우 할당량 변경을 요청하는 것이 좋습니다.Otherwise, consider requesting a change to your quotas. 할당량 오류 해결Resolve quotas
ParentResourceNotFoundParentResourceNotFound  자식 리소스를 만들기 전에 부모 리소스가 있는지 확인합니다.Make sure a parent resource exists before creating the child resources. 부모 리소스 오류 해결Resolve parent resource
PasswordTooLongPasswordTooLong 너무 많은 문자를 포함 하는 암호를 선택 하거나 암호 값을 보안 문자열로 변환한 후 매개 변수로 전달 했을 수 있습니다.You might have selected a password with too many characters, or converted your password value to a secure string before passing it as a parameter. 템플릿에 보안 문자열 매개 변수가 포함되어 있으면 값을 보안 문자열로 변환할 필요가 없습니다.If the template includes a secure string parameter, you don't need to convert the value to a secure string. 암호 값을 텍스트로 제공합니다.Provide the password value as text.
PrivateIPAddressInReservedRangePrivateIPAddressInReservedRange  지정된 IP 주소에는 Azure에 필요한 주소 범위가 포함됩니다.The specified IP address includes an address range required by Azure. 예약된 범위를 방지하도록 IP 주소를 변경합니다.Change IP address to avoid reserved range. IP 주소IP addresses
PrivateIPAddressNotInSubnetPrivateIPAddressNotInSubnet  지정된 IP 주소가 서브넷 범위를 벗어났습니다.The specified IP address is outside of the subnet range. 서브넷 범위에 속하는 IP 주소로 변경합니다.Change IP address to fall within subnet range. IP 주소IP addresses
PropertyChangeNotAllowedPropertyChangeNotAllowed  일부 속성이 배포된 리소스에서 변경될 수 없습니다.Some properties cannot be changed on a deployed resource. 리소스를 업데이트할 때 변경이 허용되는 속성으로 제한합니다.When updating a resource, limit your changes to permitted properties. 리소스 업데이트Update resource
RequestDisallowedByPolicyRequestDisallowedByPolicy 배포 중에 수행하려는 작업을 금지하는 리소스 정책이 구독에 포함되어 있습니다.Your subscription includes a resource policy that prevents an action you are trying to perform during deployment. 해당 작업을 차단하는 정책을 찾습니다.Find the policy that blocks the action. 가능 하면 정책의 제한 사항을 충족 하도록 배포를 변경 합니다.If possible, change your deployment to meet the limitations from the policy. 정책 오류 해결Resolve policies
ReservedResourceNameReservedResourceName 예약된 이름을 포함하지 않는 리소스 이름을 제공합니다.Provide a resource name that doesn't include a reserved name. 예약된 리소스 이름Reserved resource names
ResourceGroupBeingDeletedResourceGroupBeingDeleted  삭제가 완료될 때까지 기다립니다.Wait for deletion to complete.
ResourceGroupNotFoundResourceGroupNotFound  배포에 대한 대상 리소스 그룹의 이름을 확인합니다.Check the name of the target resource group for the deployment. 대상 리소스 그룹이 구독에 이미 있어야 합니다.The target resource group must already exist in your subscription. 구독 컨텍스트를 확인합니다.Check your subscription context. Azure CLI PowerShellAzure CLI PowerShell
ResourceNotFoundResourceNotFound  배포에서 확인할 수 없는 리소스를 참조합니다.Your deployment references a resource that can't be resolved. reference 함수를 사용할 때 시나리오에 필요한 매개 변수가 포함되었는지 확인합니다.Verify that your use of the reference function includes the parameters required for your scenario. 참조 오류 해결Resolve references
ResourceQuotaExceededResourceQuotaExceeded  배포에서 구독, 리소스 그룹 또는 지역에 대한 할당량을 초과하는 리소스를 만들려고 합니다.The deployment is trying to create resources that exceed the quota for the subscription, resource group, or region. 가능하면 인프라를 수정하여 할당량 내에서 유지합니다.If possible, revise your infrastructure to stay within the quotas. 그렇지 않은 경우 할당량 변경을 요청하는 것이 좋습니다.Otherwise, consider requesting a change to your quotas. 할당량 오류 해결Resolve quotas
SkuNotAvailableSkuNotAvailable  선택한 위치에서 사용할 수 있는 SKU(예: VM 크기)를 선택합니다.Select SKU (such as VM size) that is available for the location you've selected. SKU 오류 해결Resolve SKU
StorageAccountAlreadyExistsStorageAccountAlreadyExists  스토리지 계정에 고유한 이름을 제공합니다.Provide a unique name for the storage account. 스토리지 계정 이름 오류 해결Resolve storage account name
StorageAccountAlreadyTakenStorageAccountAlreadyTaken  스토리지 계정에 고유한 이름을 제공합니다.Provide a unique name for the storage account. 스토리지 계정 이름 오류 해결Resolve storage account name
StorageAccountNotFoundStorageAccountNotFound  사용 하려는 저장소 계정의 구독, 리소스 그룹 및 이름을 확인 합니다.Check the subscription, resource group, and name of the storage account that you're trying to use.
SubnetsNotInSameVnetSubnetsNotInSameVnet  가상 머신에는 하나의 가상 네트워크만 있을 수 있습니다.A virtual machine can only have one virtual network. 여러 NIC를 배포할 때는 모두 동일한 가상 네트워크에 속해야 합니다.When deploying several NICs, make sure they belong to the same virtual network. 여러 NICMultiple NICs
TemplateResourceCircularDependencyTemplateResourceCircularDependency 불필요한 종속성을 제거합니다.Remove unnecessary dependencies. 순환 종속성 해결Resolve circular dependencies
TooManyTargetResourceGroupsTooManyTargetResourceGroups 단일 배포에 대한 리소스 그룹의 수를 줄입니다.Reduce number of resource groups for a single deployment. 크로스 리소스 그룹 배포Cross resource group deployment

오류 코드 찾기Find error code

두 가지 유형의 오류가 발생할 수 있습니다.There are two types of errors you can receive:

  • 유효성 검사 오류validation errors
  • 배포 오류deployment errors

유효성 검사 오류는 배포 전에 확인할 수 있는 시나리오에서 발생합니다.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.

유효성 검사 오류Validation errors

포털을 통해 배포할 때 값을 제출한 후 유효성 검사 오류가 표시됩니다.When deploying through the portal, you see a validation error after submitting your values.

포털 유효성 검사 오류 표시

메시지를 선택하여 세부 정보를 확인합니다.Select the message for more details. 다음 이미지에서 InvalidTemplateDeployment 오류와 정책에서 배포를 차단했음을 나타내는 메시지를 볼 수 있습니다.In the following image, you see an InvalidTemplateDeployment error and a message that indicates a policy blocked deployment.

유효성 검사 세부 정보 표시

배포 오류Deployment errors

작업이 유효성 검사를 통과하지만 배포 중에 실패하면 배포 오류가 표시됩니다.When the operation passes validation, but fails during deployment, you get a deployment error.

PowerShell을 통해 배포 오류 코드 및 메시지를 보려면 다음을 사용합니다.To see deployment error codes and messages with PowerShell, use:

(Get-AzResourceGroupDeploymentOperation -DeploymentName exampledeployment -ResourceGroupName examplegroup).Properties.statusMessage

Azure CLI를 통해 배포 오류 코드 및 메시지를 보려면 다음을 사용합니다.To see deployment error codes and messages with Azure CLI, use:

az group deployment operation list --name exampledeployment -g examplegroup --query "[*].properties.statusMessage"

포털에서 알림을 선택합니다.In the portal, select the notification.

알림 오류

배포에 대한 세부 정보가 표시됩니다.You see more details about the deployment. 옵션을 선택하여 오류에 대한 자세한 정보를 찾습니다.Select the option to find more information about the error.

배포 실패

오류 메시지 및 오류 코드가 표시됩니다.You see the error message and error codes. 두 개의 오류 코드가 있습니다.Notice there are two error codes. 첫 번째 오류 코드(DeploymentFailed)는 오류를 해결하는 데 필요한 세부 정보를 제공하지 않는 일반 오류입니다.The first error code (DeploymentFailed) is a general error that doesn't provide the details you need to solve the error. 두 번째 오류 코드(StorageAccountNotFound)는 필요한 세부 정보를 제공합니다.The second error code (StorageAccountNotFound) provides the details you need.

오류 세부 정보

디버그 로깅 활성화Enable debug logging

무엇이 잘못되었는지 알려면 요청 및 응답에 대한 정보가 더 필요한 경우가 있습니다.Sometimes you need more information about the request and response to learn what went wrong. 배포 중에 추가 정보가 기록되도록 요청할 수 있습니다.During deployment, you can request that additional information is logged during a deployment.

PowerShellPowerShell

PowerShell에서 DeploymentDebugLogLevel 매개 변수를 All, ResponseContent 또는 RequestContent로 설정합니다.In PowerShell, set the DeploymentDebugLogLevel parameter to All, ResponseContent, or RequestContent.

New-AzResourceGroupDeployment `
  -Name exampledeployment `
  -ResourceGroupName examplegroup `
  -TemplateFile c:\Azure\Templates\storage.json `
  -DeploymentDebugLogLevel All

요청 내용을 다음 cmdlet으로 검토합니다.Examine the request content with the following cmdlet:

(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).Properties.request `
| ConvertTo-Json

또는 응답 내용을 다음으로 검토합니다.Or, the response content with:

(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).Properties.response `
| ConvertTo-Json

이 정보를 통해 템플릿의 값이 잘못 설정되었는지 확인할 수 있습니다.This information can help you determine whether a value in the template is being incorrectly set.

Azure CLIAzure CLI

현재 Azure CLI는 디버그 로깅 켜기를 지원하지 않지만 디버그 로깅을 검색할 수 있습니다.Currently, Azure CLI doesn't support turning on debug logging, but you can retrieve debug logging.

다음 명령을 사용하여 배포 작업을 검토합니다.Examine the deployment operations with the following command:

az group deployment operation list \
  --resource-group examplegroup \
  --name exampledeployment

다음 명령으로 요청 내용을 검사합니다.Examine the request content with the following command:

az group deployment operation list \
  --name exampledeployment \
  -g examplegroup \
  --query [].properties.request

다음 명령으로 응답 내용을 검사합니다.Examine the response content with the following command:

az group deployment operation list \
  --name exampledeployment \
  -g examplegroup \
  --query [].properties.response

중첩된 템플릿Nested template

중첩된 템플릿에 대한 디버그 정보를 기록하려면 debugSetting 요소를 사용합니다.To log debug information for a nested template, use the debugSetting element.

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

문제 해결 템플릿 만들기Create a troubleshooting template

경우에 따라 템플릿 문제를 해결하는 가장 쉬운 방법은 일부를 테스트해보는 것입니다.In some cases, the easiest way to troubleshoot your template is to test parts of it. 간소화된 템플릿을 만들어 오류를 일으키는 것으로 생각되는 부분에 집중할 수 있습니다.You can create a simplified template that enables you to focus on the part that you believe is causing the error. 예를 들어 리소스를 참조할 때 오류가 발생한다고 가정합니다.For example, suppose you're receiving an error when referencing a resource. 전체 템플릿을 처리하는 대신, 문제를 일으킬 수 있는 부분만 반환하는 템플릿을 만듭니다.Rather than dealing with an entire template, create a template that returns the part that may be causing your problem. 이렇게 하면 템플릿 함수를 바르게 사용하여, 올바른 매개 변수를 전달하고 원하는 리소스를 가져오고 있는지 확인하는 데 도움이 됩니다.It can help you determine whether you're passing in the right parameters, using template functions correctly, and getting the resource you expect.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-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')), '2016-05-01')]",
        "type" : "object"
    }
  }
}

또는 종속성을 잘못 설정하는 것과 관련되었다고 생각되는 배포 오류가 발생한다고 가정해보세요.Or, suppose you are encountering deployment errors that you believe are related to incorrectly set dependencies. 간소화된 템플릿을 분리하여 템플릿을 테스트합니다.Test your template by breaking it into simplified templates. 먼저 단일 리소스(예: SQL Server)를 배포하는 템플릿을 만듭니다.First, create a template that deploys only a single resource (like a SQL Server). 리소스가 올바르게 정의된 것이 확실하면 종속되는 리소스(예: SQL Database)를 추가합니다.When you are sure you have that resource correctly defined, add a resource that depends on it (like a SQL Database). 이러한 두 리소스가 올바르게 정의되어 있으면 다른 종속 리소스(예: 감사 정책)를 추가합니다.When you have those two resources correctly defined, add other dependent resources (like auditing policies). 각 테스트 배포 사이에 리소스 그룹을 삭제하여 종속성을 적절히 테스트합니다.In between each test deployment, delete the resource group to make sure you adequately testing the dependencies.

다음 단계Next steps