如何在 AWS 无服务器中应用基于 IP 的速率限制



假设我在AWS中运行无服务器REST API。因此,我在 AWS lambda 中实现了我的 REST API,并且使用 API 网关或应用程序负载均衡器通过 HTTP 公开了 lambda。然后,我想保护我的 API 免受过度使用我的 API 的潜在黑客的侵害。因此,我想通过调用方的 IP 地址限制 API 调用频率。

我看到这可以通过 AWS WAF 使用基于速率的规则来完成。阅读文档时,最小阈值为 5 分钟内 2000 次调用。这大约是每秒 7 次调用。对于我们的标准来说,这有点太大了。此外,无法按分钟、小时、天等指定限制。所以它是相当有限的。

除了 AWS WAF 基于速率的规则之外,是否有任何其他替代方法来实现基于 IP 的速率限制?

AWS 现在为 WAF 引入了新的速率限制。(5分钟内100个请求(

https://aws.amazon.com/about-aws/whats-new/2019/08/lower-threshold-for-aws-waf-rate-based-rules/

此外,您还可以对 API 网关本身应用速率限制:

https://cloudonaut.io/customized-rate-limiting-for-api-gateway-by-path-parameter-query-parameter-and-more/

这不是基于 IP 的,但对于阻止不必要的请求仍然很有用。

最新更新