为什么我在向 AWS KMS 提出请求时会收到 ThrottlingExceptions 错误?

上次更新日期:2021 年 2 月 12 日

我在向 AWS Key Management Service (AWS KMS) 发出请求时收到 ThrottlingException 错误,类似以下内容:

您已超过调用 KMS 的费率。降低您的调用频率。(服务:AWSKMS;状态代码:400;错误代码:CrottlingException;请求 ID:EXAMPLEID

简短描述

ThrottlingException 错误代码表示向 AWS KMS 发出的请求速率超过了 AWS 账户的请求配额。因此,AWS KMS 服务会限制请求。

解决方法

使用以下最佳实践来排查 ThrottlingException 错误:

查看服务配额服务中的 AWS KMS 使用率指标,以确定每秒的最大及平均请求速率。针对不同的AWS KMS 请求配额,AWS KMS 向 Amazon CloudWatch 发布使用指标。例如,加密和解密操作使用针对加密操作的共享配额。 降低请求速率,并考虑使用或修改回退和重试逻辑。 针对使用 AWS KMS CMK (SSE-KMS) 和 Amazon Simple Storage Service (Amazon S3) 存储桶的服务器端加密,请使用 S3 存储桶密钥。有关说明,请参阅通过 Amazon S3 存储桶密钥降低 SSE-KMS 成本。 通过 AWS Encryption SDK 加密库使用数据密钥缓存功能。通过缓存和重新使用数据密钥进行加密,数据密钥缓存降低 API 请求速率以满足成本和性能要求。 请求提高 AWS KMS 配额以超过请求配额。 创建 Amazon CloudWatch 警报,在达到利用率百分比时、未达到请求配额前提醒您。