定义 RTO、RPO 和恢复层级
按关键程度对工作负载进行分类,分配 RTO 和 RPO 目标,并将其映射到适当的 Azure 恢复功能和复制频率。
定义 RTO、RPO 和恢复层级 是 CoddyKit 上的免费 Azure Fundamentals 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Azure Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Azure Fundamentals 课程共包含 4 节课。
业务连续性规划基础
业务连续性规划 (BCP)是确保关键业务功能在灾难期间及灾难之后仍能持续运行的过程。在云计算中,这意味着设计能够在可接受的时间和数据丢失范围内从故障中恢复的系统。两个关键指标——RTO 和 RPO——定义了每种工作负载的“可接受”标准。
恢复时间目标 (RTO)
恢复时间目标 (RTO)是系统在灾难发生后可以离线的最长可接受时间。它回答了这样一个问题:“业务最多能容忍此应用程序中断多长时间?”RTO 以时间表示,可以是小时、分钟或秒。支付处理系统的 RTO 可能是 15 分钟,而内部 HR 门户的 RTO 可能是 24 小时。
# RTO examples by workload type:
# Payment processing: RTO = 15 minutes
# E-commerce storefront: RTO = 1 hour
# Internal reporting: RTO = 4 hours
# Archive/audit data: RTO = 24 hours
# Shorter RTO = more expensive architecture required
# (warm standby, active-active, auto-failover)恢复点目标 (RPO)
恢复点目标 (RPO)是以时间衡量的最大可接受数据丢失量。它回答了这样一个问题:“业务最多能承受丢失多少数据?”如果 RPO 为 1 小时,业务就接受最多丢失 1 小时的交易数据。RPO 决定了必须以多高的频率备份或复制数据。RPO 为 0 要求同步复制,这种方式成本高,并且可能影响写入性能。
# RPO examples:
# Financial transactions: RPO = 0 (no data loss tolerated)
# E-commerce orders: RPO = 5 minutes
# User-generated content: RPO = 1 hour
# Configuration/metadata: RPO = 24 hours
# Shorter RPO = more frequent replication or synchronous writes
# = higher cost and possibly higher latencyRTO 与 RPO:关键区别
请务必区分 RTO 和 RPO:
- RTO关注的是时间——系统中断了多长时间
- RPO关注的是数据——丢失了多少数据
系统可能具有较短的 RTO(恢复速度快),但 RPO 较长(接受较大的数据丢失量),也可能相反。理想情况是两者都较短,但要实现这一点,需要在复制和温备容量方面投入大量资金。
按关键性对工作负载分类
并非所有工作负载都具有相同的关键性。一种常见做法是根据业务影响将工作负载划分为不同的恢复层级:
- 第 1 层(任务关键型)——严格的 RTO/RPO,成本最高(例如支付系统、交易平台)
- 第 2 层(业务关键型)——中等的 RTO/RPO(例如 CRM、ERP)
- 第 3 层(非关键型)——较宽松的 RTO/RPO,成本最低(例如开发环境、存档)
将层级映射到 Azure 恢复选项
不同的恢复层级对应不同的 Azure 功能:
- 第 1 层——Cosmos DB 多区域写入、SQL 自动故障转移组、双活架构、Traffic Manager
- 第 2 层——使用 Azure Site Recovery 恢复到辅助区域、SQL 地理复制(只读副本)、保留 30 天的每日备份
- 第 3 层——使用每周计划的 Azure Backup、不进行复制、从快照还原
计算停机成本
要证明低 RTO 架构的投资合理性,请计算该工作负载的停机成本。其中包括收入损失、向客户支付的 SLA 赔偿、员工生产力损失以及声誉损害。如果停机 1 小时的成本为 500,000 美元,那么每月投入 50,000 美元建立双活架构就很容易证明是合理的。请使用这些数据,为适当的恢复层级制定业务论证。
# Cost of downtime formula:
# Hourly revenue at risk + (staff hours idle x hourly rate)
# + SLA penalty exposure + estimated reputational cost
# Example:
# Revenue: $100,000/hour
# Staff: 500 people x $60/hour = $30,000/hour idle
# SLA penalties: $5,000/hour
# Total cost of downtime: ~$135,000 per hour第 2 层的 Azure Site Recovery
Azure Site Recovery (ASR) 是在 Azure 上实现第 2 层 RTO/RPO 目标的主要服务。ASR 会持续将 VM 复制到辅助区域,并可在几分钟内启动故障转移。Azure VM 的复制频率为每 30 秒一次(崩溃一致),或每 1–4 小时一次(应用程序一致),因此 RPO 通常处于相应范围内,具体取决于配置。
# Enable replication for a VM with ASR:
az site-recovery protected-item create \
--resource-group myRG \
--vault-name myRecoveryVault \
--fabric-name 'Primary' \
--container-name 'asr-a2a-default-eastus-container' \
--protected-item-name myVM-protectedRPO 与备份频率
对于 RPO 以小时为单位的工作负载,使用适当计划的 Azure Backup 就足够了。例如,RPO 为 4 小时,就要求备份间隔最长为 4 小时。Azure Backup 支持增强策略,可以为 Azure VM 设置每小时备份计划。对于数据库,使用带事务日志备份的时间点还原 (PITR),可以以低于 ASR 的成本实现小于 1 小时的 RPO。
记录 RTO 和 RPO 承诺
RTO 和 RPO 目标应在业务影响分析 (BIA)中正式记录,并由技术和业务相关方共同审查。BIA 会将每个应用程序映射到相应的恢复层级,记录 RTO/RPO 目标,确定负责实现这些目标的 Azure 服务,并规定测试计划(通过演练验证 DR 计划的频率)。
针对 RTO/RPO 目标进行测试
在通过DR 测试验证之前,RTO 和 RPO 目标都只是期望值。在 DR 测试期间,请测量实际恢复时间(是否达到规定的 RTO?)以及恢复点的实际数据丢失量(是否达到规定的 RPO?)。如果测试发现差距,请更新架构或流程,直到目标能够持续实现。请记录测试结果,以便通过合规审计。
快速检查
请测试您对本课 Microsoft Azure 基础知识 (AZ-900) 概念的理解。
课程回顾
本课您学到了:RTO是最大可接受停机时间,而RPO是以时间衡量的最大可接受数据丢失量;工作负载会被划分为与特定 Azure 服务相对应的恢复层级;并且测试对于验证 RTO/RPO 目标是否可实现至关重要。接下来,我们将学习使用 Azure Site Recovery 制定恢复计划和执行自动故障转移。
常见问题解答
「定义 RTO、RPO 和恢复层级」课时是免费的吗?
是的 — 「定义 RTO、RPO 和恢复层级」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Azure Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Azure Fundamentals 课程共包含 4 节课。
「定义 RTO、RPO 和恢复层级」这节课中我会学到什么?
按关键程度对工作负载进行分类,分配 RTO 和 RPO 目标,并将其映射到适当的 Azure 恢复功能和复制频率。 你通过在浏览器中直接运行的动手代码来练习 Azure Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Azure Fundamentals 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Azure Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「定义 RTO、RPO 和恢复层级」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Azure Fundamentals 课中编写并运行代码吗?
能。每节 Azure Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 定义 RTO、RPO 和恢复层级
- 恢复计划与自动故障转移
- 无影响的 DR 测试
- PaaS 服务的 DR