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

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

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

バージョンのアップグレードは互換性のリスクがあるため、自動では実行されません。それらを自分で開始する必要があります。

クラスターまたはレプリケーショングループを変更し、新しいエンジンのバージョンを指定することで、クラスターまたはレプリケーショングループに対するエンジンのバージョンのアップグレードを開始します。詳細については、以下のトピックを参照してください。

重要

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

  • エンジンのバージョン管理機能では、パッチ適用を可能な限りお客様が管理できるようにしていますが、システムやキャッシュソフトウェアにおいて重要なセキュリティ脆弱性が万一発生した場合は、お客様に代わって ElastiCache がクラスターにパッチを適用する可能性があります。

  • Redis 用 ElastiCache では Redis (クラスターモードが無効) および Redis (クラスターモードが有効) をサポートしていません。

  • Redis 用 Amazon ElastiCache エンジンのアップグレードプロセスは、既存のデータをベストエフォートで保持するように設計されており、Redis レプリケーションが正常に実行される必要があります。

  • エンジンをアップグレードすると、Redis (クラスターモードが無効) から Redis (クラスターモードが有効) に直接アップグレードすることはできません。次の手順では、Redis (クラスターモードが無効) から Redis (クラスターモードが有効) にアップグレードする方法について説明します。

    Redis (クラスターモードが無効) から Redis (クラスターモードが有効) にエンジンバージョンをアップグレードするには

    1. Redis (クラスターモードが無効) クラスターまたはレプリケーショングループのバックアップを取ります。詳細については、「手動バックアップの作成」を参照してください。

    2. バックアップを使用して、1 つのシャード (ノードグループ) を持つ Redis (クラスターモードが有効) クラスターを作成してシードします。新しいエンジンのバージョンを指定し、クラスターまたはレプリケーショングループの作成時にクラスターモードを有効にします。詳細については、「外部で作成されたバックアップによる新しいクラスターのシード」を参照してください。

    3. 古い Redis (クラスターモードが無効) クラスター またはレプリケーショングループを削除します。詳細については、「クラスターの削除」または「レプリケーショングループの削除」を参照してください。

    4. 新しい Redis (クラスターモードが有効) クラスターまたはレプリケーショングループを、必要なシャード (ノードグループ) の数に合わせてスケールします。詳細については、「Redis (クラスターモードが有効) クラスターのスケーリング」を参照してください。

  • 単一の Redis クラスターや、マルチ AZ が無効になっているクラスターの場合、「Redis スナップショットを作成するための十分なメモリがあることの確認」で説明されているように、Redis 用に十分なメモリを確保することをお勧めします。このような場合、プライマリはアップグレードプロセスの実行中、リクエストに対応できません。

  • マルチ AZ が有効になっている Redis クラスターの場合、書き込みの受信トラフィックが少ない期間中にエンジンのアップグレードを予定することもお勧めします。プライマリは、フェイルオーバー開始時の数分を除いて、アップグレードプロセスの実行中でも、引き続きリクエストに対応します。

    複数のシャードを含むクラスターおよびレプリケーショングループは、次のように処理され、パッチが当てられます。

    • すべてのシャードは並行して処理されます。シャードでは、いつでも 1 つのアップグレードオペレーションのみが実行されます。

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

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

  • 現在のクラスターまたはレプリケーショングループで暗号化が有効になっている場合、暗号化をサポートしていないエンジンバージョン (3.2.6 から 3.2.10 など) にアップグレードすることはできません。

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

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

クラスターおよびレプリケーショングループを変更する方法
クラスター レプリケーショングループ
AWS マネジメントコンソール の使用 AWS マネジメントコンソール の使用
AWS CLI の使用 AWS CLI の使用
ElastiCache API の使用 ElastiCache API の使用

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

以下の表に示すように、保留中のスケールアップオペレーションがある場合、Redis エンジンのアップグレードオペレーションはブロックされます。

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

Redis エンジンのアップグレードのブロックを解除するには、以下のいずれかを実行します。

  • [すぐに適用] チェックボックスをオフにすることで (CLI では --no-apply-immediately、API では ApplyImmediately=false を使用)、Redis エンジンのアップグレードオペレーションを次のメンテナンス期間に予定します。

     

  • Redis のエンジンアップグレードオペレーションを実行する次のメンテナンス期間 (またはその後) まで待ちます。

     

  • [Apply Immediately] チェックボックスをオンにし、このクラスターの変更に Redis のスケールアップオペレーションを追加します (CLI では --apply-immediately、API では ApplyImmediately=true を使用)。 (これにより、エンジンのアップグレードがすぐに実行されて、次のメンテナンス期間中のエンジンのアップグレードはキャンセルされます)