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

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

Redis OSS エンジンのバージョン

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

MemoryDB バージョン 7.1 (拡張)

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

  • ベクトル検索機能: ベクトル検索は、既存の MemoryDB 機能で使用できます。ベクトル検索を使用しないアプリケーションは、その存在の影響を受けません。ベクトル検索は、すべての リージョンで MemoryDB バージョン 7.1 以降で使用できます。詳細については、こちらのドキュメントを参照してください。

注記

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

MemoryDB バージョン 7.0 (拡張)

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

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

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

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

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

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

MemoryDB バージョン 6.2 (拡張)

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

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

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

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

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

を呼び出すとDescribeEngineVersionsAPI、 EngineVersion パラメータ値が 6.2 に設定され、実際のフルエンジンバージョンが EnginePatchVersion フィールドに返されます。

Redis 6OSS.2 リリースの詳細については、 の Redis の「Redis 6.2 リリースノートOSS」を参照してください 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 エンジンのアップグレード操作はブロックされます。

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