Redis OSS エンジンバージョン - Amazon MemoryDB

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

Redis OSS エンジンバージョン

このセクションでは、サポートされている Redis OSS エンジンのバージョンについて説明します。

MemoryDB バージョン 7.1 (拡張)

MemoryDB バージョン 7.1 では、一部のリージョンのプレビューでのベクトル検索機能のサポートが追加され、重要なバグ修正とパフォーマンスの強化も行われています。

  • ベクトル検索機能: ベクトル検索は既存の MemoryDB 機能で使用できます。ベクトル検索を使用しないアプリケーションは、その存在の影響を受けません。ベクトル検索プレビューは、米国東部 (バージニア北部およびオハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、アジアパシフィック (東京) の各リージョンで MemoryDB バージョン 7.1 以降で利用できます。ベクトル検索プレビューと関連する機能を有効にする方法については、こちらのドキュメントを参照してください。

注記

MemoryDB バージョン 7.1 は Redis OSS v7.0 と互換性があります。Redis OSS 7.0 リリースの詳細については、 の Redis OSS の「Redis OSS 7.0 リリースノート」を参照してください GitHub。

MemoryDB バージョン 7.0 (拡張)

MemoryDB 7.0 には、新機能のいくつかの改善とサポートが追加されています。

  • Redis OSS Functions: MemoryDB 7 は Redis OSS Functions のサポートを追加し、デベロッパーが MemoryDB クラスターに保存されているアプリケーションロジックを使用して LUA スクリプトを実行できるようにするマネージドエクスペリエンスを提供します。クライアントは、接続のたびにスクリプトをサーバーに再送信する必要はありません。

  • ACL の改善: MemoryDB 7 は、Redis OSS アクセスコントロールリスト (ACLs) の次のバージョンのサポートを追加します。MemoryDB OSS 7 では、クライアントは Redis OSS の特定のキーまたはキースペースに対して複数のアクセス許可セットを指定できるようになりました。

  • シャーディングされた Pub/Sub : MemoryDB 7 は、クラスターモードが有効 (CME) で MemoryDB を実行するときに、Redis OSS Pub/Sub 機能をシャーディングされた方法で実行するためのサポートを追加します。Redis OSS Pub/Sub 機能を使用すると、パブリッシャーはチャネル上の任意の数のサブスクライバーにメッセージを発行できます。Amazon MemoryDB OSS 7 では、チャネルは MemoryDB クラスター内のシャードにバインドされるため、シャード間でチャネル情報を伝達する必要はありません。これにより、スケーラビリティが向上しました。

  • 拡張 I/O マルチプレックス: MemoryDB OSS バージョン 7 では、拡張 I/O マルチプレックスが導入されています。これにより、MemoryDB クラスターへの多数の同時クライアント接続を持つ高スループットワークロードのスループットが向上し、レイテンシーが短縮されます。例えば、r6g.4xlarge ノードのクラスターを使用して 5200 の同時クライアントを実行する場合、MemoryDB バージョン 6 と比較して、スループット (1 秒あたりの読み取りおよび書き込みオペレーション) が最大 46% 向上し、P99 レイテンシーが最大 21% 減少します。

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

MemoryDB バージョン 6.2 (拡張)

MemoryDB では、Redis OSS エンジンの次のバージョンが導入されています。これにはアクセスコントロールリスト (ACL) によるユーザー認証、、自動バージョンアップグレードのサポート、クライアント側のキャッシュ、および大幅な運用上の改善が含まれます。

Redis エンジンバージョン 6.2.6 では、Redis OSS クラスター内で複雑なデータセットをエンコードするシンプルでスキーマレスな方法であるネイティブ JavaScript Object Notation (JSON) 形式のサポートも導入されています。JSON サポートを使用すると、JSON 経由で動作するアプリケーションのパフォーマンスと Redis OSS APIs を活用できます。詳細については、「JSON の使用開始」を参照してください。また、このデータ型の使用状況を監視 CloudWatch するために に組み込まれJsonBasedCmdsている JSON 関連のメトリクスも含まれています。詳細については、「MemoryDB のメトリック」を参照してください。

Redis OSS 6 では、MemoryDB は複数のパッチバージョンを提供するのではなく、Redis OSS マイナーリリースごとに 1 つのバージョンを提供します。これは、複数のマイナーバージョンから選択する必要がある場合の混乱とあいまいさを最小限に抑えるように設計されています。MemoryDBは、実行中のクラスターのマイナーバージョンとパッチバージョンを自動的に管理し、パフォーマンスの向上とセキュリティ強化を保証します。これは、サービス更新キャンペーンを通じて、標準的な顧客通知チャネルで処理されます。詳細については、「MemoryDB でのサービスの更新」を参照してください。

作成時にエンジンバージョンを指定しない場合、MemoryDB は希望する Redis OSS バージョンを自動的に選択します。一方、 を使用してエンジンバージョンを指定すると6.2、MemoryDB は利用可能な Redis OSS 6.2 の優先パッチバージョンを自動的に呼び出します。

例えば、クラスターを作成するとき、‭--engine-version‬ パラメータは ‭6.2‬ に設定されます。‬‬‬‬‬‬‬‬ クラスターは、作成時に、現在利用可能な優先パッチバージョンで起動されます。完全なエンジンバージョン値を持つリクエストは拒否され、例外がスローされ、プロセスは失敗します。

DescribeEngineVersions‬ API の呼び出し時に、‭EngineVersion‬ パラメータの値が 6.2に設定され、実際のフルエンジンバージョンは ‭EnginePatchVersion‬ フィールドに返されます。‬‬‬‬‬‬‬‬‬‬‬‬

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

エンジンバージョンのアップグレード

MemoryDB はデフォルトで、サービスの更新を通じて実行中のクラスターのパッチバージョンを自動的に管理します。クラスターの AutoMinorVersionUpgrade プロパティを false に設定すると、マイナーバージョンのauto アップグレードを追加でオプトアウトできます。ただし、auto パッチバージョンアップグレードをオプトアウトすることはできません。

自動アップグレードを開始する前に、クラスターを実現するプロトコルに準拠したソフトウェアを、 MemoryDBがサポートする新しいバージョンにアップグレードするかどうかと、またいつアップグレードするかを管理します。このレベルのコントロールにより、特定のバージョンとの互換性を維持する、本稼働環境にデプロイする前にアプリケーションで新しいバージョンをテストする、および独自の条件とタイムラインでバージョンのアップグレードを実行することができます。

クラスターへのエンジンバージョンアップグレードは、以下の方法で開始できます。

  • クラスターを更新し、新しいエンジンバージョンを指定する。詳細については、「MemoryDB クラスターの変更」を参照してください。

  • 該当するエンジンバージョンのサービスアップデートを適用します。詳細については、「MemoryDB でのサービスの更新」を参照してください。

次の点に注意してください。

  • より新しいエンジンバージョンにアップグレードできますが、以前のエンジンバージョンにダウングレードすることはできません。以前のエンジンバージョンを使用する場合は、既存のクラスターを削除し、新たにそれを以前のエンジンバージョンで作成する必要があります。

  • ほとんどの主要な改善は古いバージョンにバックポートされないため、最新のメジャーバージョンに定期的にアップグレードすることをお勧めします。MemoryDB が新しい AWS リージョンに可用性を拡張すると、MemoryDB は、そのMAJOR.MINOR時点で新しいリージョンの 2 つの最新バージョンをサポートします。例えば、新しい AWS リージョンが起動し、最新の MAJOR.MINOR MemoryDB バージョンが 7.0 および 6.2 の場合、MemoryDB は新しい AWS リージョンでバージョン 7.0 および 6.2 をサポートします。MemoryDB の新しいMAJOR.MINORバージョンがリリースされると、MemoryDB は新しくリリースされた MemoryDB バージョンのサポートを引き続き追加します。MemoryDB のリージョンの選択について詳しくは、「サポートされているリージョンおよびエンドポイント」を参照してください。

  • エンジンのバージョニングは、パッチの適用方法をできる限り制御できるように設計されています。ただし、システムまたはキャッシュソフトウェアに重大なセキュリティ脆弱性が発生した場合に、MemoryDBはお客様に代わってクラスターにパッチを適用するための権限を有します。

  • MemoryDB では、複数のパッチバージョンを提供するのではなく、Redis OSS マイナーリリースごとに 1 つのバージョンが提供されます。これは、複数のバージョンから選択する必要がある場合の混乱とあいまいさを最小限に抑えるように設計されています。MemoryDBは、実行中のクラスターのマイナーバージョンとパッチバージョンを自動的に管理し、パフォーマンスの向上とセキュリティ強化を保証します。これは、サービス更新キャンペーンを通じて、標準的な顧客通知チャネルで処理されます。詳細については、「MemoryDB でのサービスの更新」を参照してください。

  • 最小限のダウンタイムでクラスターバージョンをアップグレードできます。このクラスターは、アップグレード中のすべての読み取りと、数秒かかるフェールオーバー操作中を除き、ほとんどすべてのアップグレード中の書き込みに対応します。

  • エンジンのアップグレードは、受信書き込みトラフィックが少ない時間帯に行うことをお勧めします。

    複数のシャードを含むクラスターは、次のように処理され、パッチが適用されます。

    • アップグレード操作は、1 つのシャードにつき常に 1 回のみ実行されます。

    • 各シャードでは、プライマリが処理される前にすべてのレプリカが処理されます。シャードにレプリカが少ない場合、他のシャードのレプリカが処理を終了する前に、そのシャードのプライマリが処理されることがあります。

    • すべてのシャード間で、プライマリノードはシリーズで処理されます。一度にアップグレードできるプライマリノードは 1 つだけです。

エンジンバージョンのアップグレード方法

クラスターのバージョンアップグレードを開始するには、MemoryDB コンソール、、または MemoryDB API を使用してクラスターを変更し AWS CLI、新しいエンジンバージョンを指定します。詳細については、以下のトピックを参照してください。

ブロックされた Redis OSS エンジンのアップグレードの解決

次の表に示すように、保留中のスケールアップ操作がある場合、Redis OSS エンジンのアップグレード操作はブロックされます。

保留中のオペレーション ブロックされたオペレーション
スケールアップ 即時のエンジンのアップグレード
エンジンのアップグレード 即時のスケールアップ
スケールアップとエンジンのアップグレード 即時のスケールアップ
即時のエンジンのアップグレード