다음을 통해 공유


Azure 개발자 CLI 오류 FAQ

이 문서에서는 Azure 개발자 CLI(azd)를 사용할 때 발생할 수 있는 일반적인 오류에 대한 솔루션을 제공합니다.

역할 할당 쓰기에 대한 권한 부여 실패

오류 메시지:The template deployment failed with error: 'Authorization failed for template resource '<guid>' of type 'Microsoft.Authorization/roleAssignments'. The client '##Email##' with object id '<guid>' does not have permission to perform action 'Microsoft.Authorization/roleAssignments/write' at scope '<resourceId>'.'

Cause: 대상 Azure 구독 또는 리소스 그룹에 역할을 할당할 수 있는 충분한 권한이 없습니다. 사용자 계정에는 Contributor 접근 권한이 있지만 OwnerUser Access Administrator 접근 권한이 없는 경우에 이러한 문제가 흔히 발생합니다. Contributor 에서는 리소스를 만들 수 있지만 해당 리소스에 대한 권한(역할 할당)을 부여할 수는 없습니다.

해상도: 배포하려는 구독 또는 리소스 그룹에 대한 소유자 또는 사용자 액세스 관리자 역할이 계정에 있는지 확인합니다. 이러한 역할을 부여할 수 없는 경우 관리자에게 초기 배포 또는 역할 할당을 수행하도록 요청합니다. 자세한 내용은 Azure 기본 제공 역할 참조하세요.

역할 할당이 이미 있음

오류 메시지:The role assignment already exists.

원인: 이 오류는 배포가 리소스에 이미 존재하는 역할 할당을 만들려고 할 때 발생합니다. ARM(Azure Resource Manager) 배포는 idempotent이지만 템플릿의 특정 구성 또는 경합 조건은 다시 배포할 때 이 오류를 트리거할 수 있습니다.

해상도: 이 오류는 간헐적이거나 양성인 경우가 많습니다.

  1. 배포를 다시 시도하십시오:azd up 또는 azd deploy을(를) 다시 실행하십시오.
  2. Bicep 템플릿 확인: 템플릿을 유지 관리하는 경우 역할 할당이 유효한 name 속성(종종 엄격히 결정되는 GUID)을 사용하여 idempotency를 확보합니다. guid() Bicep 함수를 사용하여 결정적 이름을 생성합니다.

테넌트 ID, 보안 주체 ID 또는 범위를 업데이트할 수 없음

오류 메시지:Tenant ID, application ID, principal ID, and scope are not allowed to be updated.

원인: 기존 할당과 다른 속성을 사용하여 역할 할당을 다시 배포하려고 합니다. 역할 할당은 변경할 수 없습니다. 주체 ID(역할을 수신하는 사용자/앱) 또는 기존 할당 ID의 범위를 변경할 수 없습니다.

해결 방법:

  1. 매개 변수 확인: 동일한 역할 할당 리소스에 대해 다른 보안 주체 ID(예: 사용자와 서비스 주체 간 전환)를 실수로 전달하지 않는지 확인합니다.
  2. Clean up: 할당을 변경해야 하는 경우 Azure 포털 또는 az 역할 할당 삭제를 사용하여 CLI를 통해 충돌하는 역할 할당을 수동으로 삭제한 다음 다시 배포합니다.

지역 용량 또는 SKU를 사용할 수 없음

오류 메시지:The region 'eastus2' currently does not have enough resources available to provision services with the SKU 'standard'. (또는 '기본')

Cause: 선택한 Azure 지역이 요청된 서비스 SKU에 대한 용량이 일시적으로 부족합니다. 이는 현재 eastus2 같은 인기 지역에서 AI 서비스(예: Azure OpenAI)에서 일반적입니다.

해결 방법:

  1. 위치 변경: 실행 azd env set AZURE_LOCATION <new-region> 하여 가용성이 더 나은 지역(예: swedencentral, westus3francecentral)으로 전환합니다.
  2. 가용성 확인: 지역별 Azure 제품을 사용하거나 페이지를 사용하거나 az account list-locations 실행하여 서비스 및 SKU를 사용할 수 있는 지역을 확인합니다.

AI 모델에 대한 TPM 할당량 초과

오류 메시지:This operation require <amount> new capacity in quota Tokens Per Minute (thousands) - <model> - GlobalStandard, which is bigger than the current available capacity <available>.

Cause: 구독이 대상 지역의 지정된 Azure OpenAI 모델에 대한 TPM(분당 토큰)에 대한 할당량 한도에 도달했습니다.

해결 방법:

  1. Request Quota:Azure AI Studio 또는 Azure 포털을 통해 할당량 증가를 요청합니다. 자세한 내용은 Azure OpenAI Service 할당량 관리 참조하세요.
  2. 모델/지역 변경: 사용되지 않는 할당량이 있는 지역으로 전환하거나 제한에 맞는 다른 모델 버전을 사용합니다.

If-Match 사전 조건이 실패했습니다.

오류 메시지:The specified precondition 'If-Match = ""&lt;guid&gt;""' failed.

원인: 이 문제는 일반적으로 동시성 충돌을 나타냅니다. 두 프로세스가 동일한 리소스를 동시에 업데이트하려고 하거나 로컬 상태가 클라우드 리소스(부실 ETag)와 동기화되지 않을 수 있습니다.

해상도: 작업을 다시 시도합니다. 오류가 계속 발생하는 경우:

  1. 동일한 환경을 동시에 대상으로 하는 다른 배포(CI/CD 파이프라인, 다른 동료)가 없는지 확인합니다.
  2. Bicep 사용하는 경우 템플릿이 동일한 리소스에 대한 병렬 수정을 방지하기 위해 종속성(dependsOn)을 올바르게 정의하는지 확인합니다.

수락된 상태의 Cognitive Services 계정

오류 메시지:Call to Microsoft.CognitiveServices/accounts failed. Error message: Account <resourceId> in state Accepted.

Cause: 이 오류는 종속 리소스가 완전히 프로비전되고 활성화되기 전에 Azure AI(Cognitive Services) 계정과 상호 작용하려고 하는 타이밍 문제입니다. 계속하기 전에 리소스 준비 상태를 일시 중지하거나 확인하기 위해 명령 후크 (예 postprovision: )를 추가할 수도 있습니다 azure.yaml .

컨테이너 앱 수정 버전 제공이 만료됨

오류 메시지:Failed to provision revision for container app <appName>. Error details: Operation expired.

Cause: Azure Container App이 기본 제한 시간 내에 시작되지 않았습니다. 일반적인 이유는 다음과 같습니다.

  • 컨테이너 이미지가 너무 커서 끌어오는 데 너무 오래 걸립니다.
  • 애플리케이션이 시작 시 충돌합니다.
  • 애플리케이션이 구성된 포트에서 수신 대기하는 데 너무 오래 걸립니다.

해결 방법:

  1. 로그 확인: Azure 포털(로그 스트림)에서 컨테이너 로그를 보거나 azd monitor 사용하여 앱이 충돌하는지 확인합니다.
  2. 구성 검토: 구성에서 앱이 targetPort 수신 대기하는 포트와 일치하는지 확인합니다. 자세한 문제 해결 단계는 Azure Container Apps
  3. 로그 확인: Azure 포털(로그 스트림)에서 컨테이너 로그를 보거나 azd monitor 사용하여 앱이 충돌하는지 확인합니다.
  4. 구성 검토: 구성에서 앱이 targetPort 수신 대기하는 포트와 일치하는지 확인합니다.
  5. 이미지 최적화: 끌어당기는 속도를 높이기 위해 컨테이너 이미지의 크기를 줄입니다.