用于 Redis 的 Amazon ElastiCache
ElastiCache for Redis 用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

替换节点

用于 Redis 的 Amazon ElastiCache 频繁升级其机群,补丁和升级无缝地应用于实例。但是,我们需要经常重启您的 ElastiCache for Redis 节点,以将必需的操作系统更新应用于底层主机。我们需要进行升级来增强安全性、可靠性和操作性能,而应用这些升级就需要进行替换。

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

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

Redis 节点替换选项

  • 不执行任何操作 – 如果您不执行任何操作,则 ElastiCache 将按计划替换节点。

    如果节点是 Redis (已禁用集群模式)集群的成员,替换节点将与该主节点同步。

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

     

  • 更改您的维护时段 – 对于从 ElastiCache 接收电子邮件或通知事件的计划维护事件,如果您在计划的替换时间之前更改维护时段,则将在新的时间替换节点。有关更多信息,请参阅:

    注意

    仅当 ElastiCache 通知包括维护时段时,您可以通过移动维护时段的方式更改替换窗口。如果该通知不包括维护时段,您则无法更改替换窗口。

    例如:

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

    • 您将维护时段更改为星期五 16 点(在当前日期时间后且在下一个计划维护时段前)。节点将于 11 月 10 日星期五 16 点替换。

    • 您将维护时段更改为星期六 16 点(在当前日期时间后且在下一个计划维护时段后)。节点将于 11 月 11 日星期六 16 点替换。

    • 您将维护时段更改为星期三 16 点(在当前日期时间之前)。节点将于 11 月 15 日星期三 16 点替换。

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

     

  • 替换任何 Redis 集群中仅有的节点 – 如果集群没有任何只读副本,您可以使用以下过程来替换节点。

    使用备份和还原替换仅有的节点

    1. 创建节点的集群的快照。有关说明,请参阅进行手动备份

    2. 以快照做种创建新集群。有关说明,请参阅从备份还原并执行可选的集群规模调整

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

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

     

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

    注意

    如果您的分片或复制组已有 5 个副本,则需要反向操作步骤 1 和 2。

    替换任何 Redis 集群中的副本

    1. 通过将副本添加到分片或复制组来增加副本数量。有关更多信息,请参阅增加分片中的副本数量

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

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

     

  • 替换 Redis (已启用集群模式)分片中的任何节点 – 如果您希望替换集群中的节点而不必停机,请使用在线重新分片来先通过扩展添加分片,再通过缩减删除具有要替换的节点的分片。

    替换 Redis (已启用集群模式)集群中的任何节点

    1. 扩展:添加其配置与具有要替换的节点的现有分片的配置相同的其他分片。有关更多信息,请参阅 通过在线重新分片功能添加分片

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

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

     

  • 替换 Redis (已禁用集群模式)集群中的节点 – 如果集群是没有任何只读副本的 Redis (已禁用集群模式)集群,您可以使用以下过程来替换节点。

    使用复制替换节点(仅限已禁用集群模式)

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

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

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

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

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

     

  • 替换 Redis (已禁用集群模式) 只读副本 – 如果节点是复制组中的只读副本,则替换该节点。

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

    替换 Redis (已禁用集群模式) 只读副本

    1. 删除计划替换的副本。有关说明,请参阅:

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

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

    4. 如果您在开始时禁用了多可用区,现在请重新启用。有关说明,请参阅启用具有自动故障转移功能的多可用区

     

  • 替换 Redis (已禁用集群模式)主节点 – 如果节点是主节点,请将只读副本提升为主节点,然后删除过去是主节点的副本。

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

    替换 Redis (已禁用集群模式) 主节点

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

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

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

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

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

    5. 如果您在开始时禁用了多可用区,现在请重新启用。有关说明,请参阅启用具有自动故障转移功能的多可用区