이 페이지는 할당량 프로젝트 사용법과 프로젝트 결정 방법을 정의합니다. 할당량 프로젝트를 올바르게 설정하면 Google Cloud API에 대한 요청 실패 및 불필요한 할당량 오류를 방지하는 데 도움이 됩니다.
Google Cloud API에 대한 모든 요청은 할당량을 기준으로 계산됩니다. 할당량은 각 프로젝트에 적용되므로, 모든 요청에는 할당량을 제공하기 위한 프로젝트가 필요합니다. 이 프로젝트를 할당량 프로젝트라고 부릅니다. 결제 프로젝트라고 부르기도 합니다. 결제 프로젝트와 할당량 프로젝트는 동일한 프로젝트입니다. 자세한 내용은 할당량 프로젝트 설정 방법을 참조하세요.
할당량 프로젝트 결정 방법
할당량 프로젝트가 결정되는 방법은 사용하는 API 유형(리소스 기반 API 또는 클라이언트 기반 API)에 따라 다릅니다.
리소스 기반 API
리소스 기반 Google Cloud API의 경우 API 호출에 할당량을 제공하는 프로젝트는 액세스되는 리소스를 포함하는 프로젝트이기도 합니다. 예를 들어 Compute Engine 인스턴스를 만들 때 이 새 인스턴스의 프로젝트를 지정해야 합니다. 그러면 프로젝트에 새로 생성된 인스턴스가 포함됩니다. 나중에 Compute Engine 인스턴스에서 작업을 수행하면 인스턴스가 포함된 프로젝트가 요청의 할당량을 제공합니다. 이는 Google Cloud CLI, REST 또는 클라이언트 라이브러리 사용 여부에 관계없이 적용됩니다.
리소스 기반 API에 대한 요청에 사용되는 할당량 프로젝트는 변경할 수 없습니다. 요청은 항상 요청이 작동하는 리소스가 포함된 프로젝트를 사용합니다.
클라이언트 기반 API
API가 리소스 기반 API가 아니면 클라이언트 기반 API입니다. 예를 들어 Cloud Translation API는 일반적으로 사용되는 클라이언트 기반 API입니다.
클라이언트 기반 API에 대한 요청을 수행할 때 할당량 프로젝트를 식별할 수 없으면 요청이 실패합니다.
할당량 프로젝트는 여러 방법으로 설정할 수 있으며, 프로젝트는 다음 옵션을 확인하여 인증됩니다. 나열된 순서는 우선순위입니다.
- 환경 또는 요청에 설정된 할당량 프로젝트
- API 키를 사용하여 요청의 사용자 인증 정보를 제공하는 경우 API 키와 연결된 프로젝트가 할당량 프로젝트로 사용됩니다.
- Google Cloud CLI를 사용하여 액세스 토큰을 가져오고 사용자 인증 정보로 gcloud CLI에 인증한 경우 gcloud CLI 공유 프로젝트가 할당량 프로젝트로 사용되는 경우도 있습니다. 모든 클라이언트 기반 API가 공유 프로젝트를 사용하는 것은 아닙니다.
- 가장에 의한 경우를 포함하여 API 호출의 주 구성원이 서비스 계정인 경우 해당 서비스 계정과 연결된 프로젝트가 할당량 프로젝트로 사용됩니다.
- API의 주 구성원이 직원 ID 제휴 사용자인 경우 직원 풀 사용자 프로젝트가 할당량 프로젝트로 사용됩니다.
위의 검사 중 어느 것도 할당량 프로젝트를 생성하지 않으면 요청이 실패합니다.
클라이언트 기반 API용 gcloud CLI 공유 프로젝트 정보
할당량 프로젝트를 설정하지 않고 gcloud CLI를 사용하여 클라이언트 기반 API에 요청을 전송하는 경우 gcloud CLI 공유 프로젝트로 대체되거나 요청이 실패할 수 있습니다. gcloud CLI 공유 프로젝트는 모든 프로젝트의 모든 gcloud CLI 요청에서 사용되므로, 다른 여러 gcloud CLI 요청도 이 프로젝트를 할당량 프로젝트로 사용하는 경우 공유 프로젝트의 할당량이 일시적으로 고갈될 수 있습니다. 이 경우 할당량 초과 오류 메시지가 표시되고 요청이 실패합니다.
클라이언트 기반 API의 현재 할당량 프로젝트 식별
gcloud CLI 명령어에 사용되는 프로젝트를 식별하려면 gcloud CLI에 --log-http
플래그를 포함하여 명령어의 헤더를 출력합니다. 로그에는 이 명령어에 사용된 프로젝트가 X-Goog-User-Project
필드에 할당량 프로젝트로 포함됩니다.
API가 리소스 기반인지 클라이언트 기반인지 확인
사용 중인 API 유형을 파악하기가 어려울 수 있습니다. 그러나 활성화 및 할당량은 동일한 방식으로 적용됩니다. 프로젝트 A의 서비스 계정이 프로젝트 B의 읽기 메서드를 호출하고 두 프로젝트 모두에 API가 사용 설정되지 않은 경우 API not enabled
오류 메시지는 활성화가 확인된 프로젝트를 나타냅니다. 활성화를 확인한 프로젝트는 비율 할당량을 확인한 프로젝트와 동일합니다.
다음 단계
- 할당량 프로젝트 설정 방법
- 애플리케이션 기본 사용자 인증 정보 자세히 알아보기
- 인증에 대해 자세히 알아보기
- 할당량 이해하기