更改副本数量 - Amazon MemoryDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

更改副本数量

您可以使用、或 MemoryDB API 动态增加或减少 MemoryDB 集群中只读副本的 Amazon CLI数量。 Amazon Web Services Management Console所有分片的副本数量必须相同。

增加集群中的副本数量

您可以将一个 MemoryDB 集群中每个分片的副本数量最多增加到 5 个。你可以使用 Amazon Web Services Management Console、或 MemoryDB Amazon CLI API 来做到这一点。

使用 Amazon Web Services Management Console

要增加 MemoryDB 集群(控制台)中的副本数量,请参阅 从集群中添加/移除节点

使用 Amazon CLI

要增加 MemoryDB 集群中的副本数量,请使用带有以下参数的 update-cluster 命令:

  • --cluster-name – 必需。确定要在其中增加副本数量的集群。

  • --replica-configuration – 必需。允许设置副本数量。若要增加副本数量,请将 ReplicaCount 属性设置为您希望在此操作结束时在此分片中所具有的副本数量。

以下示例将集群 my-cluster 中的副本数量增加到 2 个。

对于 Linux、macOS 或 Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --replica-configuration \ ReplicaCount=2

对于 Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --replica-configuration ^ ReplicaCount=2

返回以下 JSON 响应:

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 1, "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

若要在已更新集群的状态从更新变为可用后查看其详细信息,请使用以下命令:

对于 Linux、macOS 或 Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

对于 Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

返回以下 JSON 响应:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 1, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-16383", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-003", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T12:59:31.844000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 3 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

有关使用 CLI 增加副本数量的更多信息,请参阅Amazon CLI 命令参考中的 update-cluster

使用 MemoryDB API

要增加 MemoryDB 分片中的副本数量,请使用带有以下参数的 UpdateCluster 操作:

  • ClusterName – 必需。确定要在其中增加副本数量的集群。

  • ReplicaConfiguration – 必需。允许设置副本数量。若要增加副本数量,请将 ReplicaCount 属性设置为您希望在此操作结束时在此分片中所具有的副本数量。

以下示例将集群 sample-cluster 中的副本数量增加到 3 个。在完成此示例后,每个分片中将有 3 个副本。无论是带单个分片的 MemoryDB 集群还是带多个分片的 MemoryDB 集群,此数字都适用。

https://memory-db.us-east-1.amazonaws.com/ ?Action=UpdateCluster &ReplicaConfiguration.ReplicaCount=3 &ClusterName=sample-cluster &Version=2021-01-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T192317Z &X-Amz-Credential=<credential>

有关使用 API 增加副本数量的更多信息,请参阅UpdateCluster

减少集群中的副本数量

您可以减少 MemoryDB 集群中的副本数量。您可以将副本数量减少为 0,但如果主节点出现故障,则无法失效转移到副本。

您可以使用 Amazon Web Services Management Console、 Amazon CLI 或 MemoryDB API 来减少集群中的副本数量。

使用 Amazon Web Services Management Console

要减少 MemoryDB 集群(控制台)中的副本数量,请参阅 从集群中添加/移除节点

使用 Amazon CLI

要减少 MemoryDB 集群中的副本数量,请使用带有以下参数的 update-cluster 命令:

  • --cluster-name – 必需。确定要在其中减少副本数量的集群。

  • --replica-configuration – 必需。

    ReplicaCount – 设置此属性指定想要的副本节点数量。

以下示例使用 --replica-configuration 将集群 my-cluster 中的副本数量减少为指定值。

对于 Linux、macOS 或 Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --replica-configuration \ ReplicaCount=1

对于 Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --replica-configuration ^ ReplicaCount=1 ^

返回以下 JSON 响应:

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 1, "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

若要在已更新集群的状态从更新变为可用后查看其详细信息,请使用以下命令:

对于 Linux、macOS 或 Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

对于 Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

返回以下 JSON 响应:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 1, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-16383", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

有关使用 CLI 减少副本数量的更多信息,请参阅Amazon CLI 命令参考中的 update-cluster

使用 MemoryDB API

要减少 MemoryDB 集群中的副本数量,请使用带有以下参数的 UpdateCluster 操作:

  • ClusterName – 必需。确定要在其中减少副本数量的集群。

  • ReplicaConfiguration – 必需。允许设置副本数量。

    ReplicaCount – 设置此属性指定想要的副本节点数量。

以下示例使用 ReplicaCount 将集群 sample-cluster 中的副本数量减少为 1 个。在完成此示例后,每个分片中将有一个副本。无论是带单个分片的 MemoryDB 集群还是带多个分片的 MemoryDB 集群,此数字都适用。

https://memory-db.us-east-1.amazonaws.com/ ?Action=UpdateCluster &ReplicaConfiguration.ReplicaCount=1 &ClusterName=sample-cluster &Version=2021-01-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T192317Z &X-Amz-Credential=<credential>

有关使用 API 减少副本数量的更多信息,请参阅UpdateCluster