是否有类似于“rest api gw usage plans”(REST API网关使用计划)的解决方案适用于HTTP API网关?

0

【以下的问题经过翻译处理】 你好,阅读了以下文章之后:

https://aws.amazon.com/blogs/architecture/throttling-a-tiered-multi-tenant-rest-api-at-scale-using-api-gateway-part-1/

https://aws.amazon.com/blogs/architecture/throttling-a-tiered-multi-tenant-rest-api-at-scale-using-api-gateway-part-2/

我想知道如果我们想在HTTP API网关上应用相同的解决方案,而HTTP API网关不提供使用计划功能,我们应该怎么做。

正如文章中所提到的:

“我们将我们的讨论范围限制在REST API上,因为API Gateway支持的其他协议 - WebSocket API和HTTP API - 具有不使用使用计划或API密钥的不同限流机制。”

一些注释以便更好地理解问题:

我们的主要目标是实现每个客户的HTTP API速率限制。 我正在寻找一个解决方案,不包括迁移到REST API网关(如果我迁移,我将采用附加文章中的解决方案)。 如果这有助于提出一个好的解决方案,我们的HTTP API网关包装在一个CloudFront分发中(我们过去这样做是为了在这个API上应用WAF,它不支持WAF的开箱即用)。 谢谢!

profile picture
专家
已提问 5 个月前30 查看次数
1 回答
0

【以下的回答经过翻译处理】 你说得对,HTTP API不提供使用计划,而REST API类型却提供了。

你需要自己来处理这个问题。我建议从内置的使用模型中获得灵感,并为你的API构建相似的模型。你可以将每个客户的限制存储在数据库中(例如 DynamoDB)。

然后,每次调用API时,你都要检查客户的速率限制是否已经超过,如果是,API会返回一个4xx错误。

如果限制仍然在阈值以下,就会增加限制计数器。

你可以以不同的方式实现这些检查,例如Lambda@Edge,或者由一个步函数支持的API网关,具有执行检查和计数器增量的Lambda步骤。

希望这些想法能给你一些启发。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则