【发布时间】:2019-12-02 21:27:20
【问题描述】:
我有一个带有 Postgres RDS 数据库的 AWS 账户,该数据库代表应用程序的生产环境。我们有另一个团队正在另一个 AWS 账户中构建分析基础设施。他们需要能够从我们的生产数据库中提取数据来完善他们的报告。
从我目前的研究来看,似乎有两种选择:
创建一个 bash 脚本,该脚本在使用
pg_dump和pg_restore的 CRON 计划上运行,并将其存储在其中一个账户中的 EC2 实例上。按计划自动化创建快照的过程,然后将其发送到其他账户 S3 存储桶。然后创建一个 Lambda(或其他脚本),在将快照放入 S3 存储桶时触发并还原它。这样做的缺点是我们必须在每次还原时创建一个新的 RDS 实例(因为您无法将快照还原到现有实例),这会更改数据库的 FQDN(我们可以使用 Route53 和 CNAME 来缓解)会更新,但这很复杂)。
在原始 AWS 账户中创建一个只读副本并为该实例打开安全性,以便他们可以直接访问它(但我的账户负责与托管和访问它相关的所有成本)。
这些似乎都不是好的选择。有没有其他方法可以做到这一点?
【问题讨论】:
标签: postgresql amazon-web-services aws-lambda amazon-rds