考题解析 | 使用 AWS Backup 服务定期备份 DynamoDB 表


  题目

A company needs to keep user transaction data in an Amazon DynamoDB table. The company must retain the data for 7 years.
What is the MOST operationally efficient solution that meets these requirements?
A. Use DynamoDB point-in-time recovery to back up the table continuously.
B. Use AWS Backup to create backup schedules and retention policies for the table.
C. Create an on-demand backup of the table by using the DynamoDB console. Store the backup in an Amazon S3 bucket. Set an S3 Lifecycle configuration for the S3 bucket.
D. Create an Amazon EventBridge (Amazon CloudWatch Events) rule to invoke an AWS Lambda function. Configure the Lambda function to back up the table and to store the backup in an Amazon S3 bucket. Set an S3 Lifecycle configuration for the S3 bucket.

  参考答案

B

  需求概括

一家公司需要将用户交易数据存储在 Amazon DynamoDB 表中,并且必须将数据保留 7 年。该公司有在 DynamoDB 表中存储用户交易数据并保留 7 年的需求,需要找出在操作上最有效的解决方案。

  参考解析

技巧:排除明显错误选项,在没有明显错误的选项中选择最合理的选项。

A. 不正确。使用 DynamoDB 按时间点恢复来持续备份表。使用按时间点恢复服务,只能恢复到过去 35 天内的任意时间点,无法满足 7 年的数据保留要求。该选项不符合。
B. 正确。使用 AWS Backup 为表创建备份计划和保留策略。该方案中,AWS Backup 可以方便地创建备份计划并设置保留策略,能够满足 DynamoDB 表数据长期(7 年)保留的需求,在操作上相对简单高效,是合适的解决方案。
C. 不正确。使用 DynamoDB 控制台创建表的按需备份。将备份存储在 Amazon S3 存储桶中。为 S3 存储桶设置 S3 生命周期配置。该方案中,按需备份需要手动操作,对于 7 年的数据保留,缺乏自动化的管理,不是操作上最合适的方案。
D. 不正确。创建 Amazon EventBridge(Amazon CloudWatch Events)规则来调用 AWS Lambda 函数。配置 Lambda 函数来备份表并将备份存储在 Amazon S3 存储桶中。为 S3 存储桶设置 S3 生命周期配置。该方案可以实现自动化备份,但相比 AWS Backup 这种专门的备份服务,配置和管理更复杂,需要编写和维护 Lambda 函数代码,操作效率不如 AWS Backup 高。

  技术总结

DynamoDB 按时间点恢复(DynamoDB point - in - time recovery):它主要用于持续备份表,以防止意外数据丢失或损坏,可恢复到过去 35 天内的任意时间点,但无法满足长期(7 年)的数据保留需求。
AWS Backup:是一个集中式的备份服务,可以创建备份计划、设置保留策略,能方便地管理不同 AWS 资源(包括 DynamoDB 表)的备份,适合长期数据保留场景。
DynamoDB 控制台按需备份(Create an on - demand backup of the table by using the DynamoDB console):需要手动触发备份操作,对于长期(7 年)的数据保留,操作效率较低,且缺乏自动化的管理。
Amazon EventBridge(Amazon CloudWatch Events)与 AWS Lambda 结合:通过创建规则触发 Lambda 函数来执行备份操作,虽然可以实现自动化备份,但相比专门的备份服务,配置和管理更复杂,操作效率不是最优。
Amazon S3 生命周期配置(S3 Lifecycle configuration):用于管理 S3 存储桶中对象的生命周期,例如自动将对象转移到不同存储类或过期删除,可用于长期存储备份数据并控制成本。