使用 AWS Lambda 和 S3 自动化 Amazon RDS 快照和恢复

问题描述 投票:0回答:1

我正在努力建立一个自动化流程来创建和管理 Amazon RDS 生产数据库的快照,以方便在开发环境中进行测试。我计划通过 CloudWatch Events 使用由类似 cron 的计划触发的 AWS Lambda 函数,并将快照存储在 S3 存储桶中。

我目前面临以下方面的挑战:

创建快照:

如何使用 AWS Lambda 创建 Amazon RDS 生产数据库的快照以及如何将其发送到 DEV 数据库? 在此快照创建过程中处理权限和安全性的最佳实践是什么? 使用 CloudWatch Events 进行安排:

使用 CloudWatch Events 安排 Lambda 函数按特定计划(例如每周日)运行的建议方法是什么? 从 S3 存储和检索快照:

如何使用 Lambda 将 RDS 快照上传到 S3 存储桶或从 S3 存储桶下载 RDS 快照? 在这种情况下与 S3 交互时,是否有任何安全和访问控制方面的具体考虑因素? 我感谢任何可以帮助我应对这些特定挑战的见解、最佳实践或代码示例。此外,如果您有任何替代方法来自动执行使用生产数据刷新开发数据库的过程,我愿意接受建议。

感谢您的协助!

amazon-web-services amazon-s3 aws-lambda amazon-rds
1个回答
0
投票

这是一个可以使用 Lambda 和 AWS 开发工具包执行的用例。首先,请查看 AWS 代码库中的 RDS 场景。

这向您展示了如何使用 RDS API 执行各种任务。事实上,您将学习如何执行这些任务:

  1. 返回可用数据库引擎的列表。
  2. 选择引擎系列并创建自定义数据库参数组。
  3. 获取参数组。
  4. 获取组内参数。
  5. 修改auto_increment_offset参数。
  6. 获取并显示更新后的参数。
  7. 获取允许的引擎版本列表。
  8. 获取可用于所选引擎的微实例类列表。
  9. 创建包含MySql数据库并使用参数组的RDS数据库实例。
  10. 等待数据库实例准备就绪并打印出连接端点值。
  11. 创建数据库实例的快照。
  12. 等待 RDS 数据库快照准备就绪。
  13. 删除 RDS 数据库实例。
  14. 删除参数组。

如您所见,除了其他 RDS 任务之外,您还将学习如何创建快照。

因此您可以将此逻辑包装到 AWS Lambda 函数中。至于调度它,请使用 CRON 表达式。这样,您的 Lambda 函数将根据 CRON 表达式被调用。

请参阅代码库中的此用例。正如您所看到的,存在不同的编程语言,因此您可以学习如何使用 Python、Java、C# 等来执行此操作,

开始使用 AWS 开发工具包使用 Amazon RDS 数据库实例

© www.soinside.com 2019 - 2024. All rights reserved.