问题描述
我创建了一个 Play
网络应用程序,现在部署在 GCP
上。该应用程序由两个 Pod 和一个负载均衡器服务组成。
我想保护我的应用程序免受 DDOS
攻击。参考这篇文章 - https://cloud.google.com/files/GCPDDoSprotection-04122016.pdf,我使用以下 yaml
文件创建的负载平衡器是否足够,或者该文档是否指的是其他类型的基础架构级负载平衡器?
引用文档
"通过启用基于代理的负载平衡的 DDoS 保护 ○ 当您启用 HTTP(S) 负载平衡或 SSL 代理负载平衡时, Google 基础架构减轻并吸收了许多第 4 层及以下的层 SYN 泛洪、IP 分片泛洪、端口耗尽等攻击。 ○ 如果您在多个区域使用 HTTP(S) 负载平衡, 您可以将攻击分散到全球各地的实例中。 "
我当前的应用程序是使用以下 yaml 部署的。
apiVersion: apps/v1
kind: Deployment
Metadata:
name: name
spec:
replicas: 2
selector:
matchLabels:
app: somename
和
apiVersion: v1
kind: Service
Metadata:
name: somename-service
spec:
selector:
app: somename
ports:
- protocol: TCP
port: 9000
targetPort: 9000
type: LoadBalancer
解决方法
是和否。对于某些类型的 DDoS:是的。对于其他类型的 DDoS,负载会分配到您的服务的更多实例,这可能会解决 DDoS,但会增加您的成本。
拒绝服务有多种类型。您需要考虑那些对您很重要的功能,然后与负载均衡器功能以及可能的应用程序防火墙(如 Cloud Armor)进行比较。您还需要设计您的应用程序以抵抗拒绝服务。
没有最终的解决方案。根据您的要求,您将需要应用防火墙、负载平衡器和自动缩放服务以及监控和警报。