

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

# ノードの置き換え (Valkey および Redis OSS)
<a name="CacheNodes.NodeReplacement"></a>

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

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

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

次のリストでは、ElastiCache が Valkey または Redis OSS ノードの 1 つの置き換えをスケジュールする場合に取ることのできるアクションを示しています。状況に応じて必要となる情報をすばやく見つけるには、次のメニューから選択します。
+ [Do nothing](#DoNothing) — Amazon ElastiCache がスケジュールどおりにノードを置き換えるようにします。
+ [Change your maintenance window](#ChangeWindow) – メンテナンス時間をより適切な時刻に変更します。
+ Valkey または Redis OSS (クラスターモードが有効) の設定
  + [Replace the only node in any Valkey or Redis OSS cluster](#ReplaceStandalone) – バックアップと復元を使用して Valkey または Redis OSS クラスター内のノードを置き換える手順。
  + [Replace a replica node in any Valkey or Redis OSS cluster](#ReplaceReplica) – クラスターのダウンタイムなしでレプリカの数を増減させて Valkey または Redis OSS クラスターのリードレプリカを置き換える手順。
  + [Replace any node in a Valkey or Redis OSS (cluster mode enabled) shard](#ReplaceShardNode) – Valkey または Redis OSS (クラスターモードが有効) クラスターのノードをスケールアウトおよびスケールインして、クラスターのダウンタイムなしで置き換える動的手順。
+ Valkey または Redis OSS (クラスターモードが無効) の設定
  + [Replace the only node in any Valkey or Redis OSS cluster](#ReplaceStandalone) – バックアップと復元を使用して Valkey または Redis OSS クラスター内の任意のノードを置き換える手順。
  + [Replace a replica node in any Valkey or Redis OSS cluster](#ReplaceReplica) – クラスターのダウンタイムなしでレプリカの数を増減させて Valkey または Redis OSS クラスターのリードレプリカを置き換える手順。
  + [Replace a node in a Valkey or Redis OSS (cluster mode disabled) cluster](#ReplaceStandaloneClassic) – レプリケーションを使用して Valkey または Redis OSS (クラスターモードが無効) クラスター内のノードを置き換える手順。
  + [Replace a Valkey or Redis OSS (cluster mode disabled) read-replica](#ReplaceReadReplica) – Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのリードレプリカを手動で置き換える手順。
  + [Replace a Valkey or Redis OSS (cluster mode disabled) primary node](#ReplacePrimary) — Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのプライマリノードを手動で置き換える手順。

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

   

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

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

   

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

   

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

   

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

   
+ [**メンテナンスウィンドウを変更する**] – スケジュールされたメンテナンスイベントの場合、ElastiCache から E メールまたは通知イベントを受け取ります。これらの場合、スケジュールされた交換時間より前にメンテナンスウィンドウを変更すると、ノードは新しい時間に交換されます。詳細については次を参照してください:
  + [ElastiCache クラスターの変更](Clusters.Modify.md)
  + [レプリケーショングループの変更](Replication.Modify.md)
**注記**  
メンテナンスウィンドウを移動して置換ウィンドウを変更する機能は、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 に交換されます。

  手順については、「[ElastiCache クラスターメンテナンスの管理](maintenance-window.md)」を参照してください。

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

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

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

  1. スナップショットからシードして、新しいクラスターを作成します。手順については、「[バックアップから新しいキャッシュへの復元](backups-restoring.md)」を参照してください。

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

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

   
+ **[Valkey または Redis OSS クラスターのレプリカノードの置き換え]** – レプリカクラスターを置き換えるには、レプリカ数を増やします。そのためには、レプリカを追加します。その後、交換するレプリカを削除して、レプリカ数を減らします。このプロセスは動的で、クラスターのダウンタイムはありません。
**注記**  
シャードまたはレプリケーショングループにすでに 5 つのレプリカがある場合は、ステップ 1 と 2 を逆転します。

**Valkey または Redis OSS クラスターでレプリカを置き換えるには**

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

  1. 置き換えるレプリカを削除します。詳細については、「[シャードのレプリカの数を減らす](decrease-replica-count.md)」を参照してください。

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

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

**Valkey または Redis OSS (クラスターモード有効) クラスター内の任意のノードを置き換えるには**

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

  1. スケールイン: 置き換えるノードがあるシャードを削除します。詳細については、「[オンラインリシャーディングによるシャードの削除](scaling-redis-cluster-mode-enabled.md#redis-cluster-resharding-online-remove)」を参照してください。

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

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

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

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

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

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

  1. 置き換え対象となったノードを削除します。手順については、「[ElastiCache クラスターからノードを削除する](Clusters.DeleteNode.md)」を参照してください。

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

   
+ **[Valkey または Redis OSS (クラスターモードが無効) リードレプリカの置き換え]** – ノードがリードレプリカである場合、ノードを置き換えます。

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

**Valkey または Redis OSS (クラスターモードが無効) リードレプリカを置き換えるには**

  1. 交換対象となったレプリカを削除します。手順については、以下を参照してください。
     + [シャードのレプリカの数を減らす](decrease-replica-count.md)
     + [ElastiCache クラスターからノードを削除する](Clusters.DeleteNode.md)

  1. 置き換え対象となったレプリカと置き換える新しいレプリカを追加します。先ほど削除したレプリカと同じ名前を使用する場合は、手順 3 を省略できます。手順については、以下を参照してください。
     + [シャードのレプリカの数を増やす](increase-replica-count.md)
     + [Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを追加する](Replication.AddReadReplica.md)

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

  1. 開始時にマルチ AZ が無効になっている場合は、この時点で再び有効にします。手順については、「[マルチ AZ の有効化](AutoFailover.md#AutoFailover.Enable)」を参照してください。

   
+ **[Valkey または Redis OSS (クラスターモードが無効) プライマリノードの置き換え]** – ノードがプライマリノードである場合は、まずリードレプリカをプライマリに昇格させます。次に、前はプライマリノードであったレプリカを削除します。

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

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

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

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

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

     手順については、「[Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを追加する](Replication.AddReadReplica.md)」を参照してください。

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

  1. 開始時にマルチ AZ が無効になっている場合は、この時点で再び有効にします。手順については、「[マルチ AZ の有効化](AutoFailover.md#AutoFailover.Enable)」を参照してください。

   