バージョン アップグレード時の動作

このページでは、バージョン アップグレード オペレーション中の Memorystore インスタンスの動作、アップグレード オペレーションがアプリケーションに与える影響、アップグレード オペレーションを実行するタイミングについて説明します。インスタンスの Redis バージョンをアップグレードする方法については、インスタンスの Redis バージョンのアップグレードをご覧ください。

インスタンスの階層によっては、バージョン アップグレード オペレーションを実行すると、アプリケーションのパフォーマンスとストレージに影響する可能性があります。また、インスタンスのアップグレードにも、現在使用しているメモリの量に基づく制限があります。

インスタンスの Redis のバージョンをアップグレードするためのベスト プラクティス

  • バージョン アップグレード オペレーションを実行する前に、インスタンス データをエクスポートすることをおすすめします。

  • 標準階層インスタンスの場合、バージョン アップグレード オペレーションの速度と信頼性を向上させるには、インスタンスのトラフィックが少ない期間にインスタンスをアップグレードします。インスタンスのトラフィックをモニタリングする方法については、Redis インスタンスのモニタリングをご覧ください。

  • 標準階層のインスタンスをアップグレードする際に、インスタンスの書き込み負荷を最小限に抑えます。書き込み負荷が高いと、アップグレード オペレーションにかなり時間がかかり、アップグレードが失敗する可能性があります。

基本階層インスタンスのアップグレード動作

基本階層インスタンスは、バージョン アップグレード オペレーションの実行中は読み取りと書き込みをブロックします。アップグレード オペレーションが完了すると、すべてのデータがキャッシュからフラッシュされます。

スタンダード階層インスタンスのアップグレード動作

スタンダード階層のインスタンスでは、バージョンのアップグレード操作中にキャッシュのフラッシュは発生しません。アップグレード操作では、レプリカノードが最初にアップグレードされ、続いてプライマリ ノードと同期されます。新しいレプリカが新しいプライマリと同等になると、新しいプライマリは新しいレプリカに 2 回目のフェイルオーバーを実行します。フェイルオーバー中は、インスタンスへの接続が切断されます。新しいプライマリに再接続するには、アプリケーションのコードに再試行ロジックを組み込む必要があります。最後に、元のプライマリ インスタンスの Redis バージョンがアップグレードされます。

バージョンのアップグレード オペレーションが完了した後、Redis レプリケーションの非同期性のため、キャッシュ内に古いデータや整合性のないデータが存在する可能性があります。アップグレード操作中に発生する不整合に対処できるように、アプリケーションには十分な復元力を備えている必要があります。

期限切れのキー

標準階層のインスタンスをアップグレードする際、期限切れのキーは同期されません。アップグレード前に Redis インスタンスに期限切れのキーがある場合は、アップグレード オペレーションの完了後にキーが少なくなります。