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

ノードの置換

Redis 用 Amazon ElastiCache は、インスタンスにシームレスに適用されるパッチとアップグレードを使用して、頻繁にフリートのアップグレードを行います。ただし、場合によっては基盤となるホスト OS の必須更新を適用するために Redis 用 ElastiCache ノードを再起動する必要があります。セキュリティ、信頼性、運用パフォーマンスを強化するアップグレードを適用するため、そのような置換が必要となります。

このような交換を、スケジュールされたノード交換ウィンドウより前に、任意のタイミングで独自に管理することもできます。交換を独自に管理する場合、インスタンスはノードの再起動時に OS の更新を受信し、スケジュールされたノードの交換はキャンセルされます。ノード交換が行われることを示すアラートを引き続き受け取ることがあります。すでにメンテナンスの必要を手動で軽減した場合には、これらのアラートを無視できます。

次のリストで、ElastiCache が Redis ノードの 1 つの置き換えをスケジュールしている場合に取ることのできるアクションを識別します。状況に応じて必要となる情報をすばやく見つけるには、次のメニューから選択します。

Redis ノード交換オプション

  • 何もしない – 何もしない場合、ElastiCache はスケジュールどおりにノードを交換します。

     

    ノードが自動フェイルオーバー対応クラスターのメンバーである場合は、Redis 用 ElastiCache によって、パッチ適用、更新、およびその他のメンテナンス関連のノード交換時の可用性は向上します。

     

    ElastiCache for Redis クラスタークライアントに ElastiCache を使用するように設定された 構成の場合、クラスターが受信書き込みリクエストを処理している間に置換が完了するようになりました。

     

    自動フェイルオーバーが有効になっている非クラスター構成の場合、Redis 5.0.5 上のクラスターで置換は完全に完了しますが、クラスターは引き続きオンラインのままで、受信書き込みリクエストを処理します。Redis 5.0.4 以前の自動フェイルオーバー対応クラスターの場合、DNS 更新に関連する最大数秒の短時間の書き込み中断が発生する場合があります。

     

    ノードがスタンドアロンである場合、Amazon ElastiCache によってまず交換ノードが起動されてから、既存のノードと同期されます。既存のノードは、この間、サービスリクエストに使用できなくなります。同期が完了すると、既存のノードは終了され、新しいノードがその代わりになります。ElastiCache はこのオペレーション中にデータを保持するために最善の努力をします。

     

  • メンテナンスウィンドウを変更する – スケジュールされたメンテナンスイベントの場合、ElastiCache から E メールまたは通知イベントを受け取ります。これらの場合、スケジュールされた交換時間より前にメンテナンスウィンドウを変更すると、ノードは新しい時間に交換されます。詳細については、以下を参照してください。

    注記

    メンテナンスウィンドウを移動して置換ウィンドウを変更する機能は、ElastiCache 通知にメンテナンスウィンドウが含まれている場合にのみ使用できます。通知にメンテナンスウィンドウが含まれていない場合、交換ウィンドウを変更することはできません。

    たとえば、現在が 11 月 9 日の木曜日の 15:00 で、次のメンテナンスウィンドウが 11 月 10 日金曜日の 17:00 であるとします。以下は、3 つのシナリオとその結果です。

    • メンテナンスウィンドウを金曜日の 16:00 に変更します (現在の日時以降で、次の予定メンテナンスウィンドウより前)。ノードは、11 月 10 日の金曜日の 16:00 に交換されます。

    • メンテナンスウィンドウを土曜日の 16:00 に変更します (現在の日時以降で、次の予定メンテナンスウィンドウ以降)。ノードは、11 月 11 日の土曜日の 16:00 に交換されます。

    • メンテナンスウィンドウを水曜日の 16:00 に変更します (同じ週内で、現在の日時より前)。ノードは、11 月 15 日の水曜日の 16:00 に交換されます。

    手順については、「メンテナンスの管理」を参照してください。

     

  • Redis クラスターのノードのみの置き換え – クラスターにリードレプリカがない場合は、次の手順を使ってノードを置き換えることができます。

    バックアップと復元を使用してノードのみを置き換えるには

    1. ノードのクラスターのスナップショットを作成します。手順については、「手動バックアップの作成」を参照してください。

    2. スナップショットからシードして、新しいクラスターを作成します。手順については、「クラスターのサイズ変更 (オプション) によるバックアップからの復元」を参照してください。

    3. 置き換え対象となったノードがあるクラスターを削除します。手順については、「クラスターの削除」を参照してください。

    4. アプリケーションで、古いノードのエンドポイントを新しいノードのエンドポイントに置き換えます。

     

  • Redis クラスターのレプリカノードを交換する – レプリカクラスターを交換するには、レプリカ数を増やします。そのためには、レプリカを追加します。その後、交換するレプリカを削除して、レプリカ数を減らします。このプロセスは動的で、クラスターのダウンタイムはありません。

    注記

    シャードまたはレプリケーショングループにすでに five レプリカがある場合は、ステップ 1 と 2 を逆転します。

    Redis クラスターでレプリカを交換するには

    1. シャードまたはレプリケーショングループにレプリカを追加してレプリカの数を増やします。詳細については、「シャードのレプリカの数を増やす」を参照してください。

    2. 置き換えるレプリカを削除します。詳細については、「シャードのレプリカの数を減らす」を参照してください。

    3. アプリケーションでエンドポイントを更新します。

     

  • Redis (クラスターモードが有効) シャード内のノードを交換する – ダウンタイムなしでクラスター内のノードを交換するには、オンラインリシャーディングを使用します。まずスケールアウトによりシャードを追加し、次にスケールインにより交換するノードを含むシャードを削除します。

    Redis (クラスターモードが有効) クラスターでノードを交換するには

    1. スケールアウト: 置き換えるノードがある既存のシャードと同じ設定のシャードを追加します。詳細については、「オンラインリシャーディングによるシャードの追加」を参照してください。

    2. スケールイン: 置き換えるノードがあるシャードを削除します。詳細については、「オンラインリシャーディングによるシャードの削除」を参照してください。

    3. アプリケーションでエンドポイントを更新します。

     

  • Redis (クラスターモードが無効)クラスターのノードの交換 – クラスターが、リードレプリカのない Redis (クラスターモードが無効) クラスターである場合は、以下の手順を使用してノードを交換します。

    レプリケーションを使用してノードを交換するには (クラスターモードが無効な場合のみ)

    1. プライマリとして交換対象になったノードがあるクラスターにレプリケーションを追加します。このクラスターでマルチ AZ を有効にしないでください。手順については、「シャードがない Redis クラスターにレプリケーションを追加するには」を参照してください。

    2. クラスターにリードレプリカを追加します。手順については、「ノードをクラスターに追加するには (console)」を参照してください。

    3. 新たに作成したリードレプリカをプライマリに昇格させます。手順については、「Redis (クラスターモードが無効) レプリケーショングループのプライマリへのリードレプリカの昇格」を参照してください。

    4. 置き換え対象となったノードを削除します。手順については、「クラスターからのノードの削除」を参照してください。

    5. アプリケーションで、古いノードのエンドポイントを新しいノードのエンドポイントに置き換えます。

     

  • Redis (クラスターモードが無効)リードレプリカを交換する – ノードがレプリケーショングループのリードレプリカである場合、ノードを交換します。

    クラスターに 1 つのレプリカノードのみがあり、マルチ AZ が有効になっている場合は、マルチ AZ を無効にしてからレプリカを削除する必要があります。手順については、「レプリケーショングループの変更」を参照してください。

    Redis (クラスターモードが無効) リードレプリカと置き換えるには

    1. 交換対象となったレプリカを削除します。手順については、以下を参照してください。

    2. 置き換え対象となったレプリカと置き換える新しいレプリカを追加します。先ほど削除したレプリカと同じ名前を使用する場合は、手順 3 を省略できます。手順については、以下を参照してください。

    3. アプリケーションで、古いレプリカのエンドポイントを新しいレプリカのエンドポイントに置き換えます。

    4. 開始時にマルチ AZ が無効になっている場合は、この時点で再び有効にします。手順については、「マルチ AZ で自動フェイルオーバーを有効にする」を参照してください。

     

  • Redis (クラスターモードが無効) プライマリノードを交換する – ノードがプライマリノードである場合は、まずリードレプリカをプライマリに昇格させます。次に、前はプライマリノードであったレプリカを削除します。

    クラスターに 1 つのレプリカのみがあり、マルチ AZ が有効になっている場合は、マルチ AZ を無効にしてからステップ 2 のレプリカを削除する必要があります。手順については、「レプリケーショングループの変更」を参照してください。

    Redis (クラスターモードが無効) プライマリノードを置き換えるには

    1. リードレプリカをプライマリに昇格させます。手順については、「Redis (クラスターモードが無効) レプリケーショングループのプライマリへのリードレプリカの昇格」を参照してください。

    2. 置き換え対象となったノード (前のプライマリ) を削除します。手順については、「クラスターからのノードの削除」を参照してください。

    3. 置き換え対象となったレプリカと置き換える新しいレプリカを追加します。先ほど削除したノードと同じ名前を使用している場合、アプリケーションでエンドポイントの変更をスキップできます。

      手順については、「Redis (クラスターモードが無効) レプリケーショングループへのリードレプリカの追加」を参照してください。

    4. アプリケーションで、古いノードのエンドポイントを新しいノードのエンドポイントに置き換えます。

    5. 開始時にマルチ AZ が無効になっている場合は、この時点で再び有効にします。手順については、「マルチ AZ で自動フェイルオーバーを有効にする」を参照してください。