Exemplo de armazenamento em cache de chaves de dados - AWS Encryption SDK

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo de armazenamento em cache de chaves de dados

Este exemplo usa armazenamento em cache de chaves de dados com um cache local para acelerar uma aplicação em que os dados gerados por vários dispositivos são criptografados e armazenados em diferentes regiões.

Nesse cenário, vários produtores de dados geram, criptografam e gravam dados em um stream do Kinesis em cada região. As funções do AWS Lambda (consumidoras) descriptografam os streams e gravam dados de texto simples em uma tabela do DynamoDB na região. Os produtores e os consumidores de dados usam o AWS Encryption SDK e um AWS KMSprovedor de chaves mestras do . Para reduzir as chamadas ao KMS, cada produtor e consumidor tem seu próprio armazenamento em cache local.

Você pode encontrar o código-fonte desses exemplos em Java e Python. O exemplo também inclui um modelo do AWS CloudFormation que define os recursos para os exemplos.

Este diagrama mostra como produtores e consumidores de dados usam o AWS KMS, o Amazon Kinesis Data Streams e o Amazon DynamoDB.

Resultados do cache local

A tabela a seguir mostra que um armazenamento em cache local reduz o total de chamadas ao KMS (por segundo por região) neste exemplo em 1% de seu valor original.

Solicitações por segundo por cliente Clientes por região Média de solicitações por segundo por região
Gerar chaves de dados (us-west-2) Criptografar chave de dados (eu-central-1) Total (por região)
Sem cache 1 1 1 500 500
Cache local 1 rps/100 usos 1 rps/100 usos 1 rps/100 usos 500 5
Solicitações por segundo por cliente Cliente por região Média de solicitações por segundo por região
Descriptografar chave de dados Produtores Total
Sem cache 1 rps por produtor 500 500 2 1.000
Cache local 1 rps por produtor/100 usos 500 5 2 10