迁移背景
随着业务规模增长与架构演进,现有 SaaS 型 WAF 在云上稳定性和资源的协同方面逐渐难以满足业务需求。为提升接入防护的稳定性和可维性,现计划在同一腾讯云账号内,将现有 SaaS 型 WAF 迁移至云原生型 WAF。
本次迁移的核心驱动力包括:
稳定性提升:防护节点与业务集群同地域部署,减少跨网络链路通信,降低业务整体访问延迟,提升稳定性;
业务架构适配:现有业务已基于 CLB + 服务器集群构建,迁移至云原生 WAF 可与业务架构适配,避免重新在 WAF 配置 SSL 证书,提升运维效率。
当前业务架构如下图所示,业务使用 SaaS 型 WAF、公网 CLB 和服务器集群,需迁移至云原生型 WAF。

迁移前检查清单
检查项 | 说明 |
QPS 峰值、平均值 | 确认云原生型 WAF 的 QPS 容量满足业务需求 |
主域名与子域名数量 | 确认云原生型 WAF 的域名规格满足业务需求 |
域名同时接入 SaaS 型 WAF 与云原生型 WAF 的能力 | 需腾讯云 WAF 服务团队提前加白处理 |
业务低峰期 | 在业务低峰期执行迁移变更 |
公网 CLB 准备 | 需准备一个与当前规格相同的公网 CLB |
流量灰度方案 | 1、环境:建议先选择测试或非核心、非生产环境业务进行迁移和验证,最后再迁移核心或生产环境业务。 2、域名:按流量从小到大的顺序逐步迁移域名。 3、迁移方案:采用分阶段逐步放量的方式,确保高流量业务平稳过渡。流量切换共分为 6 个阶段,比例依次为 1% → 10% → 30% → 50% → 70% → 100%,整体周期为 4 周。 |
迁移步骤
步骤 1:准备新公网 CLB
此步骤将新增一条经由新 CLB 的访问链路,为后续流量迁移做准备。
注意:
监听器需配置为 HTTP/HTTPS 七层监听器。
架构如下图所示:

步骤 2:关闭 WAF 开关
同一腾讯云账号下,域名可同时接入 SaaS 型 WAF 和云原生型 WAF,但两者仅允许其中一个开启 WAF 开关。因此,需先关闭 SaaS 型 WAF 的 WAF 开关,再接入云原生型 WAF。
说明:
建议优先选择测试业务或非核心业务域名进行验证,下文以 subdomain1 表示待迁移子域名。
SaaS 型 WAF 的 WAF 开关关闭后仍具备流量转发能力,不会导致业务中断。
1. 登录 Web 应用防火墙控制台,在左侧导航栏顶部,将控制台切换至实例所在区域(中国大陆/非中国大陆)。
2. 在左侧导航栏中,选择接入管理 > CNAME 接入。
3. 在 CNAME 接入页面,关闭 subdomain1 的 WAF 开关。

步骤 3:接入域名至云原生型 WAF

接入后,请确认以下事项:
1. 确认云原生型 WAF 的 WAF 开关已开启。
2. 确认防护模式已设置为观察(如未设置,在 基础安全页面单击批量设置进行设置)。

操作完成后,架构如下图所示:

步骤 4:修改回源地址
完成本步骤后,对应子域名的流量将经由新 CLB 转发至云原生型 WAF。未迁移的域名仍通过原链路接入 SaaS 型 WAF;已迁移域名的新 DNS 解析将逐步生效,生效后经由新链路接入云原生型 WAF。
架构如下图所示:

步骤 5:观察业务与攻击日志
1. 观察业务是否正常(关注时延、异常状态码等指标)。
2. 排查攻击日志是否存在误拦截(当前为观察模式,仅产生命中记录,不会执行实际拦截)。
说明:
当前业务已在 SaaS 型 WAF 上稳定运行一段时间,且两侧自定义规则完全一致,发生误拦截的概率较低。
步骤 6:迁移剩余域名
对其余域名,循环执行步骤 2 至步骤 5,直至所有域名均从 SaaS 型 WAF 迁移至云原生型 WAF。
步骤 7:等待流量全部迁移至新 CLB
监控旧 CLB 上的流量直至清零,此时所有域名的流量都将经由新 CLB 转发至云原生型 WAF 进行防护。
注意:
在旧 CLB 的流量清零之前,请勿对旧 CLB 和 SaaS 型 WAF 进行任何修改,以保证服务可用。
流量全部迁移至新 CLB 后,架构如下图所示:

步骤 8:将防护模式设置为拦截
步骤 9:确认是否销毁旧 CLB 和 SaaS 型 WAF
此时,可根据业务需要确认是否销毁旧 CLB 和 SaaS 型 WAF。至此,整个迁移操作完成。
注意:
删除 SaaS 型 WAF 后,需手动重新开启云原生型 WAF 上相关域名的访问日志与日志投递开关。
应急方案
迁移前后对比和注意事项
对比维度 | SaaS 型 WAF | 云原生型 WAF |
架构 | 串联 | 旁路 |
网页防篡改 | 支持 | 不支持 |
数据防泄漏 | 支持 | 不支持 |
超量影响 | 同一自然日内,实例的业务 QPS 峰值超过实例规格值但未达到实例沙箱隔离阈值累计3次(含3次),或 QPS 峰值超过实例隔离沙箱隔离阈值1次(含1次),实例业务流量将立即进入沙箱隔离状态,进入沙箱隔离状态的实例将不再保证 SLA。 | |
注意:
若源站已配置 SaaS 型 WAF 回源 IP 限制,迁移前需为新 CLB 剔除 IP 访问限制。
迁移自定义规则策略
若部分 SaaS 型 WAF 自定义策略未迁移至云原生型 WAF,可采用手动方式添加。
将 CLB 以对象方式接入云原生型 WAF

注意:
完成对象接入后,若子域名流量经过 WAF,将优先命中精准域名安全策略,对象接入策略不生效;反之,若子域名未通过精准域名方式接入云原生型 WAF,将命中对象接入安全策略,作为兜底防护。详情请参见 云原生实例对象接入。