【发布时间】:2019-02-21 00:52:43
【问题描述】:
我正在尝试编写将在 AWS Lambda 中运行的 Python 脚本,备份托管在 Amazon RDS 中的 PostgreSQL 数据库表,然后转储生成的 .bak 文件或类似于 S3 的文件。
我能够连接到数据库并对其进行更改,但我不太确定如何进行下一步。我如何实际备份数据库并将其写入 S3 存储桶中的备份文件?
【问题讨论】:
标签: python postgresql amazon-s3 aws-lambda
我正在尝试编写将在 AWS Lambda 中运行的 Python 脚本,备份托管在 Amazon RDS 中的 PostgreSQL 数据库表,然后转储生成的 .bak 文件或类似于 S3 的文件。
我能够连接到数据库并对其进行更改,但我不太确定如何进行下一步。我如何实际备份数据库并将其写入 S3 存储桶中的备份文件?
【问题讨论】:
标签: python postgresql amazon-s3 aws-lambda
根据您的数据库有多大,lambda 可能不是最佳解决方案。 lambda 限制为 512MB tmp 磁盘空间、15 分钟超时和 3008 MB 内存。最大化这些限制也可能比其他选项更昂贵。
将 EC2 或 fargate 与 boto 或 aws cli 一起使用可能是更好的解决方案。这是一个介绍解决方案的博客条目
https://francescoboffa.com/using-s3-to-store-your-mysql-or-postgresql-backups
【讨论】:
对我有用的方法是创建一个 AWS 数据管道来将数据库备份到 CSV。
【讨论】: