ノードの置換 - Amazon ElastiCache フォー・レディス

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

ノードの置換

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

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

注記

Amazon ElastiCache によって自動生成される交換キャッシュノードは、異なる IP アドレスを持つ場合があります。キャッシュノードを適切な IP アドレスに関連付けるようにアプリケーションが設定されていることを必ず確認してください。

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

Redis ノード交換オプション
  • [何もしない] – 何もしない場合、ElastiCache はスケジュールどおりにノードを交換します。

     

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

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

     

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

     

    自動フェイルオーバーが有効になっている非クラスター構成の場合、Redis 5.0.6 以上のクラスターで置換は完全に完了しますが、クラスターは引き続きオンラインのままで、受信書き込みリクエストを処理します。Redis 4.0.10 以前の自動フェイルオーバー対応クラスターの場合、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 クラスターのレプリカノードの置き換え] – レプリカクラスターを置き換えるには、レプリカ数を増やします。そのためには、レプリカを追加します。その後、交換するレプリカを削除して、レプリカ数を減らします。このプロセスは動的で、クラスターのダウンタイムはありません。

    注記

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

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

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

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

     

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

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

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

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

     

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

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

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

    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 の有効化 」を参照してください。