全局表的最佳实践 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

全局表的最佳实践

以下各节介绍用于部署和使用全局表的最佳实践。

版本

DynamoDB 全局表有两个版本可用:版本 2019.11.21(当前版)和版本 2017.11.29(旧版)。您应尽可能使用版本 2019.11.21(当前版)。

删除保护

您应该对要防止意外删除的全局表副本启用删除保护。必须对每个副本启用删除保护。

使用 Amazon CloudFormation

Amazon CloudFormation 目前不支持跨堆栈协调多区域资源,例如全局表。如果您在单独的区域堆栈中定义全局表的每个副本,则由于在执行副本更新时检测到堆栈间存在偏差,您将遇到错误。为避免出现此问题,您应选择一个区域作为部署全局表的参考区域,并在该区域的堆栈中定义全局表的所有副本。

重要

无法通过更改模板中的类型将 AWS::DynamoDB::Table 类型的资源转换为 AWS::DynamoDB::GlobalTable 类型的资源。尝试通过更改单区域表的 CloudFormation 资源类型来将该表转换为全局表,可能会导致 DynamoDB 表被删除。

可以使用 AWS::DynamoDB::GlobalTable 资源在单个区域中创建表。此表将像任何其它单区域表一样进行部署。如果您稍后更新堆栈以将其它区域添加到资源中,则副本将添加到表中,而该表将安全地转换为全局表。

如果您希望将现有的 AWS::DynamoDB::Table 资源转换为 AWS::DynamoDB::GlobalTable 资源,建议按照以下步骤转换资源类型:

  1. AWS::DynamoDB::Table 删除策略设置为保留。

  2. 从堆栈定义中移除该表。

  3. 在 Amazon 管理控制台中将副本添加到单区域表,同时将单区域表转换为全局表。

  4. 将新的全局表作为新的 AWS::DynamoDB::GlobalTable 资源导入到堆栈中。

备份和时间点故障恢复

为全局表中的一个副本启用自动备份和时间点故障恢复(PITR),可能足以实现灾难恢复目标。使用 Amazon-Backup 创建的副本备份可以自动跨区域复制,以提高韧性。在选择备份和 PITR 支持策略时,请考虑多区域高可用性背景下的灾难恢复计划目标。

专为实现多区域高可用性而设计

有关部署全局表的规范性指导,请参阅 DynamoDB 全局表设计的最佳实践