

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

# データキーキャッシュの例
<a name="sample-cache-example"></a>

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

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

これらの例のソースコードは [Java と Python](sample-cache-example-code.md) で用意されています。サンプルには、サンプルのリソースを定義する CloudFormation テンプレートも含まれています。

![この図は、データプロデューサーとコンシューマーが AWS KMS、Amazon Kinesis Data Streams、Amazon DynamoDB をどのように使用するかを示しています。](http://docs.aws.amazon.com/ja_jp/encryption-sdk/latest/developer-guide/images/simplecache-example.png)


## ローカルキャッシュの結果
<a name="caching-example-impact"></a>

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


**プロデューサーリクエスト**  

<table>
<tbody>
  <tr><td rowspan="2"></td><td colspan="3">1 秒あたり、クライアントあたりのリクエスト</td><td rowspan="2">リージョンあたりのクライアント</td><td rowspan="2">1 秒あたり、リージョンあたりの平均リクエスト</td></tr>
  <tr><td>データキーの生成 (us-west-2)</td><td>データキーの暗号化 (eu-central-1)</td><td>合計 (リージョンあたり)</td></tr>
  <tr><td>キャッシュなし</td><td>1</td><td>1</td><td>1</td><td>500</td><td>500</td></tr>
  <tr><td>ローカルキャッシュ</td><td>1 rps/100 を使用</td><td>1 rps/100 を使用</td><td>1 rps/100 を使用</td><td>500</td><td>5</td></tr>
</tbody>
</table>



**コンシューマーリクエスト**  

<table>
<tbody>
  <tr><td rowspan="2"></td><td colspan="3">1 秒あたり、クライアントあたりのリクエスト</td><td rowspan="2">リージョンあたりのクライアント</td><td rowspan="2">1 秒あたり、リージョンあたりの平均リクエスト</td></tr>
  <tr><td>データキーを復号</td><td>プロデューサー</td><td>Total</td></tr>
  <tr><td>キャッシュなし</td><td>1 rps/プロデューサー</td><td>500</td><td>500</td><td>2</td><td>1,000</td></tr>
  <tr><td>ローカルキャッシュ</td><td>1 rps/プロデューサー/100 を使用</td><td>500</td><td>5</td><td>2</td><td>10</td></tr>
</tbody>
</table>
