我们发现,在创建应用程序时,我们确实应该加密 MySql 数据库和 EFS 卷。我们现在正在尝试纠正这一疏忽。
我读过亚马逊文件关于将数据库从未加密转换为加密,以及ServerFault 线程关于更改加密密钥。
对于 EFS 卷执行类似操作的最佳和最实用的方法是什么?
(有人知道有什么方法可以改进数据库方面的流程吗?)
答案1
对于 EFS 来说,最简单的选择可能是创建一个新的卷并复制数据。
您链接到的 RDS 步骤似乎合理。您还可以创建一个新数据库,然后使用 MySQL 工具复制数据,然后重新配置应用程序以使用新数据库。
在做任何事情之前先进行备份/快照。
答案2
昨天,我在另一个差不多相同主题的旧帖子中发布了同样的答案,https://serverfault.com/a/1058225/498231。当时我以为我把它发到了这个帖子里。但它适用于两个帖子。
关于 EFS 实例的加密,我制定了一个程序,相当于
创建加密 EFS 实例
使用 DataSync 复制内容
修复安装 EFS 实例的所有内容以使用新 ID。这可能包括实例中的脚本以及 Beanstalks 中的 FILE_SYSTEM_ID 参数。
关于数据库加密,一位同事发现了一篇博客文章,其中剔除了所有不必要的麻烦,并将整个过程提炼为最基本的部分,网址为
https://blog.theodo.com/2019/11/encrypt-existing-aws-rds-database/
我可以确认它有效。