是否有类似于“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
エキスパート
質問済み 6ヶ月前34ビュー
1回答
0

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

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

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

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

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

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

profile picture
エキスパート
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ