迁移上一代节点 - ElastiCache 适用于 Redis 的 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

迁移上一代节点

上一代节点是正在逐步停用的节点类型。如果您的现有集群未使用上一代节点类型,则 ElastiCache 不支持创建具有该节点类型的新集群。

由于上一代节点类型的数量有限,当某一节点在集群中运行状况不佳时,我们无法保证成功替换该节点。在这种情况下,您的集群可用性可能会受到负面影响。

我们建议您将集群迁移到新的节点类型,以获得更好的可用性和性能。有关要迁移到的建议节点类型,请参阅升级途径。有关 ElastiCache 中支持的节点类型和上一代节点类型的完整列表,请参阅 受支持的节点类型

迁移 Redis 集群上的节点

以下过程介绍如何使用 ElastiCache 控制台迁移 Redis 集群节点类型。在此过程中,Redis 集群将继续处理请求,且停机时间降至最短。根据您的集群配置,您可能会遇到以下停机时间。以下是估计值,可能因您的具体配置而有所不同:

  • 已禁用集群模式(单节点)的停机时间可能大约为 60 秒,主要原因是 DNS 传播。

  • 对于运行 Redis 5.0.6 及以上版本的集群,已禁用集群模式(具有副本节点)的停机时间可能大约为 1 秒钟。所有较低版本的停机时间大约为 10 秒钟。

  • 启用集群模式的停机时间可能大约为 1 秒钟。

要使用控制台修改 Redis 集群节点类型:

  1. 登录到控制台并打开 ElastiCache 控制台(https://console.aws.amazon.com/elasticache/)。

  2. 从导航窗格中,选择 Redis clusters(Redis 集群)。

  3. 从集群列表中,选择要迁移的集群。

  4. 选择 Actions(操作),然后选择 Modify(修改)。

  5. 从节点类型列表中选择新的节点类型。

  6. 如果您要立即执行迁移过程,请选择 Apply immediately(立即应用)。如果 Apply immediately(立即应用)处于未选中状态,则在此集群的下一维护时段内执行迁移过程。

  7. 选择 Modify(修改)。如果您在上一步选择了 Apply immediately,则集群的状态将变为 modifying。当状态变为 available 时,即表示修改完成,您可以开始使用新集群。

要使用 Amazon CLI 修改 Redis 集群节点类型:

使用 modify-replication-group 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 参数,当复制组从 modifying(正在修改)变为 available(可用)状态时,将立即应用更新。如果 Apply immediately(立即应用)处于未选中状态,则在此集群的下一维护时段内执行迁移过程。

注意

如果您无法修改带有 InvalidCacheClusterState 错误的集群,则需要先删除还原失败的节点。

修复或移除 restore-failed-node

以下过程介绍如何从 Redis 集群中移除还原失败的节点。要详细了解 ElastiCache 节点如何进入还原失败状态,请参阅查看 ElastiCache 节点状态。我们建议先移除所有处于还原失败状态的节点,然后将 ElastiCache 集群中剩余的上一代节点迁移到新一代节点类型,最后再重新添加所需数量的节点。

要移除还原失败的节点(控制台):

  1. 登录到控制台并打开 ElastiCache 控制台(https://console.aws.amazon.com/elasticache/)。

  2. 从导航窗格中,选择 Redis clusters(Redis 集群)。

  3. 从集群列表中,选择要从中移除节点的集群。

  4. 从分区列表中,选择要从中移除节点的分区。如果集群的集群模式已禁用,则跳过此步骤。

  5. 从节点列表中,选择状态为 restore-failed 的节点。

  6. 选择 Actions(操作),然后选择 Delete node(删除节点)

从 ElastiCache 集群中移除还原失败的节点后,您现在可以迁移到新一代类型。有关更多信息,请参阅有关迁移 Redis 集群上的节点的上述内容。

要重新向 ElastiCache 集群添加节点,请参阅向集群添加节点