我有一个带有Postgres RDS数据库的AWS账户,该数据库代表应用程序的生产环境。我们还有另一个团队正在另一个AWS账户中构建分析基础架构。他们需要能够从我们的生产数据库中提取数据以充实他们的报告。
从到目前为止的研究来看,似乎有两种选择:
创建一个使用pg_dump
和pg_restore
的CRON计划运行的bash脚本,并将其存储在其中一个帐户的EC2实例上。
按计划自动创建快照,然后将其发送到其他帐户S3存储桶的过程。然后创建一个Lambda(或其他脚本),该快照在将快照放入S3存储桶时触发并还原它。缺点是,每次还原时我们都必须创建一个新的RDS实例(因为您无法将快照还原到现有实例),这将更改数据库的FQDN(我们可以使用Route53和一个CNAME来减轻这种情况)进行更新,但这很复杂)。
在原始AWS账户中创建一个只读副本并为该实例开放安全性,以便他们可以直接访问它(但是我的账户负责与托管和访问它相关的所有费用)。 / p>
这些似乎都不是不错的选择。还有其他方法可以做到这一点吗?