AWS DR 策略选择 - 从 Pilot Light 到 Multi-Site 的分级灾难恢复设计

以 Pilot Light、Warm Standby、Multi-Site Active/Active 各 DR 策略和 Elastic Disaster Recovery 为中心,解析 AWS 提供的灾难恢复选择的广度与灵活性。

DR 策略是成本与恢复速度的权衡

灾难恢复(Disaster Recovery)的设计以 RTO(Recovery Time Objective:恢复时间目标)和 RPO(Recovery Point Objective:恢复点目标)两个指标为轴。RTO 越短,从故障发生到服务恢复的时间越短。RPO 越短,故障发生时丢失的数据量越少。但缩短 RTO 和 RPO 意味着 DR 环境的维护成本增加。AWS 定义了 Backup & Restore、Pilot Light、Warm Standby、Multi-Site Active/Active 四个级别的 DR 策略,可根据业务需求选择最优的成本与恢复速度平衡。这种分级方案已纳入 AWS Well-Architected Framework 的可靠性支柱,提供了系统化的 DR 设计指导。

四级 DR 策略

Backup & Restore 是成本最低的策略。将数据备份保存到另一区域的 S3,故障时从备份重建资源。RTO 为数小时到数十小时,RPO 取决于备份频率。成本仅为备份存储费用,但恢复耗时较长。Pilot Light 是在 DR 区域仅常时运行数据库副本等最小核心组件的策略。故障时启动已停止的应用服务器和负载均衡器。RTO 为数十分钟到数小时,RPO 取决于复制延迟。Warm Standby 是在 DR 区域常时运行生产环境缩小版的策略。故障时扩容以处理生产流量。RTO 为数分钟到数十分钟。Multi-Site Active/Active 是在多个区域同时处理流量的策略。RTO 和 RPO 接近零,但成本最高。

Elastic Disaster Recovery 简化 DR

AWS Elastic Disaster Recovery(DRS)是将本地或其他云的服务器复制到 AWS,并在故障时快速故障转移的托管服务。DRS 在源服务器上安装代理,执行块级持续复制。数据经压缩加密后传输到 AWS,保存在低成本的暂存区域。故障时从暂存区域数据在数分钟内启动 EC2 实例,切换生产流量。DRS 的特点是复制期间成本极低。暂存区域使用低成本 EBS 卷,生产规格的 EC2 实例仅在故障转移时启动。由此可以接近 Pilot Light 的成本实现接近 Warm Standby 的 RTO。定期 DR 演练也可从控制台轻松执行,在不影响生产环境的情况下验证恢复流程。

AWS 的跨区域复制功能

AWS 的主要服务原生提供跨区域数据复制功能。S3 的跨区域复制(CRR)将对象自动复制到另一区域的 S3 存储桶。RDS 的跨区域只读副本在另一区域维护数据库只读副本,故障时可提升为主库。Aurora Global Database 将数据复制到最多 5 个辅助区域,实现亚秒级复制延迟和不到 1 分钟的故障转移。DynamoDB Global Tables 提供多区域主动-主动表复制,各区域均可读写。EBS 快照的跨区域复制、EFS 的跨区域复制、Secrets Manager 的多区域密钥等,数据层 DR 所需功能已内置于各服务中。组合这些原生功能,无需依赖第三方工具即可构建 DR 架构。

Route 53 和 Global Accelerator 的 DR 流量控制

DR 策略的有效性很大程度上取决于故障检测和流量切换的速度。Route 53 通过健康检查功能自动检测端点故障并执行 DNS 故障转移。设置故障转移路由策略后,主区域故障时可自动将流量切换到 DR 区域。但基于 DNS 的故障转移受 TTL 影响,切换可能有数十秒到数分钟的延迟。Global Accelerator 利用 AWS 全球网络提供基于静态 IP 的流量路由。不依赖 DNS TTL,端点故障检测后数十秒内即可将流量切换到其他区域。在 Multi-Site Active/Active 策略中,可通过 Global Accelerator 的流量拨号功能动态控制各区域的流量分配。故障时将故障区域的流量拨号设为 0%,即可立即将流量集中到健康区域。

DR 设计的实践考量

DR 策略的选择应基于业务影响分析(BIA)。定义各工作负载的 RTO 和 RPO,并与管理层就相应的 DR 策略和成本达成共识非常重要。不必对所有工作负载都应用 Multi-Site Active/Active,根据工作负载重要性分级使用策略更为现实。不仅要维护 DR 环境,定期执行 DR 演练也不可或缺。即使恢复流程已文档化,不实际演练在故障时也无法发挥作用。AWS Resilience Hub 是评估工作负载容错性、可视化 RTO 和 RPO 目标达成情况的服务。如果想系统学习 DR 设计模式,相关书籍 (Amazon) 也可供参考。

总结

AWS 系统化定义了 Backup & Restore、Pilot Light、Warm Standby、Multi-Site Active/Active 四级 DR 策略,可根据业务需求选择最优的成本与恢复速度平衡。Elastic Disaster Recovery 是以低成本实现接近 Warm Standby RTO 的托管服务,大幅降低了 DR 的导入门槛。S3 CRR、Aurora Global Database、DynamoDB Global Tables 等主要服务的原生跨区域复制功能完善,可构建不依赖第三方工具的 DR 架构。Route 53 和 Global Accelerator 的流量控制灵活性也是提升 DR 有效性的重要因素。在 DR 策略选择的广度和支撑各策略的服务成熟度方面,AWS 领先于其他云服务商。