DynamoDB 备份

DynamoDB backup

我正在研究如何使用 Lambda 函数备份 DynamoDB。我的目标是:

  1. 备份数据库。
  2. 将备份存储在其他帐户中。

我已经设法使用 boto3 和 create_backup() 调用完成了第一次。第二部分是我被困的地方。我找不到下载备份并将其存储在其他地方的方法。

我也研究过 export_table_to_point_in_time(),但这些导出不能用于恢复我所看到的 table。

是否可以通过任何方式从 table 创建备份并将其存储在不同的帐户中,最好使用 Lambda 函数?

导出

转到 DynamoDB table 页面中的“导出和流”选项卡

点击“导出到 S3”按钮

Select 您要导出到的 S3 存储桶

这里有两个选择。

  1. 您可以在选择S3 bucket的时候选择不同的AWS账户,并根据该账户赋予权限
  2. 您可以导出到当前账户中存在的 S3 存储桶并启用 CRR(跨区域复制)以将对象复制到另一个账户

恢复

在 DynamoDB 控制台中选择备份部分

在备份列表中,选择备份并单击恢复

输入要恢复的新table名称

您还可以排除在新恢复的 table 上创建二级索引。此外,您还可以指定不同的加密模式。

使用 AWS Backup 服务。

它支持 EC2、EBS、RDS、Dynamo、S3(预览版)等的备份。 使用 AWS Backup,您可以:

  • 安排定期或未来备份
  • 为您的备份设置时间表和保留策略
  • 跨 AWS 服务集中和自动化数据保护
  • 随时恢复备份
  • 对备份应用策略(例如限制备份删除)
  • 设置跨账户备份

为了 restore a backup,您 select 备份并输入 table 的名称,如果要创建新的 table,则输入新名称: