web-dev-qa-db-ja.com

KMSを使用したAWSRDS暗号化はパフォーマンスに影響しますか?

アマゾン それ

暗号化と復号化は透過的に処理されるため、データにアクセスするためにアプリケーションを変更する必要はありません。

私のアプリケーション(Rails、MySQL、Elasticsearch)は多くのグラフィックを構築するため、多くのデータをクエリします。データベース暗号化に関する私の以前の経験から、それは実際にデータ取得速度に影響を与えます(レコードがそれを読み取って復号化した後に条件に一致するかどうかしか言えないため)。

関連するベンチマークはありますか?それとも、AWSのこのようなサーバー側の暗号化を使用したことがありますか?パフォーマンスの変化について心配する必要はありますか?

また、Elasticsearchデータを同じ「透過的」な方法で暗号化することも可能かどうかは私にはよくわかりません。私もそれについてあなたのアドバイスを使います

14
borisano

データベース暗号化に関する私の以前の経験から、それは実際にデータ取得速度に影響を与えます(レコードがそれを読み取って復号化した後に条件に一致するかどうかしか言えないため)。

これは、各レコードの各値がデータベースに挿入される前に暗号化されている場合に当てはまります。これは、RDS暗号化の仕組みではありません。 RDS暗号化は、データベースが保存されているEBSボリュームの暗号化を有効にすることで機能します。 RDSデータベースエンジンには、データは暗号化されていないように見えます。これは、EC2サーバーに接続されたEBSボリュームで暗号化を有効にするのと同じです。

パフォーマンスに関しては、RDSとEBSで暗号化を有効にするとパフォーマンスが低下することに気づきませんでした。 AWSのドキュメントによる ここ

暗号化されていないボリュームの場合と同じIOPSパフォーマンスを暗号化されたボリュームで期待できますが、遅延への影響は最小限に抑えられます。


これは「安静時の暗号化」であることに注意してください。データを「転送中に暗号化」する必要がある場合は、すべてのデータベース接続にSSL接続を使用することを検討し、場合によってはデータベースの設定を有効にしてSSL接続を適用する必要があります。


2番目の質問に関して、現時点ではAWSはElasticSearchサービスの保存時暗号化をサポートしていないようです。転送中の暗号化の場合、 この質問 へのAWSサポートの応答に従って、HTTPS接続を使用できます。

ドメインとの暗号化通信にはhttpsを使用できます。

ノード間の通信は暗号化されていません。ノード自体はVPC内でホストされ、ノード間のすべての通信はVPC内に残ります。

30
Mark B