

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

# 在线缩减
<a name="cluster-vertical-scaling-scaling-down"></a>

**Topics**
+ [缩减 MemoryDB 集群（控制台）](#cluster-vertical-scaling-down-console)
+ [缩小 MemoryDB 集群 (CLI Amazon )](#scaling.scaledown.cli)
+ [缩减 MemoryDB 集群（MemoryDB API）](#scaling.vertical.scaledown.api)

## 缩减 MemoryDB 集群（控制台）
<a name="cluster-vertical-scaling-down-console"></a>

以下过程介绍如何使用 Amazon Web Services 管理控制台缩减 MemoryDB 集群。在此过程中，MemoryDB 集群将继续处理请求，且停机时间降至最短。

**缩减 MemoryDB 集群（控制台）**

1. 登录 Amazon Web Services 管理控制台 并打开 MemoryDB 控制台，网址为。[https://console.aws.amazon.com/memorydb/](https://console.amazonaws.cn/memorydb/)

1. 从集群列表中，选择首选集群。

1. 选择 **Actions**（操作），然后选择 **Modify**（修改）。

1. 在**修改集群**对话框中：

   1. 从 **Node type** 列表中选择您希望扩展到的节点类型。要缩减，请选择小于现有节点的节点类型。请注意，并不是可缩减到所有节点类型。

1. 选择**保存更改**。

   集群状态更改为*正在修改*。当状态变为 *available* 时，即表示修改完成，您可以开始使用新集群。

## 缩小 MemoryDB 集群 (CLI Amazon )
<a name="scaling.scaledown.cli"></a>

以下过程介绍如何使用 Amazon CLI缩减 MemoryDB 集群。在此过程中，MemoryDB 集群将继续处理请求，且停机时间降至最短。

**缩小 MemoryDB 集群 (CLI Amazon )**

1. 通过运行带有以下参数的 Amazon CLI `list-allowed-node-type-updates`命令来确定可以缩减到的节点类型。

   对于 Linux、macOS 或 Unix：

   ```
   aws memorydb list-allowed-node-type-updates \
   	    --cluster-name {{my-cluster-name}}
   ```

   对于 Windows：

   ```
   aws memorydb list-allowed-node-type-updates ^
   	    --cluster-name {{my-cluster-name}}
   ```

   以上命令的输出类似于此处所示（JSON 格式）。

   ```
   {
   	    "ScaleUpNodeTypes": [
   	        "db.r6g.2xlarge", 
   	        "db.r6g.large"	        
   	    ],
   	    "ScaleDownNodeTypes": [
   	        "db.r6g.large"	        
   	    ], 
   }
   ```

   有关更多信息，请参阅 [list-allowed-node-type-updates。](https://docs.amazonaws.cn/cli/latest/reference/memorydb/list-allowed-node-type-updates.html)

1. 使用 `update-cluster` 命令和以下参数修改集群以缩减为较小的新节点类型。
   + `--cluster-name` – 要缩减的集群的名称。
   + `--node-type` – 要扩展集群的新节点类型。此值必须是步骤 1 中由 `list-allowed-node-type-updates` 命令返回的节点类型之一。

   对于 Linux、macOS 或 Unix：

   ```
   aws memorydb update-cluster  \
   	    --cluster-name {{my-cluster}} \
   	    --node-type {{db.r6g.large}}
   ```

   对于 Windows：

   ```
   aws memorydb update-cluster ^
   	    --cluster-name {{my-cluster}} ^
   	    --node-type {{db.r6g.large}}
   ```

   有关更多信息，请参阅 [ update-cluster](https://docs.amazonaws.cn/cli/latest/reference/memorydb/update-cluster.html)。

## 缩减 MemoryDB 集群（MemoryDB API）
<a name="scaling.vertical.scaledown.api"></a>

以下过程使用 MemoryDB API 将集群从其当前节点类型扩展为较小的新节点类型。在此过程中，MemoryDB 集群将继续处理请求，且停机时间降至最短。

缩减为较小的节点类型所需的时间因节点类型和当前集群中的数据量而异。

**缩减（MemoryDB API）**

1. 使用带有以下参数的 [ListAllowedNodeTypeUpdates](https://docs.amazonaws.cn/memorydb/latest/APIReference/API_ListAllowedNodeTypeUpdates.html)API 来确定可以缩减为哪些节点类型：
   + `ClusterName` – 集群的名称。使用此参数可描述特定集群而非所有集群。

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

1. 使用带有以下参数的 [UpdateCluster](https://docs.amazonaws.cn/memorydb/latest/APIReference/API_UpdateCluster.html)API 将当前集群缩小到新的节点类型。
   + `ClusterName` – 集群的名称。
   + `NodeType` – 此集群中集群的较小的新节点类型。此值必须是步骤 1 中由 `ListAllowedNodeTypeUpdates` 操作返回的实例类型之一。

   ```
   https://memory-db.us-east-1.amazonaws.com/
   	   ?Action=UpdateCluster	   
   	   &NodeType=db.r6g.2xlarge
   	   &ClusterName=myReplGroup
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20210801T220302Z
   	   &Version=2021-01-01
   	   &X-Amz-Algorithm=Amazon4-HMAC-SHA256
   	   &X-Amz-Date=20210801T220302Z
   	   &X-Amz-SignedHeaders=Host
   	   &X-Amz-Expires=20210801T220302Z
   	   &X-Amz-Credential=<credential>
   	   &X-Amz-Signature=<signature>
   ```