データキーキャッシュの例 - AWS Encryption SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データキーキャッシュの例

この例では、ローカルキャッシュデータキーキャッシュを使用して、複数のデバイスによって生成されたデータが暗号化されて異なるリージョンに保存されるアプリケーションを高速化します。

この例では、複数のデータのプロデューサーがデータを作成して暗号化し、各リージョンの Kinesis ストリームに書き込みます。AWS Lambda 関数 (コンシューマー) はそのストリームを復号して、プレーンテキストのデータをそのリージョンの DynamoDB のテーブルに書き込みます。データプロデューサーおよびコンシューマーは、AWS Encryption SDK と AWS KMS マスターキープロバイダーを使用します。KMS への呼び出しを減らすために、各プロデューサーおよびコンシューマーには独自のローカルキャッシュがあります。

これらの例のソースコードは Java と Python で用意されています。サンプルには、サンプルのリソースを定義する AWS CloudFormation テンプレートも含まれます。


      この図表は、データのプロデューサーとコンシューマーが、AWS KMS、Amazon Kinesis Data Streams、および Amazon DynamoDB を使用する方法を示しています。

ローカルキャッシュの結果

以下の表は、ローカルキャッシュによって、この例の KMS への合計呼び出し回数 (1 秒あたり、リージョンあたり) が元の値の 1% まで減少していることを示しています。

1 秒あたり、クライアントあたりのリクエスト リージョンあたりのクライアント 1 秒あたり、リージョンあたりの平均リクエスト
データキーの生成 (us-west-2) データキーの暗号化 (eu-central-1) 合計 (リージョンあたり)
キャッシュなし 1 1 1 500 500
ローカルキャッシュ 1 rps/100 を使用 1 rps/100 を使用 1 rps/100 を使用 500 5
1 秒あたり、クライアントあたりのリクエスト リージョンあたりのクライアント 1 秒あたり、リージョンあたりの平均リクエスト
データキーを復号 プロデューサー 合計
キャッシュなし 1 rps/プロデューサー 500 500 2 1,000
ローカルキャッシュ 1 rps/プロデューサー/100 を使用 500 5 2 10