我正在寻求对 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 实现全局速率限制。
我正在寻找可能的解决方案来实现这一点。