克隆两个AWS EB环境之间的RDS

时间:2017-07-12 13:08:19

标签: amazon-web-services elastic-beanstalk amazon-rds

我有两个环境的Elastic Beanstalk应用程序: env1 env2 每个环境都有自己的RDS实例(Postgres), db1 和< em> db2 分别。我需要以编程方式将 db1 克隆到 db2 。也就是说,在执行&#34;克隆&#34;之后,这两个数据库具有相同的内容( db2 中的原始内容可以被删除)。

如果在任务执行期间更改了 db1 db2 不必遵守这些更改,也就是说,当 db2时,它是正常的内容在任务开始之前等于 db1 内容,而不是在完成之后。

我发现了三件事:

  1. 数据库复制无法解决我的问题。我不希望一直同步两个数据库。我只是想让他们成为&#34;同步&#34;执行任务后,他们可以分道扬。
  2. 我能够通过以下方式解决我的问题:a)创建 db1 的快照,b)更改 db2 的实例标识符,c)从快照恢复数据库实例来自a)与b)的原始标识符。这解决了这个问题,但是即使对于非常小的数据库也需要很长时间(由于环境变化,实例重启等,有10-20分钟的开销)。 (注意:必须重命名和启动新实例,因为RDS无法从快照恢复现有实例。)
  3. 执行 db1 的转储并将其加载到 db2 ... 如何执行此操作?我有一个有权访问的AWS用户两个EB应用程序环境(在 env1 中有 db1 的凭据,在 env2 中有 db2 的凭据)。如果我不必通过互联网发送转储,我更愿意。
  4. 有没有更好的方法?
  5. 我希望我能清楚地解决这个问题。谢谢你的任何建议。

0 个答案:

没有答案