简体   繁体   English

部署大使API网关防止DDoS的最佳实践

[英]Best Practice to deploy Ambassador API gateway to prevent DDoS

I need to set up the Ambassador API gateway in front of all my services.我需要在我的所有服务前面设置大使 API 网关。 Ambassador will be performing multiple actions like rate limiting, logging, DDoS protection, etc. Ambassador 将执行多种操作,例如速率限制、日志记录、DDoS 保护等。

Especially from DDoS protection point of view, is it best practice to host Ambassador API gateway outside main application Kubernetes cluster?特别是从 DDoS 保护的角度来看,在主应用程序 Kubernetes 集群之外托管大使 API 网关是否是最佳实践? OR to host in separate namespace and have quota limitations on it?或者在单独的命名空间中托管并对其有配额限制?

Hosting the API Gateway within same k8s cluster could lead of cluster being overwhelmed because of unwanted traffic but if I host the API gateway on separate k8s cluster application k8s cluster could be saved from such scenario.在同一个 k8s 集群中托管 API 网关可能会导致集群由于不需要的流量而不堪重负,但如果我在单独的 k8s 集群应用程序上托管 API 网关,则可以从这种情况下保存 k8s 集群。

Also, can Ambassador API gateway be deployed in non-k8s infra and in HA mode?另外,API 大使网关可以部署在非 k8s 基础架构和 HA 模式下吗?

As much i know there is two thing据我所知有两件事

Ambassador API gateway and Edge stack大使 API 网关边缘堆栈

Ambassador is open source while edge stack is paid version.大使是开源的,而边缘堆栈是付费版本。

You can install the edge stack on VM and linux but for API gateway only YAML and helm are available.您可以在 VM 和 linux 上安装边缘堆栈,但对于 API 网关,只有 YAML 和 helm 可用。

you can put rate-limiting for saving the DDos.您可以设置速率限制来保存 DDos。

Hosting the API Gateway within same k8s cluster could lead of cluster being overwhelmed because of unwanted traffic but if I host the API gateway on separate k8s cluster application k8s cluster could be saved from such scenario.在同一个 k8s 集群中托管 API 网关可能会导致集群由于不需要的流量而不堪重负,但如果我在单独的 k8s 集群应用程序上托管 API 网关,则可以从这种情况下保存 k8s 集群。

you are right in this case but if you are using the K8s you can use node affinity to fix the pods of API gateway on specific nodes or run it as daemon set .在这种情况下你是对的,但如果你使用的是 K8s,你可以使用节点关联来修复特定节点上 API 网关的 pod 或将其作为daemon set运行。 Setting up affinity and anti-affinity might help separating out the PODs or application and API gateway.设置亲和性和反亲和性可能有助于分离 POD 或应用程序和 API 网关。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM