

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 遷移上一代節點
<a name="CacheNodes.NodeMigration"></a>

上一代節點是逐步遭淘汰的節點類型。如果您現有的叢集沒有使用上一代節點類型，ElastiCache 不支援建立具有此節點類型的新叢集。

由於上一代節點類型的數量有限，我們無法保證您叢集中的節點運作狀態不良時可成功替換。在這種情況下，您的叢集可用性可能會受到負面影響。

 建議您將叢集遷移至新的節點類型，以獲得更佳的可用性和效能。如需建議的遷移節點類型，請參閱[升級途徑](https://aws.amazon.com/ec2/previous-generation/)。如需 ElastiCache 支援的節點類型和上一代節點類型的完整清單，請參閱「[支援的節點類型](CacheNodes.SupportedTypes.md)」。

## 在 Valkey 或 Redis OSS 叢集上遷移節點
<a name="CacheNodes.NodeMigration.Redis"></a>

下列程序說明如何使用 ElastiCache 主控台遷移您的 Valkey 或 Redis OSS 叢集節點類型。在此過程中，您的 Valkey 或 Redis OSS 叢集將繼續以最短的停機時間處理請求。根據您的叢集組態，您可能會看到下列停機時間。以下是估計值，可能會因您的具體組態而有所不同：
+ 停用叢集模式 (單節點) 可能會經歷大約 60 秒，主要原因是 DNS 傳播。
+ 對於執行 Valkey 7.2 及更高版本或 Redis OSS 5.0.6 及更高版本的叢集，停用叢集模式 （具有複本節點） 可能會看到大約 1 秒。所有較低版本都可能經歷大約 10 秒。
+ 啟用叢集模式可能會經歷大約 1 秒。

**若要使用主控台修改 Valkey 或 Redis OSS 叢集節點類型：**

1. 登入主控台，並前往 [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/home) 開啟 ElastiCache 主控台。

1. 從導覽窗格中，選擇 **Valkey 叢集**或 **Redis OSS 叢集**。

1. 從叢集清單中選擇您要遷移的目標叢集。

1. 選擇 **Actions (動作)**，然後選擇 **Modify (修改)**。

1. 從節點類型清單中選擇新的節點類型。

1. 如果您要立即執行遷移程序，請選擇 **Apply immediately (立即套用)**。如果未選擇 **Apply immediately (立即套用)**，便會在此叢集的下一個維護時段期間執行遷移。

1. 選擇 **Modify** (修改)。如果您在上一個步驟中選擇 **Apply immediately (立即套用)**，叢集的狀態變更為 **modifying (修改中)**。當狀態變更為 **available (可用)**，修改即已完成，並且您可以開始使用新叢集。

*若要使用 修改 Valkey 或 Redis OSS 叢集節點類型 AWS CLI：*

使用 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) API，如下所示：

若為 Linux、macOS 或 Unix：

```
aws elasticache modify-replication-group /
	--replication-group-id my-replication-group /
	--cache-node-type new-node-type /
	--apply-immediately
```

針對 Windows：

```
aws elasticache modify-replication-group ^
	--replication-group-id my-replication-group ^
	--cache-node-type new-node-type ^
	--apply-immediately
```

在這個案例中，*new-node-type* 的值就是您要遷移的目標節點類型。若傳遞 `--apply-immediately` 參數，當複寫群組從**修改中**變為**可用**狀態時，就會立即套用更新。如果未選擇 **Apply immediately (立即套用)**，便會在此叢集的下一個維護時段期間執行遷移。

**注意**  
如果無法修改具有 `InvalidCacheClusterState` 錯誤的叢集，您需要先移除還原失敗的節點。

### 修正或移除還原失敗的節點
<a name="remove-restore-failed-node"></a>

 下列程序說明如何修正或移除 Valkey 或 Redis OSS 叢集 （還原失敗的節點）。若要深入了解 ElastiCache 節點如何進入還原失敗狀態，請參閱 [檢視 ElastiCache 節點狀態](Nodes.viewing.md)。我們建議先移除處於還原失敗狀態的任何節點，然後將 ElastiCache 叢集中剩餘的上一代節點遷移至較新一代的節點類型，最後再新增所需的節點數。

移除還原失敗的節點 (主控台)：

1. 登入主控台並前往 [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/home) 開啟 ElastiCache 主控台。

1. 從導覽窗格中，選擇 **Valkey 叢集**或 **Redis OSS 叢集**。

1. 在叢集清單中，選擇您要從中移除節點的叢集。

1. 在節點清單中，選擇您要從中移除節點的碎片。如果叢集已停用叢集模式，請略過此步驟。

1. 在節點清單中，選擇狀態為 `restore-failed` 的節點。

1. 選擇 **Actions (動作)**，然後選擇 **Delete node (刪除節點)**。

從 ElastiCache 叢集中移除還原失敗的節點後，您現在就可以遷移至較新一代的類型。如需詳細資訊，請參閱上方的 [在 Valkey 或 Redis OSS 叢集上遷移節點](#CacheNodes.NodeMigration.Redis)。

若要將節點新增回您的 ElastiCache 叢集，請參閱 [將節點新增至 ElastiCache 叢集](Clusters.AddNode.md)。

## 遷移 Memcached 叢集上的節點
<a name="CacheNodes.NodeMigration.Memcached"></a>

若要將 ElastiCache for Memcached 遷移到不同的節點類型，您必須建立一個新的叢集，這類叢集一開始一律是空的，以便填入您的應用程式。

**使用 ElastiCache 主控台遷移 ElastiCache for Memcached 叢集節點類型：**
+ 使用新的節點類型來建立新叢集。如需詳細資訊，請參閱[建立 Memcached 叢集 (主控台)](Clusters.Create-mc.md#Clusters.Create.CON.Memcached)。
+ 在應用程式中，將端點更新為新叢集的端點。如需詳細資訊，請參閱「[尋找叢集的端點 （主控台） (Memcached)](Endpoints.md#Endpoints.Find.Memcached)」
+ 刪除舊叢集。如需詳細資訊，請參閱[在 ElastiCache 中刪除叢集](Clusters.Delete.md)