Redis 用 Amazon ElastiCache
Redis 用 ElastiCache ユーザーガイド (API バージョン 2015-02-02)

サポートされる Redis 用 ElastiCache バージョン

Redis 用 ElastiCache バージョン 3.2.6、4.0.10、またはそれ以降を使用して Redis クラスターを作成するときに、保管時の暗号化、転送時の暗号化、および Redis AUTH を有効にすると、Redis 用 Amazon ElastiCache を使用して HIPAA 準拠のアプリケーションを構築できます。AWS との履行済みの事業提携契約 (BAA) に基づいて、保護されるべき医療情報 (PHI) を含め、医療関連の情報を保存できます。AWS 対象範囲内のサービスは第三者の監査人によって十分に評価され、認証、コンプライアンスの証明、または Authority to Operate (ATO) が発行されます。詳細については、以下のトピックを参照してください。

注記

新しいバージョンの Redis ほど、より良く安定したユーザーエクスペリエンスを提供しているため、ElastiCache コンソールの使用時に Redis バージョン 2.6.13、2.8.6、および 2.8.19 は廃止されました。これらの Redis バージョンは使用しないことをお勧めします。これらのいずれかを使用する必要がある場合は、AWS CLI または ElastiCache API を使用します。

詳細については、以下のトピックを参照してください。

AWS CLI ElastiCache API

クラスターの作成

クラスターの作成 (AWS CLI)

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

クラスターの作成 (ElastiCache API)

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

クラスターの変更

AWS CLI の使用

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

ElastiCache API の使用

このアクションを使用して、クラスターモードが有効になったレプリケーショングループを作成することはできません。

レプリケーショングループの作成

ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成 (AWS CLI)

ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 (AWS CLI)

ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成 (ElastiCache API)

ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 (ElastiCache API)

レプリケーショングループの変更

AWS CLI の使用

ElastiCache API の使用

Redis 用 ElastiCache バージョン 5.0.4 (拡張)

Redis 用 Amazon ElastiCache で、Amazon ElastiCache によってサポートされている Redis エンジンの次のバージョンが導入されます。これには以下の機能強化が含まれています。

  • 特別な状況におけるエンジンの安定性の保証。

  • Hyperloglog エラー処理の強化。

  • 信頼性の高いレプリケーションを目的としたハンドシェイクコマンドの強化。

  • XCLAIM コマンドを使用した一貫性のあるメッセージ配信の追跡。

  • オブジェクトの LFU フィールド管理の強化。

  • ZPOP 使用時のトランザクション管理の強化。

詳細については、GitHub の Redis の「Redis 5.0.4 リリースノート」を参照してください。

Redis 用 ElastiCache バージョン 5.0.3 (拡張)

Redis 用 Amazon ElastiCache で、Amazon ElastiCache によってサポートされている Redis エンジンの次のバージョンが導入されます。これには以下の機能強化が含まれています。

  • ソートされたセットエッジケース、正確なメモリ使用量などを改善するためのバグ修正。詳細については、「Redis 5.0.3 リリースノート」を参照してください。

  • コマンドの名前を変更する機能: ElastiCache for Redis 5.0.3 には、rename-commands と呼ばれる新しいパラメータが含まれています。このパラメータを使用すると、FLUSHALLFLUSHDB など、誤ってデータ損失を発生させることがある、危険または処理負荷が大きい可能性がある Redis コマンドの名前を変更できます。これは、オープンソース Redis の名前変更コマンドの設定と似ています。ただし、ElastiCache では、フルマネージド型のワークフローを提供することによりエクスペリエンスを向上させています。コマンド名の変更はすぐに適用され、クラスター内でコマンドリストを含むすべてのノードにわたって自動的に反映されます。ノードの再起動など、お客様による介入は必要ありません。

    次の例では、既存のパラメータグループを変更する方法を示しています。これには rename-commands パラメータが含まれます。これは、名前を変更するコマンドのスペースで区切られたリストです。

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall'" --region region

    この例では、rename-commands パラメータは、flushall コマンドの名前を restrictedflushall に変更するために使用します。

    複数のコマンドの名前を変更するには、以下を使用します。

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall flushdb restrictedflushdb''" --region region

    変更を元に戻すには、次に示すようにコマンドを再実行し、ParameterValue リストから、名前の変更を維持する値を除外します。

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall'" --region region

    この場合、flushall コマンドは restrictedflushall に名前が変更され、名前が変更されたその他のコマンドは、元のコマンド名に戻されます。

    注記

    名前を変更する場合は、以下の制限があります。

    • 名前を変更するすべてのコマンドは、英数字である必要があります。

    • 新しいコマンド名の最大長は 20 文字の英数字です。

    • コマンドの名前を変更する場合は、クラスターに関連付けられているパラメータグループを必ず更新します。

    • コマンドの使用を完全に防ぐには、以下に示すように、キーワード blocked を使用します。

      aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall blocked'" --region region

    パラメータの変更の詳細、および名前変更の対象であるコマンドのリストについては、「Redis 5.0.3 パラメーターの変更」を参照してください。

Redis 用 ElastiCache バージョン 5.0.0 (拡張)

Redis 用 Amazon ElastiCache で、Amazon ElastiCache でサポートされている Redis エンジンの次の主要バージョンが導入されます。Redis 用 ElastiCache 5.0.0 は次の強化機能をサポートします。

  • Redis ストリーム: これは、プロデューサーが新しいアイテムをリアルタイムで追加できるようにし、コンシューマーがブロッキングまたはノンブロッキングの方法でメッセージを使用できるようにもするログデータ構造をモデル化します。ストリームは、コンシューマーグループも許可します。コンシューマーグループは、メッセージの同じストリームのさまざまな部分を共同で使用するクライアントのグループを表しています (Apache Kafka と同様)。詳細については、「Redis ストリームの紹介」を参照してください。

  • XADDXRANGEXREAD など、ストリームコマンドファミリーのサポート。詳細については、「Redis ストリームコマンド」を参照してください。

  • 多数の新しいパラメータと名前変更されたパラメータ。詳細については、「Redis 5.0.0 パラメーターの変更」を参照してください。

  • 新しい Redis メトリクス StreamBasedCmds

  • Redis ノードのスナップショット時間がわずかに短縮。

重要

Redis 用 Amazon ElastiCache は、Redis オープンソースバージョン 5.0.1 から 2 つの重要なバグ修正をバックポートしました。以下に示します。

  • 特定のキーがすでに期限切れの場合、RESTORE が返信に一致しません。

  • XCLAIM コマンドは、間違ったエントリを返したり、プロトコルを同期解除する可能性があります。

強調すべき点として、これらのバグ修正はどちらも Redis エンジンバージョン 5.0.0 の Redis 用 ElastiCache サポートに含まれており、将来のバージョン更新で使用される予定です。

Redis 用 ElastiCache バージョン 4.0.10 (拡張)

Redis 用 Amazon ElastiCache で、Amazon ElastiCache でサポートされている Redis エンジンの次の主要バージョンが導入されます。Redis 用 ElastiCache 4.0.10 は次の強化機能をサポートします。

Redis バージョン 3.2.10 を実行している Redis (クラスターモードが無効) ユーザーは、コンソールを使用して、オンラインアップグレードを介してクラスターをアップグレードできます。

Redis 用 ElastiCache クラスターのサイズ変更と暗号化サポートの比較

バージョン
機能 3.2.6 3.2.10 4.0.10 以降 
オンラインクラスターのサイズ変更 * なし はい あり
転送時の暗号化 ** あり いいえ あり
保管時の暗号化 ** あり いいえ あり
* シャードを追加、削除、および負荷分散します。
** FedRAMP、HIPAA、および PCI DSS に準拠するアプリケーションで必要です†。詳細については、「Redis 用 ElastiCache コンプライアンス」を参照してください。

Redis 用 ElastiCache バージョン 3.2.10 (拡張)

Redis 用 Amazon ElastiCache で、Amazon ElastiCache でサポートされている Redis エンジンの次の主要バージョンが導入されます。Redis 用 ElastiCache 3.2.10 にオンラインクラスターサイズ変更が導入されました。これにより、クラスターが入力 I/O リクエストを処理しながら、クラスターからシャードを追加、または削除することができます。Redis 用 ElastiCache 3.2.10 のユーザーは、現在バージョン 3.2.6 でのみ利用できる、データを暗号化する機能を除き、以前のバージョンの Redis のすべての機能を利用できます。

Redis 用 ElastiCache バージョン 3.2.6 と 3.2.10 の比較

バージョン
機能 3.2.6 3.2.10
オンラインクラスターのサイズ変更 * なし あり
転送時の暗号化 ** あり なし
保管時の暗号化 ** あり なし
* シャードを追加、削除、および負荷分散します。
** FedRAMP、HIPAA、および PCI DSS に準拠するアプリケーションで必要です†。詳細については、「Redis 用 ElastiCache コンプライアンス」を参照してください。

詳細については、以下のトピックを参照してください。

Redis 用 ElastiCache バージョン 3.2.6 (拡張)

Redis 用 Amazon ElastiCache で、Amazon ElastiCache でサポートされている Redis エンジンの次の主要バージョンが導入されます。Redis 用 ElastiCache 3.2.6 のユーザーには、以前のバージョンの Redis のすべての機能に加え、データを暗号化するオプションが提供されます。詳細については、以下のトピックを参照してください。

Redis 用 ElastiCache バージョン 3.2.4 (拡張)

Redis 用 Amazon ElastiCache バージョン 3.2.4 で、Amazon ElastiCache でサポートされている Redis エンジンの次の主要バージョンが導入されます。Redis 用 ElastiCache 3.2.4 のユーザーには、以前のバージョンの Redis で使用できるすべての機能に加え、クラスターモードまたは非クラスターモードで実行するオプションも提供されます。次の表に以下の内容がまとめてあります。

Redis 3.2.4 非クラスターモードとクラスターモードの比較

機能 非クラスターモード クラスターモード
データのパーティション化 いいえ はい
地理空間インデックス作成 はい はい
ノードタイプの変更 はい はい *
レプリカの拡張 はい はい *
スケールアウト いいえ はい *
データベースのサポート 複数 単一

パラメータグループ

default.redis3.2 **

default.redis3.2.cluster.on **

*  「クラスターのサイズ変更 (オプション) によるバックアップからの復元」を参照してください。

** またはそれから派生したもの。

メモ:

  • パーティション – データを 2 ~ 90 のノードグループ間で分割 (シャード) (各ノードグループでレプリケーションのサポートあり)。

  • 地理空間インデックス作成 – Redis 3.2.4 で、6 つの GEO コマンドによる地理空間インデックス作成のサポートが追加されました。詳細については、Redis GEO* コマンドのドキュメントの Redis コマンドページ (GEO でフィルタリング) の「Redis コマンド: GEO」を参照してください。

Redis 3 の追加の機能については、『Redis 3.2 リリースノート』と『Redis 3.0 リリースノート』を参照してください。

現在、ElastiCache マネージド Redis (クラスターモードが有効) では、Redis 3.2 の以下の機能はサポートされていません。

  • レプリカの移行

  • クラスターの再分散

  • Lua デバッガー

ElastiCache では、Redis 3.2 の以下の管理コマンドは無効になっています。

  • cluster meet

  • cluster replicate

  • cluster flushslots

  • cluster addslots

  • cluster delslots

  • cluster setslot

  • cluster saveconfig

  • cluster forget

  • cluster failover

  • cluster bumpepoch

  • cluster set-config-epoch

  • cluster reset

Redis 3.2.4 のパラメーターの詳細については、「Redis 3.2.4 パラメーターの変更」を参照してください。

Redis 用 ElastiCache バージョン 2.8.24 (拡張)

バージョン 2.8.23 以降に追加された、バグ修正および不正なメモリーアクセスのアドレスのログ記録を含む Redis の改善詳細については、「Redis 2.8 リリースノート」を参照してください。

Redis 用 ElastiCache バージョン 2.8.23 (拡張)

バージョン 2.8.22 以降に追加された Redis の機能拡張には、バグ修正も含まれます。詳細については、「Redis 2.8 リリースノート」を参照してください。また、このリリースでは、新しいパラメータ close-on-slave-write もサポートされており、有効にした場合、読み取り専用レプリカに書き込もうとするクライアントの接続は切断されます。

Redis 2.8.23 のパラメータの詳細については、『ElastiCache ユーザーガイド』の「Redis 2.8.23 (拡張) で追加されたパラメータ」を参照してください。

Redis 用 ElastiCache バージョン 2.8.22 (拡張)

バージョン 2.8.21 以降に追加された Redis の機能拡張には、以下が含まれます。

  • 分岐なしのバックアップと同期のサポートにより、バックアップオーバーヘッドによるメモリの割り当てを減らしてより多くのメモリをアプリケーションに割り当てることができます。詳細については、「同期とバックアップの実装方法」を参照してください。分岐なしのプロセスは、レイテンシーとスループットの両方に影響を与える場合があります。レプリカの再同期時に書き込みのスループットが高い場合、同期の時間全体を通じてアクセスできない場合があります。

  • フェイルオーバーが発生した場合、可能な場合はレプリカがフル同期ではなくプライマリとの部分同期を実行するため、レプリケーショングループはより早く復旧されます。さらに、プライマリとレプリカは同期中にディスクを使用しないため、速度が向上します。

  • 2 つの新しい CloudWatch メトリクスのサポート。

    • ReplicationBytes – レプリケーショングループのプライマリクラスターがリードレプリカに送信しているバイト数。

    • SaveInProgress – バックグラウンド保存プロセスが実行されるかどうかを示すバイナリ値。

    詳細については、「CloudWatch メトリクスを使用したモニタリング」を参照してください。

  • レプリケーション PSYNC 動作のいくつかの重要なバク修正。詳細については、「Redis 2.8 リリースノート」を参照してください。

  • マルチ AZ レプリケーショングループのレプリケーションパフォーマンスの拡張とクラスターの安定性を維持するために、非 ElastiCache レプリカのサポートが終了しました。

  • レプリケーショングループのプライマリクラスターとレプリカ間でデータの整合性を改善するために、プライマリクラスターと無関係にレプリカでキーを削除できなくなりました。

  • Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポートされていません。

  • メモリが少ない状況で、大きな出力アップロードバッファを持つクライアントはレプリカクラスターからの接続が解除される場合があります。接続が解除された場合、クライアントは再接続する必要があります。このような状況は、多くの場合 PUBSUB クライアントで発生する可能性があります。

Redis 用 ElastiCache バージョン 2.8.21

Redis のバージョン 2.8.19 で数多くのバグ修正が行われ、改善されました。詳細については、「Redis 2.8 リリースノート」を参照してください。

Redis 用 ElastiCache バージョン 2.8.19

バージョン 2.8.6 以降に追加された Redis の機能拡張には、以下が含まれます。

  • HyperLogLog のサポート。詳細については、「Redis の新しいデータ構造: HyperLogLog」を参照してください。

  • ソートされたセットデータ型は、新しいコマンド ZRANGEBYLEXZLEXCOUNT、および ZREMRANGEBYLEX で、辞書式範囲のクエリをサポートできるようになりました。

  • プライマリノードがレプリカノードに古いデータを送信しないようにするため、バックグラウンド保存(bgsave)の子プロセスが中止された場合、マスター SYNC は失敗します。

  • HyperLogLogBasedCommands CloudWatch メトリクスがサポートされました。詳細については、「Redis のメトリクス」を参照してください。

Redis 用 ElastiCache バージョン 2.8.6

バージョン 2.6.13 以降に追加された Redis の機能拡張には、以下が含まれます。

  • リードレプリカの弾力性と耐障害性の向上。

  • 部分的な再同期のサポート。

  • 常に使用できる必要があるリードレプリカの最小数に関するユーザー定義のサポート。

  • pub/sub のフルサポート — サーバー上のイベントをクライアントに通知。

  • プライマリノードの障害の自動検出と、プライマリノードからセカンダリノードへのフェイルオーバー。

Redis 用 ElastiCache バージョン 2.6.13

Redis バージョン 2.6.13 は、Redis 用 Amazon ElastiCache でサポートされた Redis の最初のバージョンです。マルチ AZ と自動フェイルオーバーは Redis 2.6.13 ではサポートされません。