4. AWS灾备策略全景
在AWS上做灾备,最容易犯的错误不是“没做备份”,而是“所有业务都用同一种灾备策略”。一个内部报表系统和一个支付交易系统,对RTO(恢复时间目标)和RPO(恢复点目标)的要求可能相差几个数量级,如果都用多站点主动-主动,成本会失控;如果都用备份与恢复,核心业务又扛不住。因此,理解四种主流灾备策略的成本与恢复能力差异,是设计业务连续性方案的核心功课。
这四种策略可以按“恢复能力从低到高、成本从低到高”排成一条连续谱:备份与恢复(Backup & Restore)→ Pilot Light(领航灯)→ 温备(Warm Standby)→ 多站点主动-主动(Multi-Site Active/Active)。它们并不是互斥的四选一,而是同一套AWS能力(AMI、快照、CloudFormation、Route 53、Auto Scaling、Aurora Global Database、DynamoDB Global Tables等)在不同“预热程度”下的组合。理解这条谱系,比记住四个名词更重要。
一、备份与恢复:最便宜,也最慢
备份与恢复的核心思路是:生产环境正常运行,灾备区只保存数据副本,不保留任何运行中的计算资源。典型实现是用 AWS Backup 统一编排 EBS 快照、RDS 自动快照、S3 版本控制与跨区域复制,把备份集中存放在灾备区域的 S3 桶或备份保管库中。发生灾难时,从快照恢复卷、从 AMI 启动 EC2、重建数据库,再把 DNS 切过去。
它的成本最低,因为灾备区几乎不产生计算费用,只有存储和跨区域数据传输费用。代价是恢复过程需要人工或脚本介入,RTO 通常在数小时到一天,RPO 取决于备份频率,可能是数小时。适合内部报表、开发测试、合规归档这类中断几小时也不影响业务的系统。
二、Pilot Light:只点亮“领航灯”
Pilot Light 的名字来自燃气热水器的常明火——灾备区只保留最核心、最难重建的部分持续运行,其余部分保持“可快速启动”的状态。最典型的做法是:数据层持续复制(如 Aurora 跨区域只读副本、DynamoDB 全局表),而应用层只保留 AMI、启动模板和 CloudFormation 模板,不运行 EC2 实例。
切换时,用模板在灾备区批量拉起应用服务器,把 Aurora 副本提升为主库,再切换 Route 53。相比备份与恢复,它省去了“从快照重建数据”这段最耗时的过程,RTO 可以压缩到数十分钟到数小时,RPO 降到分钟级。成本约为备份与恢复的 2~3 倍,主要花在数据层持续复制上。
三、温备:全栈就绪,只差扩容
温备可以理解为“Pilot Light 的加强版”:灾备区不仅数据在同步,应用栈也已经完整部署并处于运行状态,只是规模被压到最小。例如生产区跑 10 台 EC2,灾备区只跑 2 台;生产区 Aurora 有 4 个读副本,灾备区只有 1 个。所有配置、安全组、负载均衡器、Auto Scaling 组都已就位。
故障发生时,不需要新建任何资源,只需把 Auto Scaling 组的期望容量调大、把 Aurora 副本提升为主库、切换 DNS。因为省去了资源创建和启动时间,RTO 可以做到分钟级,RPO 为秒级到分钟级。成本约为备份与恢复的 4~6 倍,因为灾备区始终有一份缩容但真实运行的基础设施。温备是大多数“重要但非核心”业务系统的性价比甜点区。
四、多站点主动-主动:成本最高,恢复能力最强
主动-主动模式下,两个或多个区域同时承载生产流量,用户请求通过 Route 53 延迟路由、加权路由或 Global Accelerator 分发到最近或最健康的区域。数据层使用支持双向同步的服务,如 DynamoDB Global Tables、Aurora Global Database 的写转发,或自建基于 Kafka 的双向复制。任一区域故障,流量在秒级内被摘除并导向健康区域,RTO 接近零,RPO 也接近零。
但它的复杂度和成本也最高:需要处理跨区域数据冲突(如最后写入获胜、版本向量)、保证幂等性、统一时钟与序列号、设计全局唯一的 ID 生成,还要应对“脑裂”风险。成本通常是单区域的 8~10 倍以上,因为两个区域都要按生产规模运行。只有支付、交易、核心在线业务这类中断即造成重大损失的场景才值得投入。
五、如何选:从 RTO/RPO 反推策略
选择策略的正确顺序是:先由业务方确认可接受的 RTO 和 RPO,再评估预算上限,最后匹配策略。下面这张对照表可以作为选型起点(成本倍数为相对单区域生产环境的经验估算,仅用于教学示例,实际以账单为准):
| 策略 | 灾备区状态 | 典型 RTO | 典型 RPO | 相对成本 | 典型场景 |
|---|---|---|---|---|---|
| 备份与恢复 | 仅快照/AMI | 数小时~1天 | 数小时 | 约 1x | 内部报表、归档 |
| Pilot Light | 数据层常驻,计算层待启 | 数十分钟~数小时 | 分钟级 | 约 2~3x | 一般业务系统 |
| 温备 | 全栈缩容运行 | 分钟级 | 秒级~分钟级 | 约 4~6x | 重要业务系统 |
| 多站点主动-主动 | 多区同时承载流量 | 秒级~近零 | 近零 | 约 8~10x+ | 支付、交易核心 |
最后要强调:这四种策略不是一次性选择,而是可以随业务演进的。一个系统上线初期用备份与恢复,随着业务重要性提升,逐步升级到 Pilot Light、温备,最终在成为核心链路时升级为主动-主动。关键是让策略与业务价值、RTO/RPO 目标、预算三者保持动态匹配,而不是一开始就追求最高配置。