宙斯盾 DDoS 防护系统“降本增效”的云原生实践
tomdu,腾讯云高级工程师,主要负责宙斯盾安全防护系统管控中心架构设计和后台开发工作。
导语
为什么上云?
资源共享,动态扩缩容——“降本”
容器化管理,快速部署——“增效”
怎么上云?
当前架构
防护设备:分为 ADS ( Anti-DDoS System )、 HTTP CC 、 HTTPS CC 三大类,结合多年来团队在 DDoS/CC 攻防对抗上的积累,分别集成了各种协议/场景下的自研防护算法。防护设备部署在全球各地机房入口,在触发攻击告警后牵引并清洗攻击流量,然后回源。其上部署有管控 agent ,负责与后台通信、并管理防护设备。
接入层:多点接入,内网、公网接入。管控 agent 启动后随机选择一个可用接入进行 TCP 连接。
后台服务:多主/主备部署,向接入注册心跳,所有后台请求通过接入分发、负载均衡,所有 agent 请求通过接入转发。
服务发现:后台服务根据预配置的接入 IP 列表注册心跳,容器化部署后 IP 切换频繁,通过配置的方式加载接入已经不适用。
无状态:容器化部署可以做到根据负载快速扩容,但需要服务做到完全无状态才能达到完全水平扩展。当前多主部署的服务都是无状态的,可以直接迁移,但主备部署的服务则需要改造。
配置管理:当前按机器维度管理,与运行环境相关/无关的配置混在一起。
上云架构
服务发现:后台服务全部接入北极星名字服务,向北极星注册实例、定期发送心跳,接入从北极星获取各类服务健康实例来分发请求。
无状态:当前系统存在状态的场景主要有两类。
文件下载:主要是防护设备的策略文件下载,无状态化改造涉及待下载文件在多个文件服务实例间同步。解决方案是选择使用 CFS 来同步文件。
策略分包下发:策略太大时应用层做了分包,同一请求哈希到同一后台策略服务实例。解决方案是请求中带上当前分包状态信息,任一策略服务实例可以处理且结果一致。
配置管理:与运行环境无关的配置,接入七彩石配置中心,保证同一类型部署的实例配置一致。
日志监控:迁移到智研日志汇、监控宝。
两大“拦路虎”
如何平滑迁移
Global Route :VPC 内私有 IP ,无法从集群外访问,不可以注册到 CMDB 。开启随机端口映射后可从集群外访问,并可绑定 CLB 和北极星。
ENI IP :公司内可路由 IP ,可从集群外访问,可以注册 CMDB 、 CLB 和北极星。
不断变化的 IP
访问鉴权
服务发现
服务暴露
上云效果
往期精选推荐