할당량

Google Cloud는 리소스 사용량에 할당량을 적용합니다. Cloud KMS의 경우, 키, 키링, 키 버전, 위치와 같은 리소스의 사용량에 할당량이 적용됩니다. 할당량 관리 또는 증가 방법에 대한 자세한 내용은 Cloud KMS 할당량 모니터링 및 조정을 참조하세요.

Cloud KMS 할당량 보기

KeyRing, CryptoKey, CryptoKeyVersion 리소스 수에 대한 할당량은 없으며 작업 수에만 할당량이 적용됩니다.

이러한 작업의 일부 할당량은 Cloud KMS 서비스를 호출하는 Google Cloud 프로젝트인 호출 프로젝트에 적용됩니다. 다른 할당량은 작업에 사용되는 키가 포함된 Google Cloud 프로젝트인 호스팅 프로젝트에 적용됩니다.

호출 프로젝트 할당량에는 고객 관리 암호화 키(CMEK) 통합을 위해 Cloud KMS 키를 사용하여 Google Cloud 서비스에서 생성된 사용량이 포함되지 않습니다. 예를 들어 BigQuery, Bigtable 또는 Spanner에서 직접 전송된 암호화 및 복호화 요청은 암호화 요청 할당량에 포함되지 않습니다.

Google Cloud 콘솔은 분당 쿼리 수(QPM)의 각 할당량 한도를 나열하지만 호스팅 프로젝트 할당량은 초 단위로 적용됩니다. 초당 쿼리 수(QPS)에 적용되는 할당량은 QPS 한도를 초과하는 요청을 거부하며, 이는 분당 사용량이 나열된 QPM 한도 미만인 경우에도 마찬가지입니다. QPS 한도를 초과하면 RESOURCE_EXHAUSTED 오류가 수신됩니다.

Cloud KMS 리소스 사용량 할당량

다음 표에서는 Cloud KMS 리소스에 적용되는 각 할당량을 보여줍니다. 이 표에는 할당량이 적용되는 프로젝트 및 할당량에 포함되는 작업의 이름과 각 할당량 한도가 나와 있습니다. 이 필드에 키워드를 입력하여 테이블을 필터링할 수 있습니다. 예를 들어 호출을 입력하면 호출 프로젝트에 적용되는 할당량만 확인할 수 있고 암호화를 입력하면 암호화 작업과 관련된 할당량만 확인할 수 있습니다.

할당량 프로젝트 한도 리소스 및 작업
읽기 요청
cloudkms.googleapis.com​/read_requests
프로젝트 호출 300QPM

cryptoKeys: get, getIamPolicy, list, testIamPermissions

cryptoKeyVersions: get, list

ekmConnections: get, getIamPolicy, list, testIamPermissions, verifyConnectivity

importJobs: get, getIamPolicy, list, testIamPermissions

keyRings: get, getIamPolicy, list, testIamPermissions

locations: get, list

예외: Google Cloud Console 작업

쓰기 요청
cloudkms.googleapis.com​/write_requests
프로젝트 호출 60QPM

cryptoKeys: create, patch, setIamPolicy, updatePrimaryVersion

cryptoKeyVersions: create, destroy, import, patch, restore

ekmConnections: create, patch, setIamPolicy

importJobs: create, setIamPolicy

keyRings: create, setIamPolicy

예외: Google Cloud Console 작업

암호화 요청
cloudkms.googleapis.com​/crypto_requests
프로젝트 호출 60,000QPM

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify, rawEncrypt, rawDecrypt

위치: generateRandomBytes

예외: CMEK 통합 작업

리전당 HSM 대칭 암호화 요청
cloudkms.googleapis.com​/hsm_symmetric_requests
프로젝트 호스팅 500 QPS

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify, rawEncrypt, rawDecrypt

리전당 HSM 비대칭 암호화 요청
cloudkms.googleapis.com​/hsm_asymmetric_requests
프로젝트 호스팅 50 QPS

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify

리전당 HSM 무작위 생성 요청
cloudkms.googleapis.com​/hsm_generate_random_requests
프로젝트 호스팅 50 QPS

위치: generateRandomBytes

리전당 외부 암호화 요청
cloudkms.googleapis.com​/external_kms_requests
프로젝트 호스팅 100 QPS

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify

할당량 예시

다음 섹션에는 다음 예시 프로젝트를 사용한 각 할당량의 예시가 포함되어 있습니다.

  • KEY_PROJECT - Cloud HSM 및 Cloud EKM 키를 비롯해 Cloud KMS 키가 포함된 Google Cloud 프로젝트입니다.

  • SPANNER_PROJECT - KEY_PROJECT에 있는 고객 관리 암호화 키(CMEK)를 사용하는 Spanner 인스턴스가 포함된 Google Cloud 프로젝트입니다.

  • SERVICE_PROJECT - KEY_PROJECT에 있는 Cloud KMS 리소스를 관리하기 위해 사용하는 서비스 계정이 포함된 Google Cloud 프로젝트입니다.

읽기 요청

읽기 요청 할당량은 Cloud KMS API를 호출하는 Google Cloud 프로젝트의 읽기 요청을 제한합니다. 예를 들어 Google Cloud CLI를 사용하여 KEY_PROJECT에서 KEY_PROJECT의 키 목록을 보는 것은 KEY_PROJECT 읽기 요청 할당량에 대해 계산됩니다. SERVICE_PROJECT의 서비스 계정을 사용하여 키 목록을 보는 경우 읽기 요청은 SERVICE_PROJECT 읽기 요청 할당량에 대해 계산됩니다.

Google Cloud 콘솔을 사용하여 Cloud KMS 리소스를 보는 것은 읽기 요청 할당량에 반영되지 않습니다.

쓰기 요청

쓰기 요청 할당량은 Cloud KMS API를 호출하는 Google Cloud 프로젝트의 쓰기 요청을 제한합니다. 예를 들어 gcloud CLI를 사용하여 KEY_PROJECT에 키를 만들면 KEY_PROJECT 쓰기 요청 할당량에 대해 계산됩니다. SERVICE_PROJECT의 서비스 계정을 사용하여 키를 만들면 쓰기 요청은 SERVICE_PROJECT 쓰기 요청 할당량에 대해 계산됩니다.

Google Cloud 콘솔을 사용하여 Cloud KMS 리소스를 만들거나 관리하는 것은 읽기 요청 할당량에 반영되지 않습니다.

암호화 요청

암호화 요청 할당량은 Cloud KMS API를 호출하는 Google Cloud 프로젝트의 암호화 작업을 제한합니다. 예를 들어 KEY_PROJECT의 키를 사용하여 SERVICE_PROJECT에서 실행되는 서비스 계정 리소스의 API 호출을 통해 데이터를 암호화하면 SERVICE_PROJECT 암호화 요청 할당량에 대해 계산됩니다.

CMEK 통합을 사용하는 SPANNER_PROJECT의 Spanner 리소스에 있는 데이터의 암호화 및 복호화는 SPANNER_PROJECT암호화 요청 할당량에 포함되지 않습니다.

리전당 HSM 대칭 암호화 요청

리전당 HSM 대칭 암호화 요청 할당량은 이러한 키가 포함된 Google Cloud 프로젝트에서 대칭 Cloud HSM 키를 사용하는 암호화 작업을 제한합니다. 예를 들어 대칭 HSM 키를 사용하여 Spanner 리소스의 데이터를 암호화하면 KEY_PROJECT 리전당 HSM 대칭 암호화 요청 할당량에 대해 계산됩니다.

리전당 HSM 비대칭 암호화 요청

리전당 HSM 비대칭 암호화 요청 할당량은 이러한 키가 포함된 Google Cloud 프로젝트에서 비대칭 Cloud HSM 키를 사용하여 암호화 작업을 제한합니다. 예를 들어 비대칭 HSM 키를 사용하여 Spanner 리소스의 데이터를 암호화하면 KEY_PROJECT 리전별 HSM 비대칭 암호화 요청 할당량에 대해 계산됩니다.

리전당 HSM 무작위 생성 요청

리전당 HSM 무작위 생성 요청 할당량은 요청 메시지에 지정된 Google Cloud 프로젝트의 Cloud HSM을 사용하여 무작위 생성 바이트 작업을 제한합니다. 예를 들어 KEY_PROJECT에서 임의의 바이트를 생성하는 모든 소스의 요청은 KEY_PROJECT 리전당 HSM 무작위 요청 생성 할당량에 대해 계산됩니다.

리전당 외부 암호화 요청

리전당 외부 암호화 요청 할당량은 이러한 키가 포함된 Google Cloud 프로젝트에서 외부(Cloud EKM) 키를 사용하여 암호화 작업을 제한합니다. 예를 들어 EKM 키를 사용하여 Spanner 리소스의 데이터를 암호화하면 KEY_PROJECT 리전당 외부 암호화 요청 할당량에 대해 계산됩니다.

할당량 오류 정보

할당량에 도달한 후에 요청하면 RESOURCE_EXHAUSTED 오류가 발생합니다. HTTP 상태 코드는 429입니다. 클라이언트 라이브러리에 RESOURCE_EXHAUSTED 오류가 표시되는 방식에 대한 자세한 내용은 클라이언트 라이브러리 매핑을 참조하세요.

RESOURCE_EXHAUSTED 오류가 발생하는 경우 초당 암호화 작업 요청을 너무 많이 보내고 있을 수 있습니다. Google Cloud Console에 분당 쿼리 수 한도 내에 있는 것으로 표시되더라도 RESOURCE_EXHAUSTED 오류가 발생할 수 있습니다. 이 문제는 Cloud KMS 호스팅 프로젝트 할당량이 분 단위로 표시되지만 초당 확장을 기준으로 적용되기 때문에 발생할 수 있습니다. 측정항목 모니터링에 대한 자세한 내용은 할당량 측정항목 모니터링 및 알림을 참조하세요.

Cloud KMS 할당량 문제 해결에 대한 자세한 내용은 할당량 문제 해결을 참조하세요.

다음 단계