![如何在不丢失数据的情况下更改 RDS KMS 密钥?](https://linux22.com/image/725063/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E4%B8%A2%E5%A4%B1%E6%95%B0%E6%8D%AE%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E6%9B%B4%E6%94%B9%20RDS%20KMS%20%E5%AF%86%E9%92%A5%EF%BC%9F.png)
我们在 AWS RDS 上托管了一个 PostgreSQL 数据库。使用 cloudformation 创建数据库时,我将其设置为加密,但没有设置加密密钥。因此,它被设置为使用默认加密密钥。
后来我得知,公司有一个标准,即所有 RDS 实例都应该有自己的密钥。
我已经使用 cloudformation 创建了新密钥并将其与 RDS 实例关联,但是当我部署此模板时,它想要删除并重新创建数据库。
我不太了解这一切是如何运作的,而且我正在寻找一种不会导致数据丢失的程序。如果需要的话,一点停机时间不会对我们造成伤害。
答案1
使用 RDS 很容易。您将有一些停机时间,具体取决于数据量。对于小型实例,停机时间为一小时,对于大型实例,停机时间为一天。好处是,创建快照后,您可以独立测试而不会影响您的实例。
一切都在 AWS RDS 控制台中执行。
1)创建您的 RDS 实例的快照。
2)复制快照并选择新的主密钥。
3)从快照恢复实例或创建新实例。
注意:对于修改数据的项目,我倾向于创建一个新的 RDS 实例。验证所有内容,然后关闭旧实例。