备份和还原 DynamoDB 表:如何使用 - Amazon DynamoDB
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

备份和还原 DynamoDB 表:如何使用

可以使用按需备份功能创建 Amazon DynamoDB 表的完整备份。此部分概述了备份和还原过程中发生的情况。

Backups

在创建按需备份时,会对请求的时间标记进行编目。通过对上次完整表快照应用直到请求时所做的所有更改,来异步创建备份。备份请求将在瞬间完成处理,几分钟后即可用于还原。

注意

每次创建按需备份时都会备份整个表数据。可以创建的按需备份的数量不受限制。

DynamoDB 中的所有备份都不消耗表上任何预置的吞吐量。

DynamoDB 备份不能保证项目间的因果一致性,但备份中更新之间的偏差通常远远小于一秒。

在备份期间无法执行以下操作:

  • 暂停或取消备份操作。

  • 删除备份的源表。

  • 禁用表的备份 (如果正在备份该表)。

如果您不想创建计划脚本和清理作业,则可以使用 AWS Backup 为 DynamoDB 表创建包含计划和保留策略的备份计划。AWS Backup 运行备份并在备份过期时将其删除。有关更多信息,请参阅 AWS Backup 开发人员指南

您可以通过使用 AWS Lambda 函数来安排定期或未来的备份。有关更多信息,请参阅博客文章用于计划 Amazon DynamoDB 按需备份的无服务器解决方案

如果您使用的是控制台,则使用 AWS Backup 创建的任何备份均将在 Backups (备份) 选项卡上列出且 Backup type (备份类型) 设置为 AWS

注意

您无法使用 控制台删除标有 Backup type (备份类型)DynamoDB 的 AWS 的备份。要管理这些备份,请使用 AWS Backup 控制台。

要了解如何执行设备,请参阅 备份 DynamoDB 表

Restores

对表进行还原,而不消耗表上的任何预置吞吐量。可以从 DynamoDB 备份执行完整表还原,也可以配置目标表设置。在执行还原时,您可以更改以下表设置:

  • 全局二级索引 (GSI)

  • 本地二级索引 (LSI)

  • 计费模式

  • 预置的读取和写入容量

  • 加密设置

重要

在执行完全表还原时,根据请求备份时的记录,目标表被设置为与源表相同的预置读取容量单位和写入容量单位。还原过程还将还原本地二级索引和全局二级索引。

您还可以跨 AWS 区域还原您的 DynamoDB 表数据,以便在备份所在的其他区域中创建还原的表。您可以在 AWS 商业区域、AWS 中国区域和 AWS GovCloud(美国)区域之间执行跨区域还原。只需为从源区域传输的数据以及在目标区域中还原为新表的操作付费。

如果您选择排除在新的还原表上生成某些或所有二级索引,则还原可以更快且更具成本效益。

必须在还原的表上手动设置以下各项:

  • 自动扩展策略

  • AWS Identity and Access Management (IAM) 策略

  • Amazon CloudWatch 指标和警报

  • Tags

  • 流设置

  • 生存时间 ( TTL) 设置

只能从一个备份将整个表数据还原到一个新表。只能在还原的表变为活动状态后,才能向其中写入内容。

注意

在还原操作中不能覆盖现有表。

还原表所用的时间因多个因素而异,并且不一定与表的大小直接相关。DynamoDB 使用并行,可以有效地适应具有简单写入模式的工作负载,并缩短所有大小和数据分配的表中的还原时间。请记住还原时间的以下注意事项:

  • 将备份还原到新表。执行用于创建新表和启动还原流程的所有操作可能最多需要 20 分钟(即使表是空的)。

  • 如果源表包含具有严重偏斜的数据且包含二级索引,则还原的时间可能会增加。例如,如果您的二级索引的键使用一年中的月份进行分区,而您的所有数据都来自 12 月,则您表示数据偏斜。要缩短还原时间,您可以在不包含二级索引的情况下还原表。

要了解如何执行还原,请参阅 从备份还原 DynamoDB 表

您可以将 IAM 策略用于访问控制。有关更多信息,请参阅将 IAM 与 DynamoDB 备份和还原结合使用

所有备份和还原控制台及 API 操作都将被捕获并记录在 AWS CloudTrail 中以用于日志记录、持续监控和审核。