0

我使用 AWS RDS 并拥有 3 个环境:开发、登台和生产(不同的 AWS 账户)我希望能够使用生产中的加扰数据填充开发和登台环境。数据库是加密的,每个都有自己的密钥。我使用 Jenkins(管道)进行自动化

到目前为止我所拥有的:

  • 从 Jenkins 我可以登录到生产 AWS。
  • 在那里,我确定了最新的自动制作的快照aws rds describe-db-snapshots --query="reverse(sort_by(DBSnapshots, &SnapshotCreateTime))[0].DBSnapshotIdentifier
  • 我复制了自动制作的快照:(copy-db-snapshot --source-db-snapshot-identifier ${latestSnapshot} --target-db-snapshot-identifier snapshotToScramble因为您无法复制自动制作的快照)

然后,下一步是将具有正确加密密钥的快照共享或复制到另一个 AWS 账户,该账户可以从此快照恢复数据库。

但我有点坚持复制工作:根据 AWS:“根据所涉及的区域和要复制的数据量,跨区域快照复制可能需要数小时才能完成”。如果我手动创建副本,它只会在 10 分钟后显示。所以我认为使用这种策略不是一个选择:我不想让工作等待 20 分钟,希望复制完成。

我也许可以创建一个自动化作业来每天晚上创建一个手动副本,这样当我开始工作时就已经可以使用了,但是它看起来很丑陋和矫枉过正,我仍然不相信带有加密密钥的副本数据库另一个帐户将起作用 =/

我宁愿将备份提取为 SQL 查询,但我没有看到这样做的选项。

是否有人有这种设置的经验或知道更好的方法。有没有这样做的标准方法?

4

0 回答 0