

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

# 增加分区中的副本数量
增加副本数量

您可以增加 Valkey 或 Redis OSS（已启用集群模式）分片或 Valkey 或 Redis OSS（已禁用集群模式）复制组中的副本数量，最多不超过 5 个。您可以使用 Amazon Web Services 管理控制台、Amazon CLI 或 ElastiCache API 执行此操作。

**Topics**
+ [

## 使用 Amazon Web Services 管理控制台
](#increase-replica-count-con)
+ [

## 使用 Amazon CLI
](#increase-replica-count-cli)
+ [

## 使用 ElastiCache API
](#increase-replica-count-api)

## 使用 Amazon Web Services 管理控制台


以下过程使用控制台增加 Valkey 或 Redis OSS（已启用集群模式）复制组中的副本数量。

**增加分片中的副本数量**

1. 登录 Amazon Web Services 管理控制台 并打开 ElastiCache 控制台（[https://console.aws.amazon.com/elasticache/](https://console.amazonaws.cn/elasticache/)）。

1. 在导航窗格中，选择 **Valkey** 或 **Redis OSS**，然后选择要向其添加副本的复制组的名称。

1. 选中要将副本添加到的每个分片对应的框。

1. 选择 **Add replicas (添加副本)**。

1. 完成 **Add Replicas to Shards (将副本添加到分片)** 页面：
   + 对于 **New number of replicas/shard (新副本/分片数量)**，输入您希望所有选定的分片应具有的副本数量。此值必须大于或造型 **Current Number of Replicas per shard (每个分片的当前副本数量)** 且小于或等于 5。我们建议使用至少两个副本作为有效的最小值。
   + 对于 **Availability Zones（可用区）**，选择 **No preference（无首选项）**以让 ElastiCache 为每个新副本选择可用区，或者选择 **Specify Availability Zones（指定可用区）**以为每个新副本选择可用区。

     如果选择 **Specify Availability Zones (指定可用区)**，对于每个新副本，请使用列表指定可用区。

1. 选择 **Add (添加)** 以添加副本，或选择 **Cancel (取消)** 以取消该操作。

## 使用 Amazon CLI


要增加 Valkey 或 Redis OSS 分片中的副本数量，请使用带有以下参数的 `increase-replica-count` 命令：
+ `--replication-group-id` – 必需。确定要在其中增加副本数量的复制组。
+ `--apply-immediately` 或 `--no-apply-immediately` – 必需。指定是立即增加副本数量 (`--apply-immediately`) 还是在下一维护时段增加副本数量 (`--no-apply-immediately`)。当前不支持 `--no-apply-immediately`。
+ `--new-replica-count` – 可选。指定完成时所希望的副本节点数量（最多 5 个）。对其中仅有一个节点组的 Valkey 或 Redis OSS（已禁用集群模式）复制组或您希望其中的所有节点组均有相同副本数量的 Valkey 或 Redis OSS（已启用集群模式）复制组使用此参数。如果此值小于或等于节点组中的当前副本数量，则调用失败并返回异常。
+ `--replica-configuration` – 可选。允许您单独地为每个节点组设置副本和可用区的数量。对您希望单独配置其中每个节点组的 Valkey 或 Redis OSS（已启用集群模式）组使用此参数。

  `--replica-configuration` 具有三位可选成员：
  + `NodeGroupId` – 您要配置的节点组的四位数 ID。对于 Valkey 或 Redis OSS（已禁用集群模式）复制组，分片 ID 始终为 `0001`。若要查找 Valkey 或 Redis OSS（已启用集群模式）节点组（分片）ID，请参阅 [查找分区的 ID](Shards.md#shard-find-id)。
  + `NewReplicaCount` – 您希望在此操作结束时此节点组中所具有的副本数量。此值必须大于当前副本数量，最多为 5 个。如果此值小于或等于节点组中的当前副本数量，则调用失败并返回异常。
  + `PreferredAvailabilityZones` – `PreferredAvailabilityZone` 字符串的列表，指定复制组的节点即将位于的可用区。`PreferredAvailabilityZone` 值的数字必须等于 `NewReplicaCount` 的值再加上 1 以形成主节点。如果忽略 `--replica-configuration` 的此成员，ElastiCache for Redis OSS 会为每个新副本选择可用区。

**重要**  
您必须在调用中包含 `--new-replica-count` 或 `--replica-configuration` 参数，但不能同时包含这两项。

**Example**  
以下示例将复制组 `sample-repl-group` 中的副本数量增加到 3 个。在完成此示例后，每个节点组中将有 3 个副本。无论是具有单个节点组的 Valkey 或 Redis OSS（已禁用集群模式）复制组，还是具多个节点组的 Valkey 或 Redis OSS（已禁用集群模式）复制组，此数字都适用。  
对于 Linux、macOS 或 Unix：  

```
aws elasticache increase-replica-count \
    --replication-group-id sample-repl-group \
    --new-replica-count 3 \
    --apply-immediately
```
对于 Windows：  

```
aws elasticache increase-replica-count ^
    --replication-group-id sample-repl-group ^
    --new-replica-count 3 ^
    --apply-immediately
```
以下示例将复制组 `sample-repl-group` 中的副本数量增加到两个指定节点组指定的值。假定存在多个节点组，则这是一个 Valkey 或 Redis OSS（已启用集群模式）复制组。指定可选 `PreferredAvailabilityZones` 时，所列可用区的数量必须等于 `NewReplicaCount` 的值再加上 1。此方法适用于由 `NodeGroupId` 标识的组的主节点。  
对于 Linux、macOS 或 Unix：  

```
aws elasticache increase-replica-count \
    --replication-group-id sample-repl-group \
    --replica-configuration \
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b \
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \
    --apply-immediately
```
对于 Windows：  

```
aws elasticache increase-replica-count ^
    --replication-group-id sample-repl-group ^
    --replica-configuration ^
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b ^
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \
    --apply-immediately
```

有关使用 CLI 增加副本数量的更多信息，请参阅 *Amazon ElastiCache 命令行参考* 中的 [increase-replica-count](https://docs.amazonaws.cn/cli/latest/reference/elasticache/increase-replica-count.html)。

## 使用 ElastiCache API


要增加 Valkey 或 Redis OSS 分片中的副本数量，请使用带有以下参数的 `IncreaseReplicaCount` 操作：
+ `ReplicationGroupId` – 必需。确定要在其中增加副本数量的复制组。
+ `ApplyImmediately` – 必需。指定是立即增加副本数量 (`ApplyImmediately=True`) 还是在下一维护时段增加副本数量 (`ApplyImmediately=False`)。当前不支持 `ApplyImmediately=False`。
+ `NewReplicaCount` – 可选。指定完成时所希望的副本节点数量（最多 5 个）。对其中仅有一个节点组的 Valkey 或 Redis OSS（已禁用集群模式）复制组或您希望其中的所有节点组均有相同副本数量的 Valkey 或 Redis OSS（已启用集群模式）复制组使用此参数。如果此值小于或等于节点组中的当前副本数量，则调用失败并返回异常。
+ `ReplicaConfiguration` – 可选。允许您单独地为每个节点组设置副本和可用区的数量。对您希望单独配置其中每个节点组的 Valkey 或 Redis OSS（已启用集群模式）组使用此参数。

  `ReplicaConfiguraion` 具有三位可选成员：
  + `NodeGroupId` – 您要配置的节点组的四位数 ID。对于 Valkey 或 Redis OSS（已禁用集群模式）复制组，节点组（分片）ID 始终为 `0001`。若要查找 Valkey 或 Redis OSS（已启用集群模式）节点组（分片）ID，请参阅 [查找分区的 ID](Shards.md#shard-find-id)。
  + `NewReplicaCount` – 您希望在此操作结束时此节点组中所具有的副本数量。此值必须大于当前副本数量，且最多为 5 个。如果此值小于或等于节点组中的当前副本数量，则调用失败并返回异常。
  + `PreferredAvailabilityZones` – `PreferredAvailabilityZone` 字符串的列表，指定复制组的节点即将位于的可用区。`PreferredAvailabilityZone` 值的数字必须等于 `NewReplicaCount` 的值再加上 1 以形成主节点。如果忽略 `ReplicaConfiguration` 的此成员，ElastiCache for Redis OSS 会为每个新副本选择可用区。

**重要**  
您必须在调用中包含 `NewReplicaCount` 或 `ReplicaConfiguration` 参数，但不能同时包含这两项。

**Example**  
以下示例将复制组 `sample-repl-group` 中的副本数量增加到 3 个。在完成此示例后，每个节点组中将有 3 个副本。无论是具有单个节点组的 Valkey 或 Redis OSS（已禁用集群模式）复制组，还是具多个节点组的 Valkey 或 Redis OSS（已禁用集群模式）复制组，此数字都适用。  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=IncreaseReplicaCount
      &ApplyImmediately=True
      &NewReplicaCount=3
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```
以下示例将复制组 `sample-repl-group` 中的副本数量增加到两个指定节点组指定的值。假定存在多个节点组，则这是一个 Valkey 或 Redis OSS（已启用集群模式）复制组。指定可选 `PreferredAvailabilityZones` 时，所列可用区的数量必须等于 `NewReplicaCount` 的值再加上 1。此方法适用于由 `NodeGroupId` 标识的组的主节点。  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=IncreaseReplicaCount
      &ApplyImmediately=True
      &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001
      &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=2
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003
      &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=3
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1c
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.4=us-east-1c
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```

有关使用 API 增加副本数量的更多信息，请参阅 *Amazon ElastiCache API 参考*中的 [IncreaseReplicaCount](https://docs.amazonaws.cn/AmazonElastiCache/latest/APIReference/API_IncreaseReplicaCount.html)。