API에 따라 일일 요청, 분당 요청 또는 사용자별 분당 요청으로 요청을 명시적으로 제한할 수 있습니다.
API별 사용량 한도입니다. 예를 들어 무료 사용량을 초과하여 요금이 청구되지 않도록 일일 요청 수 한도를 설정할 수 있습니다.
이러한 한도는 특정 서비스 볼륨을 세부적으로 관리하기 위한 것이며 프로젝트 전체 지출 한도로 작동하도록 설계되지 않았습니다. 전체 프로젝트 또는 결제 계정의 예상치 못한 비용을 방지하려면 예산 및 예산 알림 생성, 수정, 삭제를 참고하세요.
요청 수 한도 보기 및 수정
결제 가능 API에 대한 모든 요청에 한도를 설정할 수 있습니다. 대부분 API에는 기본 한도가 설정되어 있지만 Google에서 지정하는 최댓값까지 기본 한도를 변경할 수 있습니다. 일부 API에서는 프로젝트에서 결제를 사용 설정할 때까지 한도가 낮게 설정됩니다.
API 한도를 보거나 변경하려면 다음 단계를 따릅니다.
- Google Cloud 콘솔에서 API 및 서비스 대시보드 페이지로 이동합니다.
- 프로젝트 목록에서 프로젝트를 선택하거나 새 프로젝트를 만듭니다.
- 확인하려는 API의 이름을 클릭합니다.
- 할당량을 클릭합니다. 탭 탐색에 할당량 탭이 없으면 선택한 API에 할당량이 정의되지 않은 것입니다.
- 상한을 설정하려는 할당량을 찾으려면 필터 필드에 적절한 속성과 값을 입력합니다. 예를 들어 서브네트워크 할당량을 찾으려면 Quota:Subnetworks를 입력합니다.
- 상한을 설정할 할당량 옆에 있는 체크박스를 클릭한 다음 할당량 수정을 클릭합니다.
- 설정하려는 새 한도를 포함하여 할당량 변경 양식을 작성합니다.
- 요청 제출을 클릭합니다.
일부 API에서는 양식을 제출하여 한도 상향 조정을 요청할 수 있습니다. 그 밖에 프로젝트에서 결제가 사용 설정되어 있는 경우에만 할당량 상향 조정이 가능한 API도 있습니다.
사용자당 요청 제한
각 사용자가 API 할당량을 모두 소진하지 못하도록 일부 API에는 기본 사용자별 분당 제한이 포함됩니다.
API에 사용자별 분당 기본 한도가 포함되어 있는지 확인하려면 요청 수의 한도 보기 및 수정에 관한 안내에 설명된 대로 API 할당량에서 이 한도를 찾습니다. 해당 API에 이러한 기본 한도가 존재하는 경우, 다음 안내에 따라 각 사용자가 사용할 수 있는 할당량을 제한하도록 이 값을 수정할 수 있습니다. API에 할당량에 이 기본 한도가 포함되지 않은 경우 추가 또는 수정이 지원되지 않습니다.
기본적으로 시스템은 인증된 주 구성원을 사용하여 개별 사용자를 고유하게 식별합니다. 인증된 주 구성원에는 OAuth 토큰을 사용하는 사용자 계정, 서비스 계정 또는 제휴 워크로드 아이덴티티가 포함됩니다. 인증된 주 구성원이 없으면 시스템에서 클라이언트 IP 주소를 사용합니다. 이 대체 동작은 기본적으로 활성화되어 있으므로 사용자 식별자를 지정하지 않아도 사용자별 할당량이 적용됩니다.
클라이언트 IP 주소 대체 사용에는 두 가지 주요 제한사항이 있습니다.
- 공유 공개 IP: 학교 사무실이나 VPN 엔드포인트와 같은 네트워크 주소 변환 (NAT) 게이트웨이나 프록시 뒤에 있는 여러 사용자가 단일 공개 IP 주소를 공유합니다. 요청이 동일한 할당량 버킷으로 풀링되어 할당량이 조기에 소진될 수 있습니다.
- IP 기반 회피: 대규모 IPv6 주소 블록 또는 VPN 프록시에 액세스할 수 있는 사용자는 비율 제한을 우회하기 위해 클라이언트 IP 주소를 순환할 수 있으므로 강력한 악용 방지를 위해 IP 대체가 신뢰할 수 없게 됩니다.
호출 코드가 개발자가 소유한 서버에서 호스팅되는 서버 측 애플리케이션에서 여러 사용자를 대신하여 API를 호출하고 인증된 단일 주 구성원을 사용하는 경우 모든 호출이 해당 단일 주 구성원에 기여합니다. 이 경우 개별 사용자의 통화는 별도로 제한할 수 없습니다. 이를 방지하려면 요청에서 quotaUser 매개변수 또는 X-Goog-Quota-User 헤더를 지정하여 기본 사용자 식별 및 파티션 할당량 사용량을 재정의하면 됩니다. 이러한 매개변수는 시스템 매개변수 문서에 정의되어 있습니다.
quotaUser 매개변수 또는 X-Goog-Quota-User 헤더를 사용하여 기본 사용자 식별을 재정의하려면 IP 주소 제한 또는 HTTP 리퍼러 제한과 같은 서비스 제한이 있는 유효한 API 키를 사용하여 할당량 프로젝트를 식별해야 합니다. 그렇지 않으면 매개변수나 헤더가 무시되고 시스템이 기본 사용자 식별로 대체됩니다.
사용자를 식별하려면 quotaUser=userID URL 쿼리 매개변수를 사용합니다. 이 값은 단기 할당량에만 적용됩니다. 따라서 실제 사용자 ID를 사용할 필요 없습니다. 40자 미만의 임의 문자열을 선택하여 사용자를 고유하게 식별할 수 있습니다.
사용자 개인 정보를 보호하고 측정항목 볼륨을 제한하기 위해 Google Cloud 콘솔과 Cloud Monitoring은 개별 quotaUser 또는 IP 주소로 파싱된 원격 분석을 저장하거나 표시하지 않습니다. 전체 프로젝트 할당량 한도와 총 사용량을 볼 수 있지만 특정 개별 사용자를 모니터링하거나, 재정의하거나, 알림을 구성할 수는 없습니다.
API에 사용자별 분당 기본 한도가 포함되지 않으면 quotaUser 값이 무시됩니다.
프로젝트의 API에 적용되는 모든 할당량 보기 및 편집
Google Cloud 콘솔의 IAM 및 관리자 섹션에 있는 할당량 페이지를 확인하여 지정된 프로젝트에서 모든 결제 가능 API에 적용되는 할당량 한도를 검토, 수정 또는 상향 요청할 수 있습니다.
프로젝트에서 모든 결제 가능 API에 적용되는 할당량을 보고 편집하려면 다음 단계를 따릅니다.
- Google Cloud 콘솔에서 할당량 페이지로 이동합니다.
- 프로젝트 목록에서 프로젝트를 선택하거나 새 프로젝트를 만듭니다. 선택한 프로젝트의 할당량 페이지가 표시됩니다. 이 페이지에는 각 서비스에서 사용 가능한 각 할당량 유형의 항목이 나열됩니다.
- 테이블 필터링을 클릭하여 특정 속성별로 할당량을 쿼리합니다.
- 수정하고자 하는 할당량 옆의 체크박스를 선택합니다. 일부 체크박스를 클릭하려면 프로젝트에 결제가 사용 설정되어 있어야 합니다.
- 할당량 수정을 클릭합니다.
- 표시된 할당량 변경 창에서 서비스 뷰를 펼친 다음 필요에 따라 해당 서비스의 할당량을 수정한 후 완료를 클릭합니다.
- 선택한 각 서비스에서 할당량 수정을 반복합니다.
- 현재 할당량 한도는 입력 상자에 자동으로 입력됩니다.
- 제출 시 알림 아이콘()이 있는 서비스에는 입력 오류가 있습니다.
- 이전에 설명된 대로 수정할 할당량을 선택하여 할당량을 추가할 수 있습니다.
- 확장되지 않은 서비스 뷰로 마우스를 가져간 다음 삭제 아이콘()을 클릭하여 할당량 변경 창에서 서비스를 삭제할 수 있습니다.
- 할당량 수정을 마치면 다음을 클릭합니다.
- 할당량 수정 요청에 검토가 필요한 경우 연락처 세부정보 양식이 표시됩니다. 연락처 세부정보를 입력하여 양식을 작성합니다.
- 요청 제출을 클릭합니다.