我使用AWS RDS并具有3个环境:开发,登台和生产(不同的AWS账户) 我希望能够使用生产中的混乱数据填充开发和登台环境。 数据库是加密的,每个数据库都有自己的密钥。 我使用Jenkins(管道)进行自动化
到目前为止我所拥有的:
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查询,但我看不到这样做的选项。
有人有这样的设置经验或知道更好的方法吗?有什么标准的方法吗?