限制 Amazon KMS 请求
为了确保 Amazon KMS 可以对来自所有客户的 API 请求提供快速可靠的响应,它会限制超出特定边界的 API 请求。
当 Amazon KMS 拒绝本来可能有效的请求并返回类似以下内容的 ThrottlingException 错误时,会进行限制。
You have exceeded the rate at which you may call KMS. Reduce the frequency of your calls. (Service: AWSKMS; Status Code: 400; Error Code: ThrottlingException; Request ID: <ID>
Amazon KMS 限制满足以下条件的请求。
-
每秒请求的速率超过一个账户和区域的 Amazon KMS 请求配额。
例如,如果您账户中的用户在一秒钟提交了 1000 个
DescribeKey请求,Amazon KMS 会限制这一秒钟的所有后续DescribeKey请求。要对限制进行响应,请使用退避和重试策略。在某些 Amazon 开发工具包中,会针对 HTTP 400 错误自动实施这一策略。
-
用于更改同一 KMS 密钥状态的请求突发或持续高速率。这种情况通常称为“热键”。
例如,如果您账户中的某个应用程序针对同一个 KMS 密钥发送一串持久的
EnableKey和DisableKey请求,Amazon KMS 将限制请求。即使请求没有超出EnableKey和DisableKey操作的每秒请求数请求限制,也会进行此限制。要响应限制,请调整您的应用程序逻辑,使其只发出必需的请求或合并多个函数的请求。
-
当与自定义密钥存储相关联的 Amazon CloudHSM 集群正在处理大量命令(包括与自定义密钥存储不相关的命令)时,对自定义密钥存储中的 KMS 密钥的操作请求可能会以低于预期的速率被节流。
当 Amazon CloudHSM 集群中没有可用的 PKCS11 会话时,Amazon KMS 还会节流对自定义密钥存储中的 KMS 密钥进行操作的请求。这种情况通常发生在高突发流量期间,此时需要额外的会话来服务流量。
要查看请求速率的趋势,请使用 Service Quotas 控制台
所有 Amazon KMS 配额均可调整,但密钥策略文档大小资源配额和自定义密钥存储中的 KMS 密钥请求配额除外。要请求提高配额,请使用 Service Quotas 控制台