替换节点 - 亚马逊 ElastiCache (Redis OSS)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

替换节点

亚马逊 ElastiCache (Redis OSS)经常通过将补丁和升级无缝应用于实例来升级其舰队。但是,我们需要不时重新启动您的 ElastiCache (Redis OSS)节点,以便将强制性的操作系统更新应用于底层主机。我们需要进行升级来增强安全性、可靠性和操作性能,而应用这些升级就需要进行替换。

您还可以选择在计划节点替换时段之前的任意时间自已管理这些替换。当您自己管理替换时,您的实例将在重启节点时收到操作系统更新,并且您的计划节点替换将被取消。您可能会继续接收指示节点替换将发生的提醒。如果您已手动缓解对于维护的需求,则可以忽略这些提醒。

注意

Amazon 自动生成的替换缓存节点 ElastiCache 可能具有不同的 IP 地址。您负责查看应用程序配置,以确保缓存节点与适当的 IP 地址关联。

以下列表列出了在 ElastiCache 计划替换其中一个 Redis OSS 节点时可以采取的操作。要加快查找您的场景所需的信息,请从以下菜单中进行选择。

Redis OSS 节点替换选项
  • 什么都不做 — 如果什么都不做,则按计划 ElastiCache 替换节点。

     

    对于启用了自动故障转移的非集群配置,Redis OSS 5.0.6 及更高版本上的集群将完全替换,同时集群继续保持在线状态并处理传入的写入请求。对于 Redis OSS 4.0.10 或更低版本上启用了自动故障转移的集群,您可能会注意到与 DNS 更新相关的短暂写入中断,长达几秒钟。

    如果该节点是启用了自动故障转移的集群的成员,则 ElastiCache (Redis OSS) 将在修补、更新和其他与维护相关的节点更换期间提高可用性。

     

    对于设置为使用 ElastiCache (Redis OSS) 集群客户端的 ElastiCache (Redis OSS) 集群配置,在集群处理传入的写入请求时,替换现已完成。

     

    对于启用了自动故障转移的非集群配置,Redis OSS 5.0.6 及更高版本上的集群将完全替换,同时集群继续保持在线状态并处理传入的写入请求。对于 Redis OSS 4.0.10 或更低版本上启用了自动故障转移的集群,您可能会注意到与 DNS 更新相关的短暂写入中断,长达几秒钟。

     

    如果该节点是独立的,Amazon 会 ElastiCache 首先启动一个替换节点,然后从现有节点进行同步。在这段时间内,现有节点不可用于处理服务请求。同步完成后,将终止现有节点,取而代之的是新节点。 ElastiCache 在此操作期间会尽最大努力保留您的数据。

     

  • 更改您的维护时段-对于计划的维护事件,您会收到来自的电子邮件或通知事件 ElastiCache。在这些情况下,如果在计划替换时间之前更改维护时段,则现在将在新时间替换您的节点。有关更多信息,请参阅下列内容:

    注意

    只有当 ElastiCache 通知包含维护时段时,才能通过移动维护时段来更改替换窗口。如果该通知不包括维护时段,您则无法更改替换窗口。

    例如,假设现在是 11 月 9 日星期四 15:00,下一个维护时段是 11 月 10 日星期五 17:00。下面是 3 种情况及其结果:

    • 您将维护时段更改为星期五 16:00,这在当前日期和时间之后且在下一个计划维护时段之前。将在 11 月 10 日星期五 16:00 替换节点。

    • 您将维护时段更改为星期六 16:00,这在当前日期和时间之后且在下一个计划维护时段之后。将在 11 月 11 日星期六 16:00 替换节点。

    • 您将维护时段更改为星期三 16:00,这在当前日期和时间之前。将在 11 月 15 日下一个星期三 16:00 替换节点。

    有关说明,请参阅管理维护

     

  • 替换任何 Redis OSS 集群中唯一的节点 — 如果集群没有任何只读副本,则可以使用以下步骤替换该节点。

    使用备份和还原替换仅有的节点
    1. 创建节点的集群的快照。有关说明,请参阅进行手动备份

    2. 以快照做种创建新集群。有关说明,请参阅从备份还原到新缓存

    3. 删除具有计划替换的节点的集群。有关说明,请参阅删除集群

    4. 在您的应用程序中,将旧节点的终端节点替换为新节点的终端节点。

     

  • 替换任何 Redis OSS 集群中的副本节点 — 要替换副本集群,请增加副本数量。为此,请添加副本,然后通过删除要替换的副本来减少副本计数。此过程是动态的,不会有任何集群停机。

    注意

    如果您的分区或复制组已有五个副本,请反向操作步骤 1 和 2。

    替换任何 Redis OSS 集群中的副本
    1. 通过将副本添加到分片或复制组来增加副本数量。有关更多信息,请参阅 增加分区中的副本数量

    2. 删除要替换的副本。有关更多信息,请参阅 减少分区中的副本数量

    3. 更新应用程序中的终端节点。

     

  • 替换 Redis OSS(已启用集群模式)分片中的任何节点 — 要在不停机的情况下替换集群中的节点,请使用在线重新分片。首先通过横向扩展来添加分片,然后通过缩减来删除具有要替换的节点的分片。

    替换 Redis OSS(已启用集群模式)集群中的任何节点
    1. 扩展:添加其配置与具有要替换的节点的现有分片的配置相同的其他分片。有关更多信息,请参阅 通过在线重新分片功能添加分片

    2. 缩减:删除具有要替换的节点的分区。有关更多信息,请参阅 通过在线重新分片功能删除分片

    3. 更新应用程序中的终端节点。

     

  • 替换 Redis OSS(已禁用集群模式)集群中的节点-如果该集群是没有任何只读副本的 Redis OSS(已禁用集群模式)集群,请使用以下步骤替换该节点。

    使用复制替换节点(仅限已禁用集群模式)
    1. 使用计划替换的节点作为主节点向集群添加复制。不要在此集群上启用多可用区。有关说明,请参阅向没有分片的 Redis OSS 集群添加复制

    2. 将一个只读副本添加到该集群。有关说明,请参阅向集群添加节点(控制台)

    3. 将新创建的只读副本提升为主副本。有关说明,请参阅对于 Redis OSS(已禁用集群模式)复制组将只读副本提升为主副本

    4. 删除计划替换的节点。有关说明,请参阅从集群中移除节点

    5. 在您的应用程序中,将旧节点的终端节点替换为新节点的终端节点。

     

  • 替换 Redis OSS(已禁用集群模式)只读副本 — 如果该节点是只读副本,请替换该节点。

    如果您的集群只具有一个副本节点,并且启用了多可用区,则必须禁用多可用区才能删除副本。有关说明,请参阅修改复制组

    替换 Redis OSS(已禁用集群模式)只读副本
    1. 删除计划替换的副本。有关说明,请参阅:

    2. 添加一个新副本来替换计划替换的副本。如果您使用的名称与刚删除的副本相同,可以跳过第 3 步。有关说明,请参阅:

    3. 在您的应用程序中,将旧副本的终端节点替换为新副本的终端节点。

    4. 如果您在开始时禁用了多可用区,现在请重新启用。有关说明,请参阅启用多可用区

     

  • 替换 Redis OSS(已禁用集群模式)主节点-如果该节点是主节点,请先将只读副本提升为主节点。然后删除以前是主节点的副本。

    如果您的集群只具有一个副本,并且启用了多可用区,则必须禁用多可用区才能在步骤 2 中删除副本。有关说明,请参阅修改复制组

    替换 Redis OSS(已禁用集群模式)主节点
    1. 将只读副本提升为主集群。有关说明,请参阅对于 Redis OSS(已禁用集群模式)复制组将只读副本提升为主副本

    2. 删除计划替换的节点(旧的主节点)。有关说明,请参阅从集群中移除节点

    3. 添加一个新副本来替换计划替换的副本。如果您使用的名称与刚删除的节点相同,可以跳过在应用程序中更改终端节点。

      有关说明,请参阅为 Redis OSS(已禁用集群模式)复制组添加只读副本

    4. 在您的应用程序中,将旧节点的终端节点替换为新节点的终端节点。

    5. 如果您在开始时禁用了多可用区,现在请重新启用。有关说明,请参阅 启用多可用区