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

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

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

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

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

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

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

具有自动故障转移功能的多可用区在运行 Redis 2.6.13 或更高版本的复制组上不可用。

使用 AWS 管理控制台

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

(控制台)将只读副本提升为主集群

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/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 (可用),然后修改集群以重新启用多可用区。有关更多信息,请参阅修改复制组

使用 AWS CLI

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

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

对于 Linux, OS X, or 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=AWS4-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 Reference 中的 ModifyReplicationGroup