

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

# 升級引擎版本，包括跨引擎升級
<a name="VersionManagement.HowTo"></a>

**Valkey 和 Redis OSS**

透過 Valkey 和 Redis OSS，您可以使用 ElastiCache 主控台 AWS CLI、 或 ElastiCache API 修改叢集或複寫群組的版本升級，並指定較新的引擎版本。

您也可以從 Redis OSS 跨升級至 Valkey。如需跨升級的詳細資訊，請參閱 [如何從 Redis OSS 升級到 Valkey](#VersionManagement.HowTo.cross-engine-upgrade)。

**Topics**
+ [如何從 Redis OSS 升級到 Valkey](#VersionManagement.HowTo.cross-engine-upgrade)
+ [解決封鎖的 Valkey 或 Redis OSS 引擎升級](#resolving-blocked-engine-upgrades)


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/VersionManagement.HowTo.html)

**Memcached**

使用 Memcached，若要開始叢集的版本升級，請修改它並指定較新的引擎版本。您可以使用 ElastiCache 主控台、 AWS CLI或 ElastiCache API 進行升級：
+ 若要使用 AWS 管理主控台，請參閱 – [使用 ElastiCache AWS 管理主控台](Clusters.Modify.md#Clusters.Modify.CON)。
+ 若要使用 AWS CLI，請參閱 [AWS CLI 搭配 ElastiCache 使用](Clusters.Modify.md#Clusters.Modify.CLI)。
+ 若要使用 ElastiCache API，請參閱「[使用 ElastiCache API](Clusters.Modify.md#Clusters.Modify.API)」。

## 如何從 Redis OSS 升級到 Valkey
<a name="VersionManagement.HowTo.cross-engine-upgrade"></a>

Valkey 旨在做為 Redis OSS 7 的插入式取代。您可以使用主控台、API 或 CLI，指定新的引擎和主要引擎版本，從 Redis OSS 升級到 Valkey。升級不會變更端點 IP 地址和應用程式的所有其他層面。從 Redis OSS 5.0.6 及更高版本升級時，您不會遇到停機時間。

**注意**  
**AWS Redis OSS 至 Valkey 升級的 CLI 版本需求：**  
對於 AWS CLI v1：最低必要版本 1.35.2 （目前版本：1.40.22)
對於 AWS CLI v2：最低必要版本 2.18.2 （目前版本：2.27.22)

**注意**  
從早於 5.0.6 的 Redis OSS 版本升級時，您可能會在 DNS 傳播期間遇到 30 到 60 秒的容錯移轉時間。
若要將現有的 Redis OSS （停用叢集模式） 單一節點叢集升級至 Valkey 引擎，請先遵循下列步驟：[使用現有叢集建立複寫群組](Replication.CreatingReplGroup.ExistingCluster.md)。將 Redis OSS （停用叢集模式） 單一節點叢集新增至複寫群組後，您就可以跨引擎升級至 Valkey。

### 將複寫群組從 Redis OSS 升級到 Valkey
<a name="cross-engine-upgrades.replication-group"></a>

如果您有現有的 Redis OSS 複寫群組正在使用預設快取參數群組，您可以使用 modify-replication-group API 指定新的引擎和引擎版本，以升級至 Valkey。

若為 Linux、macOS 或 Unix：

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --engine valkey \
   --engine-version 8.0
```

針對 Windows：

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --engine valkey ^
   --engine-version 8.0
```

如果您將自訂快取參數群組套用至想要升級的現有 Redis OSS 複寫群組，您也需要在請求中傳遞自訂的 Valkey 快取參數群組。輸入 Valkey 自訂參數群組必須與現有的 Redis OSS 自訂參數群組具有相同的 Redis OSS 靜態參數值。

若為 Linux、macOS 或 Unix：

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --engine valkey \
   --engine-version 8.0 \
   --cache-parameter-group-name myParamGroup
```

針對 Windows：

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --engine valkey ^
   --engine-version 8.0 ^
   --cache-parameter-group-name myParamGroup
```

### 使用 CLI 將 Redis OSS 無伺服器快取升級至 Valkey
<a name="cross-engine-upgrades.cli"></a>

若為 Linux、macOS 或 Unix：

```
aws elasticache modify-serverless-cache \
   --serverless-cache-name myCluster \
   --engine valkey \
   --major-engine-version 8
```

針對 Windows：

```
aws elasticache modify-serverless-cache ^
   --serverless-cache-name myCluster ^
   --engine valkey ^
   --major-engine-version 8
```

### 使用主控台將 Redis OSS 升級到 Valkey
<a name="cross-engine-upgrades.console"></a>

**從 Redis OSS 5 升級到 Valkey**

1. 選取要升級的 Redis OSS 快取。

1. 應會出現**升級到 Valkey** 視窗。選取**升級至 Valkey** 按鈕。

1. 前往**快取設定**，然後選取**引擎版本**。建議使用最新版本的 Valkey。

1. 如果此快取是無伺服器快取，則您需要更新參數群組。前往**快取設定的****參數群組**區域，選取適當的參數群組，例如 *default.valkey8*。

1. 選取**升級**。

此快取現在會列在 主控台的 Valkey 區域中。

**注意**  
在 DNS 傳播期間，直接從 Redis OSS 4 或更低版本升級至 Valkey 可能包含 30 到 60 秒的較長容錯移轉時間。

### 如何從 Valkey 降級至 Redis OSS
<a name="cross-engine-downgrades.console"></a>

 如果基於任何原因您想要復原升級的叢集，Amazon ElastiCache 支援將 Valkey 7.2 快取復原至 Redis OSS 7.1。您可以使用與引擎升級相同的主控台、API 或 CLI 步驟執行轉返，並將 Redis OSS 7.1 指定為目標引擎版本。轉返使用與升級相同的程序。復原不會變更端點 IP 地址和應用程式的所有其他層面，也不會發生停機時間。

 此外，您可以將從 Valkey 7.2 快取建立的快照還原為 Redis OSS 7.1 快取。從快照還原時，您可以將 Redis OSS 7.1 指定為目標引擎版本。使用此選項時，將從快照建立新的快取。從快照還原不會影響從中建立快照的 Valkey 快取。

 執行轉返時，適用下列要求和限制：
+  ElastiCache 僅支援從 Valkey 7.2 轉返至 Redis OSS 7.1。即使您從比 Redis OSS 7.1 更舊的版本升級至 Valkey 7.2，也是如此。
+  與正在復原的複寫群組或無伺服器快取相關聯的任何使用者群組和使用者都必須設定為引擎類型 `REDIS`。

## 解決封鎖的 Valkey 或 Redis OSS 引擎升級
<a name="resolving-blocked-engine-upgrades"></a>

如下表所示，如果您有待處理的擴展操作，則會封鎖您的 Valkey 或 Redis OSS 引擎升級操作。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/VersionManagement.HowTo.html)

**解決封鎖的 Valkey 或 Redis OSS 引擎升級**
+ 執行以下任意一項：
  + 清除**立即套用**核取方塊，為下一個維護時段排程 Redis OSS 或 Valkey 引擎升級操作。

    若是 CLI，使用 `--no-apply-immediately`。若是 API，使用 `ApplyImmediately=false`。
  + 請等到下一個維護時段 （或之後） 執行 Redis OSS 引擎升級操作。
  + 選擇**立即套用**核取方塊，將 Redis OSS 擴展操作新增至此叢集修改。

    若是 CLI，使用 `--apply-immediately`。若是 API，使用 `ApplyImmediately=true`。

    此方法會立即執行引擎升級，而取消下一個維護時段的引擎升級。