为 Amazon DynamoDB 工作负载选择灾难恢复策略
在选择 DynamoDB 灾难恢复策略之前,您必须定义业务恢复要求。这种初步分析可以防止代价高昂的过度设计,同时有助于确保您满足关键的业务连续性需求。最佳方法是平衡四个关键因素:恢复速度、数据丢失容忍度、实施复杂性和运营成本。
让我们来了解影响灾难恢复策略的两个关键指标:
-
恢复时间目标(RTO):表示服务中断和还原之间可接受的最大延迟。RTO 回答了这样一个问题:我们能承受多长时间的停机? 这可能从零(需要持续可用性)到数小时不等,具体取决于业务需求。
-
恢复点目标(RPO):表示自上一个数据恢复点以来可接受的最长时间。RPO 回答了这样一个问题:我们可以承受损失多少数据? 例如,如果您的 RPO 为 1 小时,则灾难恢复解决方案必须确保您可以将数据恢复到事件开始前不超过 1 小时的时间点。
DynamoDB 灾难恢复策略的选择应基于以下因素:
服务中断的业务影响分析
不同灾难场景的风险评估
实施每个灾难恢复选项的成本
数据保护和可用性的监管要求
选择 DynamoDB 灾难恢复方法时的决策要点
在选择适当的 DynamoDB 灾难恢复方法时,必须评估您的具体业务需求、风险承受能力、监管要求和预算限制。
对于零停机时间要求,即停机期间的收入损失大大超过额外的运营成本,全局表 [包括多区域强一致性(MRSC)表] 架构提供了即时恢复功能。虽然这些解决方案的运营成本更高,但它们提供了即时失效转移和持续可用性,因此对于停机时间直接影响收入流的任务关键型应用程序来说,它们至关重要。
如果应用程序在恢复场景中可以容忍数小时的停机时间,则预算有限且恢复要求灵活的组织可以使用更经济实惠的解决方案。按需备份、AWS Backup 或 Amazon Simple Storage Service 导出策略可显著降低运营成本,同时接受更长的恢复时间范围。这些方法非常适合业务连续性很重要但立即恢复操作在经济方面不合理的应用程序,允许在保护与成本优化之间取得平衡。
监管合规要求需要自动化解决方案来确保审计准备就绪和适当的数据留存策略。支持跨区域复制的 AWS Backup 可提供全面的合规自动化,同时保持较高的成本结构。这种方法提供了监管框架所需的文档、留存策略和地理分布,同时减少了手动合规性开销,并有助于确保整个组织的备份过程保持一致。
针对人为错误场景提供保护(例如意外删除或数据损坏等),将时间点故障恢复(PITR)与删除保护相结合,可在单个区域内提供持续保护。虽然此解决方案可以很好地防止操作失误并保持合理的成本,但您必须接受单区域限制,并针对涉及区域中断或基础设施故障的真正灾难恢复场景规划其他策略。
灾难恢复选项
DynamoDB 提供了备份和还原表数据的选项,可针对各种故障场景提供恢复能力。有四种主要的灾难恢复解决方案可以满足不同的需求:
时间点故障恢复(PITR),可实现持续数据保护
按需备份和还原,实现灵活保护
计划备份和还原,实现自动定期保护
用于即时恢复任务关键型工作负载的全局表
| 备份类型 | 备份选项 | 功能 | RPO | RTO | 备份可用性 | 月度备份成本 | 一次性还原成本 |
|---|---|---|---|---|---|---|---|
|
持续数据保护 |
PITR |
连续备份最多保留 35 天,在配置的备份时段中的任何时刻,都可以在几秒钟内完成 PITR |
秒 |
分钟 |
仅限单个 AWS 区域 |
每月每 GB 0.20 美元 |
每 GB 0.15 美元 |
|
按需保护 |
按需备份和还原 |
按需流程 |
小时 |
分钟 |
单个 AWS 区域 |
每月每 GB 0.10 美元 |
每 GB 0.15 美元 |
|
计划备份和还原 |
AWS Backup |
灵活的计划选项(每小时到每月) |
小时 |
分钟 |
支持跨区域备份 |
每月每 GB 0.10 美元 |
每 GB 0.15 美元 |
|
Amazon S3 导出和导入(启用 PITR) |
将 PITR 时段内的完整数据或增量数据导出到存储桶 |
分钟 |
小时 |
可以跨区域备份到存储桶 |
每 GB 0.10 美元 |
每 GB 0.15 美元 |
|
|
能够即时恢复任务关键型工作负载 |
全局表 |
完全托管的解决方案,多区域、多活表 |
秒 |
零 |
在几毫秒内自动将数据更改从主区域传播到辅助区域 |
每百万个复制的写入请求单元 0.625 美元 |
0 |
|
MRSC 表 |
完全托管的解决方案,多区域、多活表,具有强一致性 |
零 |
零 |
自动将数据更改从主区域实时传播到辅助区域 |
每百万个复制的写入请求单元 0.625 美元 |
0 |
注意
上表中显示的成本基于弗吉尼亚北部区域按需容量的 DynamoDB 定价
使用 PITR 进行持续数据保护
想象一下,一家电子商务零售商使用 DynamoDB 管理库存、维护产品目录和处理订单。在为黑色星期五活动做准备时,开发团队不小心删除了他们的产品目录。他们可以使用 PITR,在 30 分钟内将数千条记录还原到事发前的确切时刻,从而防止数百万美元的潜在收入损失。
启用 PITR 后,DynamoDB 会以每秒粒度自动备份您的表数据。在所配置的恢复期内,您可以将表还原到任意给定的秒,还原时间范围为 1-35 天。值得注意的是,缩短保留期并不能降低成本,延长保留期也并不会产生额外成本。PITR 功能具备精细恢复能力,且 RPO 极低(数秒)和 RTO 合理(数分钟至数小时),能够满足各种灾难恢复要求。真实场景表明,无论是防范人为误操作、应用程序故障,还是满足严格的监管要求,PITR 凭借其极低的 RPO 和合理的 RTO,都能将潜在的业务灾难转化为可管理的恢复操作。
要了解更多信息,请参阅在 DynamoDB 中启用时间点恢复,其中详细说明了如何使用 CloudFormation、AWS CLI 和 DynamoDB API 配置 PITR 和还原表。
使用按需备份和还原实现灵活保护
假设一家医疗服务提供商计划进行一次重大的电子健康记录(EHR)系统迁移。在整个迁移过程中会使用里程碑备份,这使他们能够满足严格的 HIPAA 要求,同时为其法律团队提供不可更改的审计证据。如果在迁移过程中出现合规性问题,他们可以演示准确的数据处理程序并还原到任何合规检查点,从而保护患者数据并确保监管合规。
使用 DynamoDB 按需备份功能,您可以根据需要创建备份和还原表。按需备份以异步方式运行,可捕获直至提出备份请求那一刻的所有更改。按需备份功能使您可以精确控制自己的数据保护策略,同时支持各种运营要求和合规性要求。
按需备份和还原可在同区域场景和跨区域场景中提供灵活的表还原功能,为您提供多种还原选项。为了增强业务连续性,无论表大小如何,DynamoDB 都能即时完成备份,而同区域还原可提供最佳性能,从而最大限度地缩短恢复时间并最大限度地提高操作可用性。
通过实施每日备份策略,您可以全天候实现可靠的 RPO,以及数分钟到数小时的可预测 RTO。通过使用这种结构化的数据保护方法,您可以有效地规划和执行备份和恢复策略,同时维持业务运营。
要了解有关 DynamoDB 备份和还原操作的更多信息,请参阅备份 DynamoDB 表和从备份还原 DynamoDB 表。
使用计划备份和还原实现自动定期保护
DynamoDB 提供了多种保护机制,这些机制可以通过计划的工作流实现自动化,包括带有用于运营恢复的可自定义备份计划的 AWS 备份,以及用于长期存档、跨区域数据迁移和连续运营的 Amazon S3 导出功能。通过实施这些自动化的定期保护计划,您可以确保在无需手动干预的情况下实现一致的数据保护,同时平衡恢复目标与存储成本。
使用 AWS Backup 和备份计划进行备份和还原
以一家业务遍布 15 个国家/地区的跨国银行为例,该银行需要为其基于 Amazon DynamoDB 的欺诈检测系统添加企业级保护;该保护可以适应不同司法管辖区的不同监管要求,同时确保持续可用性。
利用 AWS Backup 的多区域复制和跨账户功能,该银行实施了一种保护架构,该架构可以自动跨区域复制关键交易数据,同时对其他业务部门保持严格的访问控制。当三个国家/地区的监管机构同时要求提供历史交易数据进行合规审计时,该银行的标准化备份策略和详细的审计跟踪记录使他们能够在数小时而不是数周内提供完整的文档。
借助 AWS Backup,您可以定期备份特定 AWS 账户中的数据。利用备份计划,您可以按需将这些备份复制到不同的区域,也可以将备份作为定期备份计划的一部分自动复制。备份计划提供灵活的计划选项,因此您可以根据需要选择频率:每小时、每 12 小时、每天、每周或每月。DynamoDB 备份将根据所选频率进行跨区域复制。
AWS Backup Vault Lock 强制执行一次写入多次读取(WORM)读取备份,以帮助保护备份库中的备份(恢复点)免受无意或恶意操作的侵害,并提供针对勒索软件攻击的保护。可以实现 1 小时的 RPO 以及数分钟到数小时的 RTO,具体视表大小而定。
要了解 AWS Backup 如何与 DynamoDB 集成,以及了解备份功能和最佳实践,请参阅将 AWS Backup 与 DynamoDB 结合使用。
Amazon Simple Storage Service(Amazon S3)导出和导入
想象一下,一家全球金融服务公司需要满足多个司法管辖区对交易数据的监管要求,同时保持 99.99% 的可用性。这家公司可以围绕 Amazon S3 的导出和导入功能制定企业数据战略,实施跨区域数据复制,以便遵守 12 个国家/地区的数据主权法律,并建立区域失效转移机制。如果欧洲发生中断,这些系统将自动执行失效转移程序,这有助于确保交易零中断和持续运营。
该公司使用了导出/导入到 Amazon S3 功能,每天进行完整备份,并按小时进行增量导出。这些数据被分别存入所有 12 个区域中特定司法管辖区的 Amazon S3 存储桶,从而确保遵守本地数据驻留要求。每个区域表都会自动将交易数据导出到同一司法管辖区内的加密存储桶,而跨区域复制则为关键数据集提供了额外的冗余。导出不会消耗读取容量单位(RCU),且对表的性能或可用性没有影响。如果公司运营的某个区域出现故障,自动恢复程序可以将最新的导出内容还原到备用区域,从而恢复全面的交易业务。这种导出/导入策略通过不可篡改的审计跟踪记录和强大的灾难恢复功能来实现监管合规,使公司能够保持持续运营,同时保留完整的交易历史记录。这些历史记录可以还原到任何可用区域的新表中,从而有助于确保在区域基础设施发生故障期间将数据丢失和停机时间降至最低。
使用 DynamoDB 导出到 Amazon S3 功能,可以在 PITR 时段内的某个时间点从 DynamoDB 表导出数据。可以实现数分钟的 RPO 以及数分钟到数小时的 RTO,具体视表大小而定。
有关配置导出的详细实施指南,请参阅在 DynamoDB 中请求表导出。有关恢复运营和从中导入数据,请参阅在 DynamoDB 中请求表导入。
使用全局表即时恢复任务关键型工作负载
DynamoDB 全局表可在主区域中断期间提供强大的失效转移功能;应用程序可以立即将流量重定向到健康区域并继续运营。全局表有两个选项:多区域最终一致性(MREC)和多区域强一致性(MRSC)。
多区域最终一致性
想象一下,一家为北美、欧洲和亚太地区的数百万客户提供服务的跨国电子商务服务如果没有适当的全球基础设施,可能会面临重大的运营挑战。该公司可能会面临国际客户结账缓慢、跨多个司法管辖区的复杂合规要求,以及区域故障期间服务频繁中断等问题。通过实施 DynamoDB 全局表,他们可以实现运营转型:通过超低延迟的本地数据访问,东京客户将体验到与纽约客户一样快如闪电的结账速度。如果恶劣的天气事件干扰了他们的主要区域,他们的应用程序可以无缝失效转移到另一个区域(客户不会注意到中断),从而保持高可用性,改善全球读写延迟,支持其运营地区的监管合规性,并有信心扩展到新市场,因为他们知道自己的基础设施在满足当地要求的同时,能够在全球范围内可靠地扩展。
DynamoDB 全局表是一个完全托管式、多区域、多活数据库解决方案,旨在为大规模的全局应用程序提供快速、本地化的读取和写入性能。为实现灾难恢复,您可以指定希望表可用的主区域和灾难恢复区域。DynamoDB 会自动将正在进行的数据更改从主区域传播到灾难恢复副本。通过设置 MREC,您可以实现数秒钟的 RPO 和零 RTO。
有关创建和管理 DynamoDB 全局表的指南,请参阅全局表 - DynamoDB 的多区域复制。
多区域强一致性
想象一下,一个领先的数字银行平台每天在三大洲处理数百万笔交易,在交易高峰时段可能会出现严重的区域中断。他们的架构可以在数秒钟内激活灾难恢复,将流量无缝重定向到健康区域(客户不会注意到中断),而不是争先恐后地使用手动灾难恢复程序以及面临数百万美元的潜在损失。该银行的移动应用程序可以继续实时处理贷款申请,其交易平台将保持高频交易的毫秒级响应时间,并且所有区域的客户账户余额将保持完美同步。
可以使用多区域强一致性全局表来构建 RPO 为零的应用程序。RPO 为零表示应用程序可以读取最新版本的 DynamoDB 数据,即使应用程序中断需要您将流量转移到其他区域也是如此。
注意
为进行灾难恢复,您可以使用两个副本和一个见证区域。
有关创建 MRSC 全局表的更多信息,请参阅全局表工作原理。