![](/img/trans.png)
[英]Migrating data from live RDS database instance associated with one AWS account to a new RDS database instance associated with another AWS account
[英]How do I move data from RDS of one AWS account to another account
不久前,我们在 AWS 上设置了 web 服务和数据库,应用程序现已投入生产。 出于某种原因,我们需要终止旧的 AWS 并将所有内容移动到新创建的 AWS 帐户下。 应用程序和所有基础设施都非常简单。 但是数据比较棘手。 当前的数据库每天仍在接收大量数据。 所以最好在我们关闭旧应用程序并切换到新平台后迁移数据。
源 RDS 和目标 RDS 都是 Postgres。 我们有大约 40GB 的数据要传输。 我可以想到三种方法,它们都有缺点。
serial
(自动递增)的代理行 ID。 导出的 csv 的行 ID 可能与新 RDS 表中的现有数据冲突。我想知道是否有更好的方法来做到这一点。 也许 AWS 拥有的某些 ETL 工具确实点对点直接传输,而不涉及使用本地计算机作为中间点。
到 2022 年,完成此任务的最简单方法是使用 AWS 数据库迁移服务 (AWS DMS)。
您可以创建迁移任务,将原数据库设置为源端点,将新数据库设置为目的端点。
接下来创建一个具有“满载,持续复制”设置的任务。
更多细节在这里: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html
我最近使用 Bucardo ( https://bucardo.org/ ) 将 RDS 的数据从一个帐户移动到另一个帐户。 请参考以下博客
https://www.compose.com/articles/using-bucardo-5-3-to-migrate-a-live-postgresql-database/
https://bucardo.org/pipermail/bucardo-general/2017-February/002875.html
虽然这并没有准确提到两个 RDS 帐户之间的迁移,但这可能有助于设置。 我们仍然需要一些中间点,例如 EC2 实例,我们需要在其中配置此 Bucardo 并在帐户之间迁移数据。 如果您正在寻找更多信息,我很乐意为您提供帮助。
简而言之,我们需要对源数据库进行手动快照并将其恢复到另一个帐户 ( https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html ) 并在其中设置 Bucardo EC2 实例,我们可以开始使用触发器同步数据,这将更新目标数据库中的数据,然后新数据进入源数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.