RDS实例如何从加密快照中恢复?

Posted

技术标签:

【中文标题】RDS实例如何从加密快照中恢复?【英文标题】:How is RDS instance restored from an encrypted snapshot? 【发布时间】:2021-11-04 18:47:06 【问题描述】:

RDS User Guide 表示有两种方法可以启用 RDS 实例的加密:

    当你创建它时

    您通过(非共享)快照来完成:

您可以创建数据库实例的快照,然后创建该快照的加密副本。然后,您可以从加密快照恢复数据库实例,从而获得原始数据库实例的加密副本。

我想了解此加密应用于哪个级别

我的猜测是加密仅适用于表格中的每个单元格。否则,如果整个数据库是整体加密的,那么schema、表名、列名都看不到,那如何恢复一个实例呢?

我的理解正确吗?

【问题讨论】:

【参考方案1】:

仅适用于表格中的每个单元格

它没有。它是整个EBS snapshot that is encrypted。

那么如何从中恢复实例

AWS 将使用您的或来自 KMS(AWS 密钥管理服务)的 AWS 托管密钥来解密您的快照。这发生在后台,你看不到它。如果您使用自己的 KMS 密钥并将其删除,那么您的快照将无法解密,并且您会丢失所有数据。

有关 EBS 加密的更多信息请参见 How Amazon Elastic Block Store (Amazon EBS) uses AWS KMS

【讨论】:

谢谢@marcin,如果被KMS解密,那么实例又是怎么加密的呢?其实,让我退一步说:当我们说数据库实例被加密时,它是作为一个整体加密的,每个查询都需要KMS来解密整个数据库吗?是不是太慢了? @moon 我添加了解释 EBS 加密如何工作的链接。当 aws 写入数据库实例已加密时,它们意味着该实例使用的 EBS 卷已加密。加密不是在查询级别进行,而是在 EBS 卷级别进行。

以上是关于RDS实例如何从加密快照中恢复?的主要内容,如果未能解决你的问题,请参考以下文章

恢复 Elastic Beanstalk RDS

如何验证 RDS 数据库中的数据是静态加密的?

从 Amazon RDS 下载 MySql 备份/快照

获取 aws rds 快照的本地副本

Amazon RDS:将快照还原到现有实例

AWS:为单独的 EB 实例克隆 RDS