Exemple de mise en cache des clés de données - AWS Encryption SDK

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple de mise en cache des clés de données

Cet exemple utiliseMise en cache des clés de donnéesavec unCache localpour accélérer une application dans laquelle les données générées par plusieurs périphériques sont chiffrées et stockées dans différentes régions.

Dans ce scénario, plusieurs producteurs de données génèrent des données, les chiffrent et écrivent dans unFlux Kinesisdans chaque région.AWS LambdaLes fonctions (consommateurs) déchiffrent les flux et écrivent des données en texte brut dans une table DynamoDB de la région. Les producteurs et consommateurs de données utilisent leAWS Encryption SDKet unAWS KMSFournisseur de clés principales. Pour limiter les appels à KMS, chaque producteur et consommateur dispose de son propre cache local.

Vous pouvez trouver le code source pour ces exemples dansJava et Python. L'exemple inclut également un modèle AWS CloudFormation qui définit les ressources pour les exemples.

Ce diagramme montre comment les producteurs et consommateurs de données utilisent leAWS KMS, Amazon Kinesis Data Streams et Amazon DynamoDB.

Résultats du cache local

Le tableau suivant montre qu'un cache local réduit le nombre total des appels vers KMS (par seconde et par région) dans cet exemple à 1 % de sa valeur d'origine.

Demandes de producteurs
Demandes par seconde et par client Clients par région Demandes moyennes par seconde et par région
Générer des clés de données (us-west-2) Chiffrer des clés de données (eu-central-1) Total (par région)
Aucun cache 1 1 1 500 500
Cache local 1 rps / 100 utilisations 1 rps / 100 utilisations 1 rps / 100 utilisations 500 5
Demandes de consommateurs
Demandes par seconde et par client Client par région Demandes moyennes par seconde et par région
Déchiffrer des clés de données Producteurs Total
Aucun cache 1 rps par producteur 500 500 2 1 000
Cache local 1 rps par producteur / 100 utilisations 500 5 2 10