通过启动表还原进行恢复
使用 PITR,您可以将表还原到 PITR 恢复时段中的任意特定秒。PITR 恢复时段从启用 PITR 的时间开始,最多可保存 35 天的历史记录。您也可以将其配置为较短的时长。
启动完整 PITR 表还原时,请考虑以下几点:
-
还原操作会创建一个新表。表还原操作不能在原始表之上就地运行。要了解就地选项,请参阅对不需要的写入进行就地回滚来完成恢复。
-
您可以还原到相同区域或不同区域中的新表。还原到其他区域会产生数据传输费用。
-
无论是否使用二级索引,您都可以还原表。不使用二级索引进行还原速度会更快,更具成本效益。
-
还原可能需要几个小时的时间才能完成。还原时间因多种因素而异,并不总是与表大小相关。
PITR 表还原后,您可以将新表投入使用来完全替代原始表。您也可以将其与原始表进行比较来找出差异。要了解更简单的方法,请参阅对不需要的写入进行就地回滚来完成恢复。
将还原的表投入使用时,请注意以下几点:
-
对于基础设施即代码环境(Amazon CloudFormation、Amazon Cloud Development Kit(Amazon CDK)、Terraform),请在 IaC 环境中采用还原后的表以便将其纳入管理中。
-
更新客户端连接以使用新表的新名称进行引用。
-
如果原始表上有流设置,请重新添加这些设置。DynamoDB 流名称包含流的创建时间,因此新流的名称与旧流的名称不同。在 IAM 或下游使用器代码中,更新对旧流名称的所有引用。
-
如果原始表上启用了 PITR,请在新表上重新启用 PITR。
-
如果原始表上启用了删除保护,请在新表上重新启用删除保护。
-
如果原始表中有标签,请在新表上重新添加标签。
-
如果原始表上有基于资源的策略(RBP),请在新表上重新添加 RBP。
-
更新引用原始表的所有跨账户访问 IAM 策略。
-
调整新表上的自动扩缩设置。
-
如果原始表上启用了 TTL,请在新表上设置 TTL 属性。
-
如果原始表具有自定义表类,请调整新表上的表类。
-
检查新表上的热吞吐量设置,并根据需要提高读取和写入值。
-
如果原始表是全局表,请为新表添加副本以匹配原始表。
-
在对还原的表完成了全部配置并投入使用后,删除原始表。
如果还原的是 MRSC 全局表,则无法将新还原的表转换为 MRSC 表,因为只有空表才能成为 MRSC 表。一种解决方案是还原表,然后将还原后的表中的数据复制到空 MRSC 表中。