使用 GKE 创建的 https 负载均衡器是否可以防止 DDOS 攻击

问题描述

我创建了一个 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)进行比较。您还需要设计您的应用程序以抵抗拒绝服务。

没有最终的解决方案。根据您的要求,您将需要应用防火墙、负载平衡器和自动缩放服务以及监控和警报。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...