2016-08-14 7 views
6

Amazon states queLe cryptage AWS RDS avec KMS affecte-t-il les performances?

chiffrement et le déchiffrement sont gérés de manière transparente de sorte que vous ne devez pas modifier votre application pour accéder à vos données

Mon application (Rails, MySQL, ElasticSearch) construit beaucoup de graphiques et interroge donc beaucoup de données. De mon expérience antérieure avec le cryptage de base de données, cela affecte vraiment la vitesse de récupération de données (comme nous pouvons seulement dire si l'enregistrement correspond à la condition après l'avoir lu et décrypté).

Existe-t-il des tests de performances pertinents? Ou peut-être avez-vous travaillé avec un tel cryptage côté serveur d'AWS? Dois-je m'inquiéter des changements de performance?

De même, il n'est pas tout à fait clair pour moi de chiffrer les données Elasticsearch de la même manière «transparente». Je voudrais aussi utiliser vos conseils sur ce

Répondre

14

De mon expérience antérieure avec le cryptage de base de données, il affecte vraiment données vitesse récupération (comme on ne peut dire si l'enregistrement correspond à la condition après avoir lu et decryptng il).

Ce serait le cas si chaque valeur de chaque enregistrement était cryptée avant d'être insérée dans la base de données. Ce n'est pas comme ça que fonctionne le chiffrement RDS. Le chiffrement RDS fonctionne en activant le chiffrement du (des) volume (s) EBS sur lequel la base de données est stockée. Pour le moteur de base de données RDS, les données ne semblent pas être cryptées. C'est la même chose que d'activer le cryptage sur un volume EBS attaché à votre serveur EC2.

En ce qui concerne les performances, je n'ai pas remarqué de diminution des performances lors de l'activation du cryptage sur RDS et EBS. Par la documentation AWS here:

vous pouvez attendre les mêmes performances IOPS sur les volumes chiffrés comme vous le feriez avec volumes non chiffrés, avec un effet minimal sur la latence.


Notez que ceci est "le cryptage au repos". Si vous avez également besoin que les données soient "cryptées en transit", vous devrez utiliser des connexions SSL pour toutes vos connexions à la base de données et éventuellement activer un paramètre dans votre base de données pour appliquer les connexions SSL.


En ce qui concerne votre deuxième question, AWS ne semble pas soutenir à ce moment-cryptage au repos pour le service ElasticSearch. Pour le cryptage en transit, vous pouvez utiliser des connexions HTTPS, selon la réponse de soutien AWS à this question:

Vous pouvez utiliser https pour la communication cryptée avec votre domaine.

La communication entre les nœuds n'est pas cryptée. Les nœuds eux-mêmes sont hébergés dans notre VPC, et toutes les communications entre les nœuds restent à l'intérieur.