AWS RDS使用KMS进行加密会影响性能吗?

20

亚马逊表示

加密和解密由系统透明处理,因此您无需修改应用程序以访问数据。

我的应用程序(Rails、MySQL、Elasticsearch)构建了大量的图形,因此查询了大量的数据。根据我之前对数据库加密的经验,它确实会影响数据检索的速度(因为我们只能在读取和解密记录后才能确定其是否与条件匹配)。

有没有相关的基准测试?或者您是否曾经使用过AWS中这种服务器端加密的功能?我需要担心性能变化吗?

另外,我不太清楚是否可以以同样“透明”的方式加密Elasticsearch数据。我也需要您的建议。

1个回答

37
根据我之前对数据库加密的经验,它会影响数据检索速度(因为我们只能在读取和解密后判断记录是否与条件匹配)。
如果在将每个记录值插入数据库之前对其进行加密,那么情况就是这样。但RDS加密的工作方式并非如此。RDS加密通过启用数据库存储的EBS卷的加密来实现。对于RDS数据库引擎来说,数据似乎没有被加密。这与在连接到EC2服务器的EBS卷上启用加密相同。
关于性能问题,当启用RDS和EBS的加密时,我没有注意到任何性能下降。根据AWS文档here
「您可以期望加密卷的IOPS性能与未加密卷一样,并对延迟产生极小影响。」
请注意,这是“静态加密”。如果您还需要数据进行“传输加密”,那么您需要研究使用SSL连接来处理所有数据库连接,并可能在数据库中启用设置以强制执行SSL连接。
关于您的第二个问题,目前AWS似乎不支持ElasticSearch服务的静态加密。对于传输中的加密,您可以使用HTTPS连接,正如AWS支持响应this question所述:

您可以使用https与您的域进行加密通信。

节点之间的通信未加密。这些节点本身托管在我们的VPC中,节点之间的所有通信仍然在其中进行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接