如何在 Azure Web 应用程序防火墙 (WAF) 中实现速率限制?

如何在 Azure Web 应用程序防火墙 (WAF) 中实现速率限制?

我正在寻求对 Azure WAF 实施全局速率限制。我已经创建了自定义速率限制规则,但它们是基于 IP 的。我知道 Azure DDoS 保护提供了一定的覆盖范围限制。但我的目标是在我的应用程序变得不稳定或基础设施成本过高之前,对 HTTP 请求的数量进行最大限制。我确实定义了 K8 pod 的最大数量及其 CPU 限制,但这是确保一切正常的额外步骤。
我觉得这应该是一个常见的用例,但我还没有找到解决方案。
我联系了 Azure 支持,他们说他们没有全局速率限制的选项。到目前为止,我发现的唯一可行解决方案是使用 NGINX Ingress 控制器,详情请见 https://medium.com/titansoft-engineering/rate-limiting-for-your-kubernetes-applications-with-nginx-ingress-2e32721f7f57。但这会为每个 NGINX Ingress pod 创建速率限制,我必须有一个新的 memcached pod 才能使用 NGINX 实现全局速率限制。
我正在寻找可能的解决方案来实现这一点。

相关内容