다음을 통해 공유


Azure Resource Graph를 사용하여 오류 문제 해결

Azure Resource Graph를 사용하여 Azure 리소스를 쿼리할 때 오류가 발생할 수 있습니다. 이 문서에서는 발생할 수 있는 다양한 오류와 이러한 오류를 해결하는 방법을 설명합니다.

오류 세부 정보 찾기

대부분의 오류는 Azure Resource Graph를 사용하여 쿼리를 실행하는 동안 발생한 문제에 따른 결과입니다. 쿼리가 실패하면 SDK에서 실패한 쿼리에 관한 세부 정보를 제공합니다. 이 정보는 해결 이후에는 쿼리가 성공할 수 있는 문제를 나타냅니다.

일반 오류

시나리오: 제한된 요청

문제

대량 또는 빈도가 잦은 리소스를 쿼리하는 고객의 요청이 제한됩니다.

원인

Azure Resource Graph는 시간 범위를 기준으로 각 사용자에 대한 할당량 번호를 할당합니다. 예를 들어 사용자는 제한 없이 5초마다 최대 15개의 쿼리를 보낼 수 있습니다. 많은 요인에 따라 할당량 값이 결정되며, 변경될 수 있습니다. 자세한 내용은 Azure Resource Graph의 제한을 참조하세요.

해결

제한된 요청을 처리하는 여러 방법이 있습니다.

시나리오: 구독이 너무 많음

문제

Azure Lighthouse를 사용하는 교차 테넌트 구독을 포함하여 1,000개 초과하는 구독에 액세스할 수 있는 고객이 Azure Resource Graph에 대한 단일 호출을 사용하여 모든 구독에서 데이터를 가져올 수 없습니다.

원인

Azure CLI 및 PowerShell은 Azure Resource Graph에 처음 1,000개의 구독만 전달합니다. Azure Resource Graph용 REST API는 쿼리를 수행하는 최대 구독 수를 허용합니다.

해결

구독 하위 집합을 포함하는 쿼리에 대한 요청을 일괄 처리하여 1,000개 미만 구독 제한을 유지합니다. 솔루션은 PowerShell에서 Subscription 매개 변수를 사용하는 것입니다.

# Replace this query with your own
$query = 'Resources | project type'

# Fetch the full array of subscription IDs
$subscriptions = Get-AzSubscription
$subscriptionIds = $subscriptions.Id

# Create a counter, set the batch size, and prepare a variable for the results
$counter = [PSCustomObject] @{ Value = 0 }
$batchSize = 1000
$response = @()

# Group the subscriptions into batches
$subscriptionsBatch = $subscriptionIds | Group -Property { [math]::Floor($counter.Value++ / $batchSize) }

# Run the query for each batch
foreach ($batch in $subscriptionsBatch){ $response += Search-AzGraph -Query $query -Subscription $batch.Group }

# View the completed results of the query on all subscriptions
$response

시나리오: 지원되지 않는 Content-Type REST 헤더

문제

Azure Resource Graph REST API를 쿼리하는 고객에게 500(내부 서버 오류) 응답이 반환됩니다.

원인

Azure Resource Graph REST API에서는 application/jsonContent-Type만 지원합니다. 일부 REST 도구나 에이전트의 기본값은 text/plain이며, 이는 REST API에서 지원되지 않습니다.

해결

Azure Resource Graph를 쿼리하는 데 사용하는 도구 또는 에이전트에 application/json에 대해 구성된 Content-Type REST API 헤더가 있는지 확인합니다.

시나리오: 목록의 모든 구독에 대한 읽기 권한 없음

문제

Azure Resource Graph 쿼리를 사용하여 구독 목록을 명시적으로 전달하는 고객이 403(사용할 수 없음) 응답을 받습니다.

원인

고객에게 제공된 모든 구독에 대한 읽기 권한이 없는 경우 적절한 보안 권한이 없어 요청이 거부됩니다.

해결

쿼리를 실행하는 고객이 최소 읽기 액세스 권한을 갖도록 구독 목록에서 하나 이상의 구독을 포함합니다. 자세한 내용은 Azure Resource Graph의 권한을 참조하세요.

다음 단계

문제가 표시되지 않거나 문제를 해결할 수 없는 경우 다음 채널 중 하나를 방문하여 추가 지원을 받으세요.

  • Azure 포럼을 통해 Azure 전문가로부터 답변을 얻습니다.
  • @AzureSupport와 연결 – Azure 커뮤니티를 적절한 리소스(답변, 지원, 전문가)에 연결하여 사용자 환경을 개선하기 위한 공식 Microsoft Azure 계정입니다.
  • 추가 지원이 필요한 경우, Azure 기술 지원 인시던트를 제출할 수 있습니다. Azure 지원 사이트 로 가서 지원 받기를 선택합니다.