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

迁移上一代节点

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

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

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

迁移 Redis 集群上的节点

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

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

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

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

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

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

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

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

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

  5. 从节点类型列表中选择新节点类型(如果列表中没有节点类型,请验证您是否在 EC2-Classic 上运行。有关更多信息,请参阅 如果节点在 EC2-Classic 上运行

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

  7. 选择修改。如果您在上一步选择了 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 错误的集群,则需要先删除还原失败的节点。有关更多信息,请参阅 移除还原失败的节点

完成该过程后,您可以使用前面的步骤修改节点类型。

移除还原失败的节点

以下过程介绍如何从 Redis 集群中移除还原失败的节点。要移除还原失败的节点(控制台):

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

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

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

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

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

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

如果节点在 EC2-Classic 上运行

我们将于 2022 年 8 月 15 日停用 EC2-Classic。我们建议您从 EC2-Classic 迁移到 VPC。有关更多信息,请参阅 将 EC2-Classic 集群迁移到 VPCEC2-Classic Networking is Retiring – Here’s How to Prepare 博客文章。

按照以下步骤验证 EC2 是否在 EC2-Classic 平台(控制台)中运行:

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中选择实例

  3. 选择您的实例,然后转到 Description(说明)

  4. 如果 VPC ID 为空,则实例在 EC2-Classic 平台上运行。

有关将 EC2-Classic 实例迁移到 VPC 的信息,请参阅 将 EC2-Classic 集群迁移到 VPC