

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

# 将 Valkey 或 Redis OSS（已禁用集群模式）复制组的只读副本提升为主节点
<a name="Replication.PromoteReplica"></a>

以下主题中的信息仅适用于 Valkey 或 Redis OSS（已禁用集群模式）复制组。

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

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

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

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

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

## 使用 AWS 管理控制台
<a name="Replication.PromoteReplica.CON"></a>

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

**将只读副本提升为主节点（控制台）**

1. 登录 AWS 管理控制台 并打开 ElastiCache 控制台 ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/))。

1. 如果要提升的副本是启用了多可用区的 Valkey 或 Redis OSS（已禁用集群模式）复制组中的成员，请先修改复制组以禁用多可用区，然后再继续。有关更多信息，请参阅 [修改复制组](Replication.Modify.md)。

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

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

1. 在 **Promote Read Replica (提升只读副本)** 对话框中，执行以下操作：

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

   1. 选择 **Promote** 提升只读副本，或选择 **Cancel** 取消该操作。

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

## 使用 AWS CLI
<a name="Replication.PromoteReplica.CLI"></a>

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

以下 AWS 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](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)。

## 使用 ElastiCache API
<a name="Replication.PromoteReplica.API"></a>

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

以下 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](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)。