【问题标题】:Does AWS RDS encryption with KMS affect performance?使用 KMS 进行 AWS RDS 加密会影响性能吗?
【发布时间】:2016-12-20 22:34:50
【问题描述】:
亚马逊states那个
加密和解密是透明处理的,因此您无需修改应用程序即可访问您的数据
我的应用程序(Rails、MySQL、Elasticsearch)构建了大量图形,因此查询了大量数据。从我之前的数据库加密经验来看,它确实会影响数据检索速度(我们只能说读取和解密后记录是否匹配条件)。
是否有任何相关的基准?或者,也许您曾经使用过 AWS 的这种服务器端加密?我需要担心性能变化吗?
另外,我还不太清楚是否可以以相同的“透明”方式加密 Elasticsearch 数据。我也会采纳你的建议
【问题讨论】:
标签:
mysql
security
amazon-web-services
elasticsearch
aws-kms
【解决方案1】:
根据我之前的数据库加密经验,它确实影响
数据检索速度(我们只能说如果记录匹配条件
阅读并解密后)。
如果每条记录的每个值在插入数据库之前都经过加密,就会出现这种情况。这不是 RDS 加密的工作方式。 RDS 加密通过启用存储数据库的 EBS 卷的加密来工作。对于 RDS 数据库引擎,数据似乎没有加密。这与在连接到您的 EC2 服务器的 EBS 卷上启用加密相同。
关于性能,我没有注意到在 RDS 和 EBS 上启用加密时性能有任何下降。根据 AWS 文档here:
您可以在加密卷上获得与您相同的 IOPS 性能
将使用未加密的卷,对延迟的影响最小。
请注意,这是“静态加密”。如果您还需要“在传输中加密”数据,那么您将需要考虑对所有数据库连接使用 SSL 连接,并可能在您的数据库中启用设置以强制执行 SSL 连接。
关于您的第二个问题,AWS 目前似乎不支持 ElasticSearch 服务的静态加密。对于传输中加密,您可以使用 HTTPS 连接,根据 AWS Support 对this question 的回复:
您可以使用 https 与您的域进行加密通信。
节点之间的通信未加密。节点本身是
托管在我们的 VPC 中,节点之间的所有通信仍然保持
在里面。