

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 升级引擎版本，包括跨引擎升级
<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_cn/AmazonElastiCache/latest/dg/VersionManagement.HowTo.html)

**Memcached**

对于 Memcached，要启动对集群的版本升级，请对其进行修改并指定较新的引擎版本。您可以使用 ElastiCache 控制台、AWS CLI 或 ElastiCache API 执行此步骤：
+ 要使用 AWS 管理控制台，请参阅 – [使用 ElastiCache AWS 管理控制台](Clusters.Modify.md#Clusters.Modify.CON)。
+ 要使用 AWS CLI，请参阅[使用 ElastiCache AWS CLI](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 及更高版本升级时，您不会遇到停机。

**注意**  
**从 Redis OSS 升级到 Valkey 的 AWS 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 区域中列出。

**注意**  
直接从 Redis OSS 4 或更低版本升级到 Valkey 可能会导致在 DNS 传播期间出现 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 仅支持从 Redis OSS 7.1 回滚到 Valkey 7.2。即使您从低于 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_cn/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`。

    此方法将立即执行引擎升级，从而有效地在下一维护时段内取消该操作。