时间点恢复:工作原理
Amazon DynamoDB 时间点恢复 (PITR) 提供 DynamoDB 表数据的自动备份。本部分概述在 DynamoDB 中此过程如何运行。
启用时间点恢复
您可以使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI) 或 DynamoDB API 来启用时间点恢复。启用后,时间点恢复将提供持续备份,直到您明确将其关闭。有关更多信息,请参阅 将 DynamoDB 表还原到某个时间点。
在启用时间点恢复后,您可以还原到 EarliestRestorableDateTime
和 LatestRestorableDateTime
之间的任何时间点。LatestRestorableDateTime
通常比当前时间早 5 分钟。
时间点恢复过程始终还原到新表。
使用时间点恢复来恢复表
对于 EarliestRestorableDateTime
,可以使表还原到最近 35 天中的任何时间点。保留期为固定的 35 天(5 个日历周)并且无法修改。任意数量的用户都可以在给定账户中最多执行四个并行还原(任何类型的还原)。
如果对表禁用了时间点恢复并且稍后重新启用了它,则会重置可以恢复该表的开始时间。因此,您只能立即使用 LatestRestorableDateTime
还原该表。
在使用时间点恢复进行还原时,DynamoDB 基于选定的日期和时间 (day:hour:minute:second
) 的状态将您的表数据还原到新表。
对表进行还原,而不消耗表上的任何预置吞吐量。可以使用时间点恢复执行完整表还原,也可以配置目标表设置。可以在还原的表上更改以下表设置:
-
全局二级索引 (GSI)
-
本地二级索引 (LSI)
-
计费模式
-
预置的读取和写入容量
-
加密设置
在执行完全表还原时,目标表被设置为与源表相同的预置读取容量单元和写入容量单元(在请求备份时)。例如,假设一个表的预配置的吞吐量最近下降到 50 个读取容量单位和 50 个写入容量单位。然后,您将表的状态还原到三周前的状态,表在该时间的预配置吞吐量为 100 个读取容量单位和 100 个写入容量单位。在此情况下,DynamoDB 将表数据还原到该时间点,使用该时间的预置吞吐量(100 个读取容量单位和 100 个写入容量单位)。
还可以跨 Amazon 区域还原您的 DynamoDB 表数据,以便在源表所在的其他区域中创建还原的表。可以在 Amazon 商业区域、Amazon 中国区域和 Amazon GovCloud(美国)区域之间执行跨区域还原。只需为从源区域传输的数据以及在目标区域中还原为新表的操作付费。
如果源区域或目标区域是亚太地区(香港)或中东(巴林)区域,则不支持跨区域还原。
如果您阻止在还原表上创建部分或所有索引,则还原操作会更快且更具成本效益。
必须在还原的表上手动设置以下各项:
-
自动扩展策略
-
Amazon Identity and Access Management (IAM) 策略
-
Amazon CloudWatch 指标和警报
-
标签
-
流设置
-
生存时间 (TTL) 设置
-
时间点恢复设置
还原表所用的时间因多个因素而异。时间点还原用时并不总是直接与表的大小相关。有关更多信息,请参阅还原。
删除已启用时间点恢复的表
删除已启用时间点恢复的表时,DynamoDB 将自动创建一个备份快照(称为系统备份),该备份快照将保留 35 天(无额外费用)。您可以使用系统备份将已删除的表还原到删除点之前此表所处的状态。所有系统备份都遵循 table-name
$DeletedTableBackup
标准命名约定。
一旦删除已启用时间点恢复的表后,您可以使用系统还原将该表还原到刚好删除前的那个时间点。不能将删除的表还原到过去 35 天内的任何其他时间点。