1) 说明迁移背景:将香港高防服务器迁移到新机房以提升连通性或降低成本。
2) 明确目标:业务零中断、数据完整、维持至少原有防护能力(例如防护峰值≥100Gbps)。
3) 受影响对象:Web、API、数据库、缓存和CDN回源。
4) 关键约束:DNS生效延迟、会话保持、IP变更与法规合规。
5) 时间窗口:建议选择流量低峰(如凌晨02:00),并设定回滚时间窗。
6) 风险评估:列出DDoS、数据同步失败、应用配置差异等风险并制订应对措施。
1) 资产清单:列出所有公网IP、域名、证书、后端服务端口和防火墙规则。
2) 数据备份:确认数据库备份(全量+增量)、文件系统快照可恢复。
3) 应用依赖:核对第三方API、消息队列、Redis、SMTP等连通性。
4) 性能基线:记录现网QPS、并发、磁盘I/O、延时作为对比数据。
5) TTL设置:把关键域名TTL降到60-120秒以加快切换。
6) 联系人矩阵:列出运维、开发、机房和带宽供应商联系方式并保持24/7在线。
1) 选择:确认新机房是否提供DDoS高防、BGP多线、硬件防火墙与带宽峰值。
2) 服务器规格示例:CPU 8核(Intel Xeon)、内存32GB、NVMe 1TB、带宽1Gbps(峰值防护≥100Gbps)。
3) 网络:配置双公网IP与内网VLAN,备用公网IP用于回滚。
4) 安全:提前部署WAF、IPS、基线防护和ACL策略。
5) 环境:安装相同操作系统版本(例如CentOS 7/Ubuntu 20.04)与依赖包版本。
6) 性能验证:在目标机房进行压测(例如ab或wrk),确认QPS与响应时间满足SLA。
| 项 | 源(旧机房) | 目标(新机房) |
|---|---|---|
| CPU | 4核 | 8核 |
| 内存 | 16GB | 32GB |
| 磁盘 | 500GB SSD | 1TB NVMe |
| 带宽 | 500Mbps | 1Gbps(防护100Gbps) |
1) CDN优先:在切换前将站点接入CDN(例如Cloudflare或厂商CDN),并开启“维护模式”回源到旧机房。
2) DNS策略:将主域名TTL降为60秒,准备备用CNAME或A记录用于快速回滚。
3) IP切换:建议先将流量导入CDN,再变更回源IP;若无CDN则在低峰直接修改A记录并监控。
4) 会话保持:对有状态服务使用共享会话存储(Redis或数据库)或sticky session策略。
5) 验证:逐步切换子域(静态、API、管理)并确认无异常再全量切换。
6) 监控:在切换窗口实时监控流量、错误率与延时,设置告警阈值。
1) 防护容量:确认新机房防护峰值(例如100Gbps),并保留升级SLA的通道。
2) 黑白名单:在迁移前同步现有防火墙与黑名单到目标机房。
3) 缓解策略:结合源站防护、CDN边缘清洗和上游null-route策略。
4) 流量清洗测试:在非业务高峰进行模拟攻击演练,验证清洗规则。
5) 日志与溯源:确保攻击日志能够导出供厂商追踪并留存7天以上。
6) 紧急预案:若遭遇超出防护能力攻击,立即联系运营商/机房启用流量分流或临时封禁。
1) 数据同步:使用rsync增量同步文件:rsync -azP --delete /var/www/ root@NEW_IP:/var/www/。
2) 数据库:先做全量备份mysqldump,恢复后使用binlog或percona xtrabackup做增量同步。
3) 配置同步:复制nginx/redis/etc配置并对比差异,使用scp或配置管理工具部署。
4) 测试启动:在目标机房启动服务并进行内网验证(curl localhost:80, redis-cli ping)。
5) 切换流量:修改DNS或CDN回源指向新机房,监控60s内的访问情况。
6) 验证与回滚:若错误率激增或核心服务不可用,按预案将DNS回滚到旧IP并恢复数据一致性。
1) 流量监控:确认PV、QPS、响应时间与错误率恢复到正常水平。
2) 性能对比:对比迁移前后95/99百分位延时及数据库慢查询日志。
3) 安全检查:确认WAF规则生效,端口与服务只暴露必要接口。
4) 日志完整性:确保访问日志、应用日志和安全日志在新机房无丢失。
5) 业务确认:与业务方确认订单、支付和用户登录等关键路径可用。
6) 优化计划:根据观测结果调整缓存策略、连接数和数据库索引。
1) 背景:某电商平台在香港机房遭遇持续洪泛攻击,日均PV 50万,峰值并发约8000。
2) 目标:迁移到提供100Gbps防护的新香港机房并升级硬件。
3) 配置:新服务器8核/32GB/1TB NVMe,带宽1Gbps,防护峰值100Gbps。
4) 执行:将DNS TTL提前降到60秒,使用CDN做回源切换,rsync+binlog保证零丢单。
5) 结果:切换窗口12分钟内完成,攻击被边缘清洗,业务无重大中断,平均响应时间降低18%。
6) 总结:事前演练、降低TTL、使用CDN与清晰回滚方案是成功的关键。