View a markdown version of this page

升级引擎版本,包括跨引擎升级 - 亚马逊 ElastiCache

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

升级引擎版本,包括跨引擎升级

Valkey 还有 Redis OSS

和 Valkey 和 Redis OSS,您可以通过使用修改集群或复制组来启动集群或复制组的版本升级 ElastiCache 控制台, AWS CLI,或者 ElastiCache API 并指定更新的引擎版本。

你也可以从 Redis OSS 交叉升级到 Valkey。有关跨越升级的更多信息,请参阅如何从 Redis OSS 升级到 Valkey。

如何修改集群和复制组

Valkey 还有 Redis OSS

Memcached

对于 Memcached,要启动对集群的版本升级,请对其进行修改并指定较新的引擎版本。你可以通过使用来做到这一点 ElastiCache 控制台, AWS CLI,或者 ElastiCache API:

如何从 Redis OSS 升级到 Valkey

Valkey 是作为 Redis OSS 7 的即用替代品而设计的。你可以从 Redis OSS 升级到 Valkey 使用控制台、API 或 CLI,指定新的引擎和主要引擎版本。应用程序的所有方面,包括终端节点 DNS 名称,都将保持不变,但对于基于节点的集群,底层节点 IP 地址将在升级期间发生变化。从 Redis OSS 5.0.6 或更高版本升级时,您将经历最短的停机时间。集群在整个升级过程中可供读取,并在大部分升级持续时间内可供写入,但在只持续几秒钟的故障转移操作期间则例外。

注意

AWS Redis OSS 的 CLI 版本要求为 Valkey 升级:

  • 对于 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 引擎,首先按照以下步骤操作: 使用现有集群创建复制组。将 Redis OSS(已禁用集群模式)单节点集群添加到复制组后,您可以跨引擎升级到 Valkey。

将复制组从 Redis OSS 升级到 Valkey

如果您有使用默认缓存参数组的现有 Redis OSS 复制组,则可以升级到 Valkey 通过使用 modify-replication-group API 指定新的引擎和引擎版本。

对于 Linux、macOS 或 Unix:

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

对于 Windows:

aws elasticache modify-replication-group ^ --replication-group-id myReplGroup ^ --engine valkey ^ --engine-version 9.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 9.0 \ --cache-parameter-group-name myParamGroup

对于 Windows:

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

将 Redis OSS 无服务器缓存升级到 Valkey 使用 CLI

对于 Linux、macOS 或 Unix:

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

对于 Windows:

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

将 Redis OSS 升级到 Valkey 使用控制台

从 Redis OSS 5 升级到 Valkey

  1. 选择要升级的 Redis OSS 缓存。

  2. 一个 升级到 Valkey 窗口应该出现。选择 升级到 Valkey 按钮。

  3. 转至缓存设置,然后选择引擎版本。最新版本的 Valkey 值得推荐。

  4. 如果此缓存是无服务器的,则需要更新参数组。转至缓存设置的参数组区域,选择相应的参数组,例如 default.valkey8。

  5. 选择升级。

此缓存现在将列在 Valkey 控制台区域。

注意

直接从 Redis OSS 4 或更低版本升级到 Valkey 在 DNS 传播期间,可能包括 30 到 60 秒的更长故障转移时间。

如何从降级 Valkey 到 Redis OSS

如果您出于任何原因希望回滚升级后的集群,亚马逊 ElastiCache 支持回滚 Valkey 7.2 缓存到 Redis OSS 7.1。通过将 Redis OSS 7.1 指定为目标引擎版本,您可以使用与引擎升级相同的控制台、API 或 CLI 步骤执行回滚。应用程序的所有方面,包括终端节点 DNS 名称,都将保持不变,但对于基于节点的集群,底层节点 IP 地址将在回滚期间发生变化。回滚时,您将经历最少的停机时间。集群在整个回滚期间可用于读取,并且在大部分回滚持续时间内可用于写入,但持续几秒钟的故障转移操作期间除外。

此外,您可以恢复从您的创建的快照 Valkey 7.2 缓存为 Redis OSS 7.1 缓存。从快照还原时,您可以将 Redis OSS 7.1 指定为目标引擎版本。使用此选项时,系统将根据快照创建新的缓存。从快照恢复对快照没有影响 Valkey 创建快照时使用的缓存。

执行回滚时存在以下要求和限制:

  • ElastiCache 仅支持从中回滚 Valkey 7.2 到 Redis OSS 7.1。即使你升级到,也是如此 Valkey 7.2 来自 Redis OSS 7.1 之前的版本。

  • 任何与正在回滚的复制组或无服务器缓存关联的用户组和用户都必须配置引擎类型 REDIS。

解析已屏蔽 Valkey 或 Redis OSS 引擎升级

如下表所示,您的 Valkey 或者,如果您有待执行的向上扩展操作,则会阻止 Redis OSS 引擎升级操作。

待处理的操作 阻止的操作
纵向扩展 立即引擎升级
引擎升级 立即纵向扩展
纵向扩展和引擎升级 立即纵向扩展
立即引擎升级
解决被封锁的问题 Valkey 或 Redis OSS 引擎升级
  • 请执行以下操作之一:

    • 安排您的 Redis OSS 或 Valkey 在下一个维护窗口中执行引擎升级操作,方法是清除 立即申请 复选框。

      对于 CLI,请使用 --no-apply-immediately。对于 API,请使用 ApplyImmediately=false。

    • 等到下一维护时段(或之后)再执行 Redis OSS 引擎升级操作。

    • 将 Redis OSS 纵向扩展操作添加到选中了立即应用复选框的集群修改中。

      对于 CLI,请使用 --apply-immediately。对于 API,请使用 ApplyImmediately=true。

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