

# Amazon CloudFront KeyValueStore
<a name="kvs-with-functions"></a>

CloudFront KeyValueStore は、[CloudFront Functions](cloudfront-functions.md) 内からの読み取りアクセスを許可する、安全でグローバルな低レイテンシーのキー値データストアであり、CloudFront エッジロケーションで高度かつカスタマイズ可能なロジックを利用できるようにします。

CloudFront KeyValueStore では、関数コードを更新したり、関数に関連付けられているデータを個別に更新できます。このように分離することで関数コードが簡略化され、コードの変更をデプロイしなくてもデータを簡単に更新できます。

**注記**  
CloudFront KeyValueStore を使用するには、CloudFront 関数で [JavaScript ランタイム 2.0](functions-javascript-runtime-20.md) を使用する必要があります。

キーと値のペアを使用するための一般的な手順は、次のとおりです。
+ キーバリューストアを作成して、このストア内に一連のキーと値のペアを設定します。キーバリューストアは、Amazon S3 バケットに追加することも、手動で入力することもできます。
+ キーバリューストアを CloudFront 関数に関連付けます。
+ 関数コード内で、キーの名前を使用してキーに関連付けられた値を取得するか、キーの存在を評価します。キーと値のペアを関数コードで使用する方法と、ヘルパーメソッドの詳細については、「[キーバリューストアのヘルパーメソッド](functions-custom-methods.md)」を参照してください。

## ユースケース
<a name="key-value-store-use-cases"></a>

キーと値のペアは、以下の例に示すように使用できます。
+ **URL の書き換えまたはリダイレクト** — キーと値のペアは、書き換えられた URL またはリダイレクト URL を保持できます。
+ **A/B テストと機能フラグ** – ウェブサイトの特定のバージョンにトラフィックの割合を割り当てることで、テストを実行する関数を作成できます。
+ **アクセスの認可** – 独自に定義した条件とキーバリューストアに保存したデータに基づいて、リクエストを許可または拒否するアクセスコントロールを実装できます。

## サポートされている値の形式
<a name="key-value-store-supported-formats"></a>

キーと値のペアの値は、以下のいずれかの形式で保存できます。
+ String
+ バイトでエンコードされた文字列
+ JSON 

## セキュリティ
<a name="key-value-store-security"></a>

CloudFront 関数およびすべてのキーバリューストアのデータは、次のように安全に処理されます。
+ [CloudFront KeyValueStore](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_Operations_Amazon_CloudFront_KeyValueStore.html) API オペレーションを呼び出すと、CloudFront は保管中および転送中の各キーバリューストアを (読み取り時または書き込み時に) 暗号化します。
+ 関数を実行すると、CloudFront は CloudFront エッジロケーションでメモリ内のキーと値の各ペアを復号します。

CloudFront KeyValueStore の使用を開始するには、以下のトピックを参照してください。

**Topics**
+ [ユースケース](#key-value-store-use-cases)
+ [サポートされている値の形式](#key-value-store-supported-formats)
+ [セキュリティ](#key-value-store-security)
+ [キーバリューストアの操作](kvs-with-functions-kvs.md)
+ [キーと値のデータを操作する](kvs-with-functions-kvp.md)
+ CloudFront KeyValueStore の使用を開始する方法の詳細については、AWS ブログ記事「[Amazon CloudFront KeyValueStore の紹介](https://aws.amazon.com/blogs/aws/introducing-amazon-cloudfront-keyvaluestore-a-low-latency-datastore-for-cloudfront-functions/)」を参照してください。