【问题标题】:Restoring a DynamoDB table using PITR and updating Cloudformation/CDK/other services references使用 PITR 恢复 DynamoDB 表并更新 Cloudformation/CDK/其他服务参考
【发布时间】:2023-01-27 23:15:18
【问题描述】:

我有一个环境,在这个环境中,我的 DynamoDB 表是一些服务(几个 lambdas、kinesis 和 firehoses)的中心。所有这些都由 AWS 的 CloudFormation/Typescript CDK 管理。

该表启用了 PITR,据我所知,只有将恢复的数据转储到新表中才能执行 PITR。这是痛苦开始的地方:

  1. 创建新表后 AWS 的文档不存在!
  2. 如何更新所有其他服务上新表的引用?
  3. 我应该只“擦除”我的旧表并导入恢复的表吗?
  4. 这是否意味着我需要关闭我的服务才能恢复它?
  5. 这里的“标准”或“最佳实践”是什么?

    非常感谢社区! :D

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb amazon-cloudformation aws-cdk pitr


    【解决方案1】:

    是的,您必须恢复到新表。有一些方法可以解决您描述的问题。首先,当您恢复到一个新表时,您需要将 import that resource 添加到您的 CDK 堆栈。

    Parameter Store

    使用参数 Store 保存表的最新名称,所有下游应用程序将通过查询参数存储来解析表名。

    Lambda Env Variable

    将表名动态设置为 lambda 的环境变量,与其他方法相比,这将减少延迟,但它仅适用于 Lambda 或允许您设置环境变量的服务。

    完整性的内联答案

    创建新表后 AWS 的文档是不存在的!

    如果您认为缺少相关信息,请直接在文档页面上分享反馈。

    如何更新所有其他服务上新表的引用?

    上面提到的2个选项是最常见的方法。

    我应该只“擦除”我的旧表并导入恢复的表吗?

    这将导致应用程序停机,如果您负担得起,那么这将是一种简单的方法。如果没有,请遵循上述建议。

    这是否意味着我需要关闭我的服务才能恢复它?这里的“标准”或“最佳实践”是什么?

    是的,如上所述。

    【讨论】:

      猜你喜欢
      • 2020-03-06
      • 2020-05-15
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 2012-09-18
      相关资源
      最近更新 更多