将 Redis(已禁用集群模式)复制组的只读副本提升为主节点 - ElastiCache 适用于 Redis 的 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将 Redis(已禁用集群模式)复制组的只读副本提升为主节点

以下主题中的信息仅适用于 Redis(已禁用集群模式)复制组。

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 ElastiCache API 将 Redis(已禁用集群模式)只读副本提升为主节点。当 Redis(已禁用集群模式)复制组上启用了多可用区(具有自动故障转移功能)时,无法将只读副本提升为主节点。若要在启用了多可用区的复制组上将 Redis(已禁用集群模式)副本提升为主节点,请执行以下操作:

  1. 修改复制组以禁用多可用区(执行此操作不要求所有集群都位于同一个可用区)。有关更多信息,请参阅修改复制组

  2. 将只读副本提升为主集群。

  3. 修改复制组以重新启用多可用区。

在运行 Redis 2.6.13 或更早版本的复制组上,多可用区不可用。

使用 Amazon Web Services Management Console

以下过程使用控制台将副本节点提升为主集群。

将只读副本提升为主节点(控制台)
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台 (https://console.aws.amazon.com/elasticache/)。

  2. 如果要提升的副本是启用了多可用区的 Redis(已禁用集群模式)复制组中的成员,请先修改复制组以禁用多可用区,然后再继续。有关更多信息,请参阅修改复制组

  3. 选择 Redis,然后从集群列表中选择要修改的复制组。该复制组必须运行“Redis”引擎,而不是“集群化 Redis”引擎,而且必须具有 2 个或更多个节点。

  4. 从节点列表中,选择要提升为主集群的副本节点,然后对于 Actions (操作),选择 Promote (提升)

  5. Promote Read Replica (提升只读副本) 对话框中,执行以下操作:

    1. 对于 Apply Immediately (立即应用),选择 Yes (是) 立即提升只读副本,或者选择 No (否) 在集群的下一维护时段提升它。

    2. 选择 Promote 提升只读副本,或选择 Cancel 取消该操作。

  6. 如果在开始提升过程之前集群已启用多可用区,请等待直到复制组的状态为 available (可用),然后修改集群以重新启用多可用区。有关更多信息,请参阅修改复制组

使用 Amazon CLI

当复制组启用多可用区时,您无法将只读副本提升为主集群。在某些情况下,要提升的副本可能是启用了多可用区的复制组的成员。在这些情况下,您必须先修改复制组以禁用多可用区,然后再继续。执行此操作不要求所有集群都位于同一个可用区。有关修改复制组的更多信息,请参阅修改复制组

以下 Amazon CLI 命令修改复制组 sample-repl-group,并使只读副本 my-replica-1 成为复制组中的主集群。

对于 Linux、macOS 或 Unix:

aws elasticache modify-replication-group \ --replication-group-id sample-repl-group \ --primary-cluster-id my-replica-1

对于 Windows:

aws elasticache modify-replication-group ^ --replication-group-id sample-repl-group ^ --primary-cluster-id my-replica-1

有关修改复制组的更多信息,请参阅 Amazon ElastiCache 命令行参考中的 modify-replication-group。

使用 ElastiCache API

当复制组启用多可用区时,您无法将只读副本提升为主集群。在某些情况下,要提升的副本可能是启用了多可用区的复制组的成员。在这些情况下,您必须先修改复制组以禁用多可用区,然后再继续。执行此操作不要求所有集群都位于同一个可用区。有关修改复制组的更多信息,请参阅修改复制组

以下 ElastiCache API 操作修改复制组 myReplGroup,并使只读副本 myReplica-1 成为复制组中的主节点。

https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ReplicationGroupId=myReplGroup &PrimaryClusterId=myReplica-1 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

有关修改复制组的更多信息,请参阅 Amazon ElastiCache API 参考中的 ModifyReplicationGroup。