View a markdown version of this page

为网关添加速率限制 - 亚马逊基岩 AgentCore

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为网关添加速率限制

通过速率限制,您可以控制个别呼叫者、目标或工具可以在网关上消耗多少流量。您可以定义确定流量分组方式的维度密钥,然后设置速率条目以指定每个组的允许吞吐量。

使用速率限制来实现以下目标:

  • 保护后端模型和工具免受流量高峰的影响

  • 根据 JWT 声明或 IAM 身份强制执行每位呼叫者配额

  • 通过将速率设置为零来屏蔽特定的来电者

  • 控制推理目标的每分钟令牌 (TPM)

  • 限制与端点的并发连接

速率限制的工作原理

每个速率限制定义一个或多个维度密钥,这些维度密钥决定网关如何将流量分组到存储桶中。在速率限制内,您可以创建与特定维度值相匹配的条目并指定该存储分区的允许费率。

当网关收到请求时,它会评估所有有效的速率限制。对于每个速率限制,网关都会解析请求上下文中的维度密钥。它会找到匹配的条目并检查请求是否超过允许的速率。必须通过所有速率限制才能继续执行请求(AND 逻辑)。

速率限制更改会在 30 秒内传播到数据平面。

与服务管理限制的关系

网关强制执行客户定义的速率限制和服务管理的限制。 Customer-defined 费率限制不能超过服务上限。任何请求的有效速率是客户定义的限制和服务管理限制的最小值。有关当前的服务管理限制,请参阅网关服务配额。

速率限制组件

组件 说明

rateLimitId

速率限制的唯一标识符(2—64 个字符,带有、、的字母数字)。- _ .您可以在创建时指定自己的 ID,也可以省略它,服务会自动生成一个。出现在受限制的响应和指标中。

dimensionKeys

由 1 到 10 个密钥组成的有序列表,用于确定如何将流量分组到存储桶中。维度键在创建后是不可变的。

entries

包含 1 到 1,000 个评分条目的列表。每个条目都指定维度值和该存储分区的允许费率。

description

对速率限制用途的可选文本描述。

状态生命周期

Status 说明

CREATING

正在设置速率限制。它尚未得到执行。

ACTIVE

速率限制处于活动状态,并在数据平面上强制执行。

UPDATING

速率限制正在更新中。在更新完成之前,先前的配置将一直有效。

DELETING

速率限制已被取消。删除完成后,强制执行即停止。

限制

资源 限制

每个网关的速率限制

50

每个速率限制的参赛次数

1000

每个速率限制的维度密钥

10

描述最大长度

512 个字符

输入维度值

必须与维度键的数量相匹配

速率值范围

0 到 10,000,000(0 屏蔽所有匹配的流量)

传播时间

≤ 30 秒

重要

默认情况下,速率限制使用失效开放行为。如果速率限制服务不可用或无法解析维度,则网关允许请求继续。相应地设计您的安全态势,不要仅仅依赖速率限制作为安全边界。

常见的 API 错误

通过控制平面 API 管理速率限制时可能会返回以下错误:

HTTP 状态 错误 说明

400

ValidationException

无效的请求参数(例如,不支持的 metric/period 组合、无效的维度值)。

404

ResourceNotFoundException

指定的网关或速率限制不存在。

409

ConflictException

具有相同维度密钥的速率限制已经存在,或者网关处于不允许修改的状态。