

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 擴展 Valkey 或 Redis OSS （停用叢集模式） 叢集
<a name="scaling-redis-classic"></a>

Valkey 或 Redis OSS （停用叢集模式） 叢集可以是具有 0 個碎片的單一節點叢集，或具有 1 個碎片的多節點叢集。單一節點叢集會使用一個節點來同時進行讀取和寫入。多節點叢集一律會有 1 個節點做為讀/寫主節點，以及 0 到 5 個僅供讀取複本節點。

**Topics**
+ [擴展 Valkey 或 Redis OSS （停用叢集模式） 叢集](#Scaling.RedisStandalone)


**擴展 Valkey 或 Redis OSS 叢集**  

| Action | Valkey 或 Redis OSS （停用叢集模式） | Valkey 或 Redis OSS （啟用叢集模式） | 
| --- | --- | --- | 
|  向內擴展  |  [從 ElastiCache 叢集移除節點](Clusters.DeleteNode.md)  |  [擴展 Valkey 或 Redis OSS （啟用叢集模式） 叢集](scaling-redis-cluster-mode-enabled.md)  | 
|  向外擴展  |  [將節點新增至叢集](Clusters.html#AddNode)  |  [Valkey 或 Redis OSS 的線上重新分片 （啟用叢集模式）](scaling-redis-cluster-mode-enabled.md#redis-cluster-resharding-online)  | 
|  變更節點類型  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/scaling-redis-classic.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/scaling-redis-classic.html)  |  [透過修改節點類型來進行線上垂直擴展](redis-cluster-vertical-scaling.md)  | 
|  變更節點群組的數量  |  Valkey 或 Redis OSS （停用叢集模式） 叢集不支援  |  [擴展 Valkey 或 Redis OSS （啟用叢集模式） 叢集](scaling-redis-cluster-mode-enabled.md)  | 

**Contents**
+ [擴展 Valkey 或 Redis OSS （停用叢集模式） 叢集](#Scaling.RedisStandalone)
  + [向上擴展單一節點 Valkey 或 Redis OSS 叢集](#Scaling.RedisStandalone.ScaleUp)
    + [向上擴展單一節點 Valkey 或 Redis OSS （停用叢集模式） （主控台） 叢集](#Scaling.RedisStandalone.ScaleUp.CON)
    + [向上擴展單一節點 Valkey 或 Redis OSS 叢集 (AWS CLI)](#Scaling.RedisStandalone.ScaleUp.CLI)
    + [向上擴展單一節點 Valkey 或 Redis OSS 叢集 (ElastiCache API)](#Scaling.RedisStandalone.ScaleUp.API)
  + [向下擴展單一節點 Valkey 或 Redis OSS 叢集](#Scaling.RedisStandalone.ScaleDown)
    + [向下擴展單一節點 Valkey 或 Redis OSS 叢集 （主控台）](#Scaling.RedisStandalone.ScaleDown.CON)
    + [向下擴展單一節點 Valkey 或 Redis OSS 叢集 (AWS CLI)](#Scaling.RedisStandalone.ScaleUpDown-Modify.CLI)
    + [縮減單一節點 Valkey 或 Redis OSS 叢集 (ElastiCache API)](#Scaling.RedisStandalone.ScaleDown.API)

## 擴展 Valkey 或 Redis OSS （停用叢集模式） 叢集
<a name="Scaling.RedisStandalone"></a>

Valkey 或 Redis OSS （停用叢集模式） 節點必須大到足以包含快取的所有資料，加上 Valkey 或 Redis OSS 額外負荷。若要變更 Valkey 或 Redis OSS （停用叢集模式） 叢集的資料容量，您必須垂直擴展；向上擴展至較大的節點類型以增加資料容量，或向下擴展至較小的節點類型以降低資料容量。

ElastiCache 擴展程序旨在盡最大努力保留現有的資料，並需要成功的 Valkey 或 Redis OSS 複寫。對於 Valkey 或 Redis OSS （停用叢集模式） 叢集，我們建議為 Valkey 或 Redis OSS 提供足夠的記憶體。

您無法將資料分割到多個 Valkey 或 Redis OSS （停用叢集模式） 叢集。不過，如果您只需要增加或減少叢集的讀取容量，您可以使用複本節點建立 Valkey 或 Redis OSS （停用叢集模式） 叢集，並新增或移除僅供讀取複本。若要使用單一節點 Valkey 或 Redis OSS 叢集做為主要叢集，以複本節點建立 Valkey 或 Redis OSS （停用叢集模式） 叢集，請參閱 [建立 Valkey （停用叢集模式） 叢集 （主控台）](SubnetGroups.designing-cluster-pre.valkey.md#Clusters.Create.CON.valkey-gs)。

利用複本建立叢集之後，您可以透過新增僅供讀取複本來增加讀取容量。之後，如果需要，您可以透過移除僅供讀取複本來減少讀取容量。如需詳細資訊，請參閱 [增加讀取容量](Scaling.RedisReplGrps.md#Scaling.RedisReplGrps.ScaleOut) 或 [減少讀取容量](Scaling.RedisReplGrps.md#Scaling.RedisReplGrps.ScaleIn) 。

除了能夠擴展讀取容量之外，具有複本的 Valkey 或 Redis OSS （停用叢集模式） 叢集還提供其他業務優勢。如需詳細資訊，請參閱[使用複寫群組的高可用性](Replication.md)。

**重要**  
如果您的參數群組使用 `reserved-memory`為 Valkey 或 Redis OSS 額外負荷預留記憶體，在開始擴展之前，請確定您有一個自訂參數群組，可為您的新節點類型保留正確的記憶體數量。或者，您可以修改自訂參數群組，使得它會對您的新叢集使用 `reserved-memory-percent` 並使用該參數群組。  
如果您使用 `reserved-memory-percent`，則不需執行此動作。  
如需詳細資訊，請參閱[管理 Valkey 和 Redis OSS 的預留記憶體](redis-memory-management.md)。

**Topics**
+ [向上擴展單一節點 Valkey 或 Redis OSS 叢集](#Scaling.RedisStandalone.ScaleUp)
+ [向下擴展單一節點 Valkey 或 Redis OSS 叢集](#Scaling.RedisStandalone.ScaleDown)

### 向上擴展單一節點 Valkey 或 Redis OSS 叢集
<a name="Scaling.RedisStandalone.ScaleUp"></a>

當您擴展單一節點 Valkey 或 Redis OSS 叢集時，無論您使用 ElastiCache 主控台AWS CLI、 或 ElastiCache API，ElastiCache 都會執行下列程序。 ElastiCache 

1. 具有新節點類型的新叢集會在與現有叢集相同的可用區域中啟動。

1. 現有叢集中的快取資料會複製到新的叢集。此程序需要多長時間，取決於您的節點類型，以及叢集中的資料量。

1. 現在使用新的叢集提供讀取和寫入。由於新叢集的端點與舊叢集的端點相同，因此您不需要更新應用程式中的端點。DNS 項目更新時，您會注意到來自主節點的讀取和寫入發生短暫中斷 (幾秒鐘)。

1. ElastiCache 會刪除舊叢集。您會注意到來自舊節點的讀取和寫入發生短暫中斷 (幾秒鐘)，因為與舊節點的連線將會中斷。

**注意**  
針對執行 r6gd 節點類型的叢集，您只能擴展到 r6gd 節點系列中的節點大小。

如下表所示，如果您已為下一個維護時段排程引擎升級，則會封鎖您的 Valkey 或 Redis OSS 向上擴展操作。如需維護時段的詳細資訊，請參閱[管理 ElastiCache 叢集維護](maintenance-window.md)。


**封鎖的 Valkey 或 Redis OSS 操作**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/scaling-redis-classic.html)

如果您有正封鎖您的擱置中操作，您可以執行下列其中一項。
+ 透過清除**立即套用**核取方塊 (CLI 使用：`--no-apply-immediately`，API 使用：)，排程下一個維護時段的 Valkey 或 Redis OSS 擴展操作`ApplyImmediately=false`。
+ 等到下一個維護時段 （或之後） 執行您的 Valkey 或 Redis OSS 向上擴展操作。
+ 使用選取的**立即套用**核取方塊，將 Valkey 或 Redis OSS 引擎升級新增至此叢集修改 (CLI 使用：`--apply-immediately`，API 使用：`ApplyImmediately=true`)。這樣會透過讓引擎升級立即執行，來解除封鎖您的向上擴展操作。

您可以使用 ElastiCache 主控台AWS CLI、 或 ElastiCache API 來擴展單一節點 Valkey 或 Redis OSS （停用叢集模式） 叢集。

**重要**  
如果您的參數群組使用 `reserved-memory`為 Valkey 或 Redis OSS 額外負荷預留記憶體，在開始擴展之前，請確定您有一個自訂參數群組，可為您的新節點類型保留正確的記憶體數量。或者，您可以修改自訂參數群組，使得它會對您的新叢集使用 `reserved-memory-percent` 並使用該參數群組。  
如果您使用 `reserved-memory-percent`，則不需執行此動作。  
如需詳細資訊，請參閱[管理 Valkey 和 Redis OSS 的預留記憶體](redis-memory-management.md)。

#### 向上擴展單一節點 Valkey 或 Redis OSS （停用叢集模式） （主控台） 叢集
<a name="Scaling.RedisStandalone.ScaleUp.CON"></a>

下列程序說明如何使用 ElastiCache 管理主控台擴展單一節點 Valkey 或 Redis OSS 叢集。在此過程中，您的 Valkey 或 Redis OSS 叢集將繼續以最短的停機時間處理請求。

**擴展單一節點 Valkey 或 Redis OSS 叢集 （主控台）**

1. 登入AWS 管理主控台並開啟位於 https：//[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) 的 ElastiCache 主控台。

1. 從導覽窗格中，選擇 **Valkey 或 Redis OSS 叢集**。

1. 從叢集清單中，選擇您要向上擴展的叢集 （它必須執行 Valkey 或 Redis OSS 引擎，而非叢集的 Valkey 或 Redis OSS 引擎）。

1. 選擇 **Modify** (修改)。

1. 在 **Modify Cluster (修改叢集)** 精靈中：

   1. 從 **Node type (節點類型)** 清單選擇您要擴展的節點類型。

   1. 如果您使用 `reserved-memory` 來管理記憶體，請從 **Parameter Group (參數群組)** 清單中，選擇會為新節點類型保留正確記憶體數量的自訂參數群組。

1. 如果您要立即執行向上擴展程序，請選擇 **Apply immediately (立即套用)** 方塊。如果未選擇 **Apply immediately (立即套用)** 方塊，在此叢集的下一個維護時段期間，會執行向上擴展程序。

1. 選擇 **Modify** (修改)。

   如果您在上一個步驟中選擇 **Apply immediately (立即套用)**，叢集的狀態變更為 *modifying (修改中)*。當狀態變更為 *available (可用)*，修改即已完成，並且您可以開始使用新叢集。

#### 向上擴展單一節點 Valkey 或 Redis OSS 叢集 (AWS CLI)
<a name="Scaling.RedisStandalone.ScaleUp.CLI"></a>

下列程序說明如何使用 擴展單一節點 Valkey 或 Redis OSS 叢集AWS CLI。在此過程中，您的 Valkey 或 Redis OSS 叢集將繼續以最短的停機時間處理請求。

**若要擴展單一節點 Valkey 或 Redis OSS 叢集 (AWS CLI)**

1. 使用下列參數執行 `list-allowed-node-type-modifications`命令，決定您可以擴展至 的AWS CLI節點類型。
   + `--cache-cluster-id`

   針對 Linux、macOS 或 Unix：

   ```
   aws elasticache list-allowed-node-type-modifications \
   	    --cache-cluster-id my-cache-cluster-id
   ```

   針對 Windows：

   ```
   aws elasticache list-allowed-node-type-modifications ^
   	    --cache-cluster-id my-cache-cluster-id
   ```

   上述命令的輸出看起來會類似這個 (JSON 格式)。

   ```
   {
   	    "ScaleUpModifications": [
   	        "cache.m3.2xlarge", 
   	        "cache.m3.large", 
   	        "cache.m3.xlarge", 
   	        "cache.m4.10xlarge", 
   	        "cache.m4.2xlarge", 
   	        "cache.m4.4xlarge", 
   	        "cache.m4.large", 
   	        "cache.m4.xlarge", 
   	        "cache.r3.2xlarge", 
   	        "cache.r3.4xlarge", 
   	        "cache.r3.8xlarge", 
   	        "cache.r3.large", 
   	        "cache.r3.xlarge"
   	    ]
   	       "ScaleDownModifications": [
   	        "cache.t2.micro", 
   	        "cache.t2.small ", 
   	        "cache.t2.medium ",
               "cache.t1.small ",
   	    ], 
   
   	}
   ```

   如需詳細資訊，請參閱 *AWS CLI參考*中的「[list-allowed-node-type-modifications](https://docs.aws.amazon.com/cli/latest/reference/elasticache/list-allowed-node-type-modifications.html)」。

1. 使用AWS CLI`modify-cache-cluster` 命令和下列參數，修改您現有的叢集，指定要向上擴展的叢集和新的較大節點類型。
   + `--cache-cluster-id` – 您要向上擴展的叢集名稱。
   + `--cache-node-type` – 您要擴展叢集的新節點類型。此值必須是步驟 1 中 `list-allowed-node-type-modifications` 命令傳回的其中一個節點類型。
   + `--cache-parameter-group-name` - [選用] 如果您使用 `reserved-memory` 來管理叢集的保留記憶體，請使用此參數。指定自訂快取參數群組，其會為您的新節點類型保留正確的記憶體數量。如果您要使用 `reserved-memory-percent`，則可以忽略此參數。
   + `--apply-immediately` - 會造成立即套用擴充規模程序。若要將向上擴展程序延期至叢集的下一個維護時段，請使用 `--no-apply-immediately` 參數。

   針對 Linux、macOS 或 Unix：

   ```
   aws elasticache modify-cache-cluster \
   	    --cache-cluster-id my-redis-cache-cluster \
   	    --cache-node-type cache.m3.xlarge \
   	    --cache-parameter-group-name redis32-m2-xl \
   	    --apply-immediately
   ```

   針對 Windows：

   ```
   aws elasticache modify-cache-cluster ^
   	    --cache-cluster-id my-redis-cache-cluster ^
   	    --cache-node-type cache.m3.xlarge ^
   	    --cache-parameter-group-name redis32-m2-xl ^
   	    --apply-immediately
   ```

   上述命令的輸出看起來會類似這個 (JSON 格式)。

   ```
   {
   	    "CacheCluster": {
   	        "Engine": "redis", 
   	        "CacheParameterGroup": {
   	            "CacheNodeIdsToReboot": [], 
   	            "CacheParameterGroupName": "default.redis6.x", 
   	            "ParameterApplyStatus": "in-sync"
   	        }, 
   	        "SnapshotRetentionLimit": 1, 
   	        "CacheClusterId": "my-redis-cache-cluster", 
   	        "CacheSecurityGroups": [], 
   	        "NumCacheNodes": 1, 
   	        "SnapshotWindow": "00:00-01:00", 
   	        "CacheClusterCreateTime": "2017-02-21T22:34:09.645Z", 
   	        "AutoMinorVersionUpgrade": true, 
   	        "CacheClusterStatus": "modifying", 
   	        "PreferredAvailabilityZone": "us-west-2a", 
   	        "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", 
   	        "CacheSubnetGroupName": "default", 
   	        "EngineVersion": "6.0", 
   	        "PendingModifiedValues": {
   	            "CacheNodeType": "cache.m3.2xlarge"
   	        }, 
   	        "PreferredMaintenanceWindow": "tue:11:30-tue:12:30", 
   	        "CacheNodeType": "cache.m3.medium",
   	         "DataTiering": "disabled"
   	    }
   	}
   ```

   如需詳細資訊，請參閱 *AWS CLI參考*中的「[modify-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-cache-cluster.html)」。

1. 如果您使用 `--apply-immediately`，請使用 命令搭配下列參數來AWS CLI`describe-cache-clusters`檢查新叢集的狀態。當狀態變更為*可用*時，您可以開始使用新的、較大的叢集。
   + `--cache-cluster-id` – 單節點 Valkey 或 Redis OSS 叢集的名稱。使用此參數來描述特定叢集，而不是所有叢集。

   ```
   aws elasticache describe-cache-clusters --cache-cluster-id my-redis-cache-cluster
   ```

   如需詳細資訊，請參閱 *AWS CLI參考*中的「[describe-cache-clusters](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-clusters.html)」。

#### 向上擴展單一節點 Valkey 或 Redis OSS 叢集 (ElastiCache API)
<a name="Scaling.RedisStandalone.ScaleUp.API"></a>

下列程序說明如何使用 ElastiCache API 擴展單一節點 Valkey 或 Redis OSS 叢集。在此過程中，您的 Valkey 或 Redis OSS 叢集將繼續以最短的停機時間處理請求。

**擴展單一節點 Valkey 或 Redis OSS 叢集 (ElastiCache API)**

1. 判斷您可以擴充規模的節點類型，方法是執行 ElastiCache API `ListAllowedNodeTypeModifications` 動作並搭配下列參數。
   + `CacheClusterId` – 您要向上擴展的單一節點 Valkey 或 Redis OSS 叢集的名稱。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeModifications
   	   &CacheClusterId=MyRedisCacheCluster
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   如需詳細資訊，請參閱 *Amazon ElastiCache API 參考*中的「[ListAllowedNodeTypeModifications](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListAllowedNodeTypeModifications.html)」。

1. 使用 `ModifyCacheCluster` ElastiCache API 動作和下列參數，修改您現有的叢集，指定要向上擴展的叢集和新的較大節點類型。
   + `CacheClusterId` – 您要向上擴展的叢集名稱。
   + `CacheNodeType` – 您想要向上擴展叢集的新節點類型。此值必須是上一個步驟中 `ListAllowedNodeTypeModifications`動作傳回的其中一個節點類型。
   + `CacheParameterGroupName` - [選用] 如果您使用 `reserved-memory` 來管理叢集的保留記憶體，請使用此參數。指定自訂快取參數群組，其會為您的新節點類型保留正確的記憶體數量。如果您要使用 `reserved-memory-percent`，則可以忽略此參數。
   + `ApplyImmediately` - 設定為 `true` 會讓擴充規模程序立即執行。若要將向上擴展程序延期至叢集的下一個維護時段，請使用 `ApplyImmediately``=false`。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ModifyCacheCluster
   	   &ApplyImmediately=true
   	   &CacheClusterId=MyRedisCacheCluster
   	   &CacheNodeType=cache.m3.xlarge
   	   &CacheParameterGroupName redis32-m2-xl
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   如需詳細資訊，請參閱 *Amazon ElastiCache API 參考*中的「[ModifyCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html)」。

1. 如果您使用 `ApplyImmediately``=true`，請使用 ElastiCache API `DescribeCacheClusters`動作搭配下列參數來檢查新叢集的狀態。當狀態變更為*可用*時，您可以開始使用新的、較大的叢集。
   + `CacheClusterId` – 單一節點 Valkey 或 Redis OSS 叢集的名稱。使用此參數來描述特定叢集，而不是所有叢集。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=DescribeCacheClusters
   	   &CacheClusterId=MyRedisCacheCluster
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   如需詳細資訊，請參閱 *Amazon ElastiCache API 參考*中的「[DescribeCacheClusters](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheClusters.html)」。

### 向下擴展單一節點 Valkey 或 Redis OSS 叢集
<a name="Scaling.RedisStandalone.ScaleDown"></a>

下列各節會逐步解說如何將單一節點 Valkey 或 Redis OSS 叢集縮減為較小的節點類型。確保新的、較小的節點類型足以容納所有資料，且 Valkey 或 Redis OSS 額外負荷對於新 Valkey 或 Redis OSS 叢集的長期成功至關重要。如需詳細資訊，請參閱[確保您有足夠的記憶體來建立 Valkey 或 Redis OSS 快照](BestPractices.BGSAVE.md)。

**注意**  
針對執行 r6gd 節點類型的叢集，您只能擴展到 r6gd 節點系列中的節點大小。

**Topics**
+ [向下擴展單一節點 Valkey 或 Redis OSS 叢集 （主控台）](#Scaling.RedisStandalone.ScaleDown.CON)
+ [向下擴展單一節點 Valkey 或 Redis OSS 叢集 (AWS CLI)](#Scaling.RedisStandalone.ScaleUpDown-Modify.CLI)
+ [縮減單一節點 Valkey 或 Redis OSS 叢集 (ElastiCache API)](#Scaling.RedisStandalone.ScaleDown.API)

#### 向下擴展單一節點 Valkey 或 Redis OSS 叢集 （主控台）
<a name="Scaling.RedisStandalone.ScaleDown.CON"></a>

下列程序會逐步引導您使用 ElastiCache 主控台將單一節點 Valkey 或 Redis OSS 叢集縮減為較小的節點類型。

**重要**  
如果您的參數群組使用 `reserved-memory`為 Valkey 或 Redis OSS 額外負荷預留記憶體，在開始擴展之前，請確定您有一個自訂參數群組，可為您的新節點類型保留正確的記憶體數量。或者，您可以修改自訂參數群組，使得它會對您的新叢集使用 `reserved-memory-percent` 並使用該參數群組。  
如果您使用 `reserved-memory-percent`，則不需執行此動作。  
如需詳細資訊，請參閱[管理 Valkey 和 Redis OSS 的預留記憶體](redis-memory-management.md)。

**縮減您的單一節點 Valkey 或 Redis OSS 叢集 （主控台）**

1. 確保該較小的節點類型對您的資料和成本而言已足夠。

1. 如果您的參數群組使用 `reserved-memory` 為 Valkey 或 Redis OSS 額外負荷預留記憶體，請確定您有自訂參數群組來為新節點類型預留正確的記憶體數量。

   或者，您可以將自訂參數群組修改為使用 `reserved-memory-percent`。如需詳細資訊，請參閱[管理 Valkey 和 Redis OSS 的預留記憶體](redis-memory-management.md)。

1. 登入AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) 開啟 ElastiCache 主控台。

1. 從叢集的清單，選擇您要縮減規模的叢集。此叢集必須執行 Valkey 或 Redis OSS 引擎，而非叢集的 Valkey 或 Redis OSS 引擎。

1. 選擇 **Modify** (修改)。

1. 在 **Modify Cluster (修改叢集)** 精靈中：

   1. 從 **Node type (節點類型)** 清單，選擇您要縮減規模的節點類型。

   1. 如果您使用 `reserved-memory` 來管理記憶體，請從 **Parameter Group (參數群組)** 清單中，選擇會為新節點類型保留正確記憶體數量的自訂參數群組。

1. 如果您要立即執行縮減規模程序，請選擇 **Apply immediately (立即套用)** 核取方塊。如果將 **Apply immediately (立即套用)** 核取方塊保留未選擇，在此叢集的下一個維護時段期間，會執行縮減規模程序。

1. 選擇 **Modify** (修改)。

1. 當叢集的狀態從 *modifying (修改中)* 變更為 *available (可用)*，您的叢集即已擴展為新節點類型。不需要在應用程式中更新端點。

#### 向下擴展單一節點 Valkey 或 Redis OSS 叢集 (AWS CLI)
<a name="Scaling.RedisStandalone.ScaleUpDown-Modify.CLI"></a>

下列程序說明如何使用 縮減單一節點 Valkey 或 Redis OSS 叢集AWS CLI。

**縮減單一節點 Valkey 或 Redis OSS 叢集 (AWS CLI)**

1. 使用以下參數執行 `list-allowed-node-type-modifications`命令，AWS CLI決定您可以縮減規模的節點類型。
   + `--cache-cluster-id`

   針對 Linux、macOS 或 Unix：

   ```
   aws elasticache list-allowed-node-type-modifications \
   	    --cache-cluster-id my-cache-cluster-id
   ```

   針對 Windows：

   ```
   aws elasticache list-allowed-node-type-modifications ^
   	    --cache-cluster-id my-cache-cluster-id
   ```

   上述命令的輸出看起來會類似這個 (JSON 格式)。

   ```
   {
   	    "ScaleUpModifications": [
   	        "cache.m3.2xlarge", 
   	        "cache.m3.large", 
   	        "cache.m3.xlarge", 
   	        "cache.m4.10xlarge", 
   	        "cache.m4.2xlarge", 
   	        "cache.m4.4xlarge", 
   	        "cache.m4.large", 
   	        "cache.m4.xlarge", 
   	        "cache.r3.2xlarge", 
   	        "cache.r3.4xlarge", 
   	        "cache.r3.8xlarge", 
   	        "cache.r3.large", 
   	        "cache.r3.xlarge"
   	    ]
   	       "ScaleDownModifications": [
   	        "cache.t2.micro", 
   	        "cache.t2.small ", 
   	        "cache.t2.medium ",
               "cache.t1.small ",
   	    ], 
   
   	}
   ```

   如需詳細資訊，請參閱 *AWS CLI參考*中的「[list-allowed-node-type-modifications](https://docs.aws.amazon.com/cli/latest/reference/elasticache/list-allowed-node-type-modifications.html)」。

1. 使用AWS CLI`modify-cache-cluster` 命令和下列參數，修改您現有的叢集，指定要縮減規模的叢集和新的較小節點類型。
   + `--cache-cluster-id` – 您要縮減規模的叢集名稱。
   + `--cache-node-type` – 您要擴展叢集的新節點類型。此值必須是步驟 1 中 `list-allowed-node-type-modifications` 命令傳回的其中一個節點類型。
   + `--cache-parameter-group-name` - [選用] 如果您使用 `reserved-memory` 來管理叢集的保留記憶體，請使用此參數。指定自訂快取參數群組，其會為您的新節點類型保留正確的記憶體數量。如果您要使用 `reserved-memory-percent`，則可以忽略此參數。
   + `--apply-immediately` - 會讓縮減規模程序立即套用。若要將向上擴展程序延期至叢集的下一個維護時段，請使用 `--no-apply-immediately` 參數。

   針對 Linux、macOS 或 Unix：

   ```
   aws elasticache modify-cache-cluster \
   	    --cache-cluster-id my-redis-cache-cluster \
   	    --cache-node-type cache.m3.xlarge \
   	    --cache-parameter-group-name redis32-m2-xl \
   	    --apply-immediately
   ```

   針對 Windows：

   ```
   aws elasticache modify-cache-cluster ^
   	    --cache-cluster-id my-redis-cache-cluster ^
   	    --cache-node-type cache.m3.xlarge ^
   	    --cache-parameter-group-name redis32-m2-xl ^
   	    --apply-immediately
   ```

   上述命令的輸出看起來會類似這個 (JSON 格式)。

   ```
   {
   	    "CacheCluster": {
   	        "Engine": "redis", 
   	        "CacheParameterGroup": {
   	            "CacheNodeIdsToReboot": [], 
   	            "CacheParameterGroupName": "default.redis6,x", 
   	            "ParameterApplyStatus": "in-sync"
   	        }, 
   	        "SnapshotRetentionLimit": 1, 
   	        "CacheClusterId": "my-redis-cache-cluster", 
   	        "CacheSecurityGroups": [], 
   	        "NumCacheNodes": 1, 
   	        "SnapshotWindow": "00:00-01:00", 
   	        "CacheClusterCreateTime": "2017-02-21T22:34:09.645Z", 
   	        "AutoMinorVersionUpgrade": true, 
   	        "CacheClusterStatus": "modifying", 
   	        "PreferredAvailabilityZone": "us-west-2a", 
   	        "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", 
   	        "CacheSubnetGroupName": "default", 
   	        "EngineVersion": "6.0", 
   	        "PendingModifiedValues": {
   	            "CacheNodeType": "cache.m3.2xlarge"
   	        }, 
   	        "PreferredMaintenanceWindow": "tue:11:30-tue:12:30", 
   	        "CacheNodeType": "cache.m3.medium",
   	         "DataTiering": "disabled"
   	    }
   	}
   ```

   如需詳細資訊，請參閱 *AWS CLI參考*中的「[modify-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-cache-cluster.html)」。

1. 如果您使用 `--apply-immediately`，請使用 命令搭配下列參數來AWS CLI`describe-cache-clusters`檢查新叢集的狀態。當狀態變更為*可用*時，您可以開始使用新的、較大的叢集。
   + `--cache-cluster-id` – 單節點 Valkey 或 Redis OSS 叢集的名稱。使用此參數來描述特定叢集，而不是所有叢集。

   ```
   aws elasticache describe-cache-clusters --cache-cluster-id my-redis-cache-cluster
   ```

   如需詳細資訊，請參閱 *AWS CLI參考*中的「[describe-cache-clusters](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-clusters.html)」。

#### 縮減單一節點 Valkey 或 Redis OSS 叢集 (ElastiCache API)
<a name="Scaling.RedisStandalone.ScaleDown.API"></a>

下列程序說明如何使用 ElastiCache API 向上擴展單一節點 Valkey 或 Redis OSS 叢集。

**縮減單一節點 Valkey 或 Redis OSS 叢集 (ElastiCache API)**

1. 判斷您可以縮減規模的節點類型，方法是執行 ElastiCache API `ListAllowedNodeTypeModifications` 動作並搭配下列參數。
   + `CacheClusterId` – 您要縮減規模的單一節點 Valkey 或 Redis OSS 叢集的名稱。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeModifications
   	   &CacheClusterId=MyRedisCacheCluster
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   如需詳細資訊，請參閱 *Amazon ElastiCache API 參考*中的「[ListAllowedNodeTypeModifications](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListAllowedNodeTypeModifications.html)」。

1. 使用 `ModifyCacheCluster` ElastiCache API 動作和下列參數，修改您現有的叢集，指定要向上擴展的叢集和新的較大節點類型。
   + `CacheClusterId` – 您要縮減規模的叢集名稱。
   + `CacheNodeType` – 您想要縮減叢集規模的新節點類型。此值必須是上一個步驟中 `ListAllowedNodeTypeModifications`動作傳回的其中一個節點類型。
   + `CacheParameterGroupName` - [選用] 如果您使用 `reserved-memory` 來管理叢集的保留記憶體，請使用此參數。指定自訂快取參數群組，其會為您的新節點類型保留正確的記憶體數量。如果您要使用 `reserved-memory-percent`，則可以忽略此參數。
   + `ApplyImmediately` - 設定為 `true` 會造成縮減規模程序立即執行。若要將向上擴展程序延期至叢集的下一個維護時段，請使用 `ApplyImmediately``=false`。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ModifyCacheCluster
   	   &ApplyImmediately=true
   	   &CacheClusterId=MyRedisCacheCluster
   	   &CacheNodeType=cache.m3.xlarge
   	   &CacheParameterGroupName redis32-m2-xl
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   如需詳細資訊，請參閱 *Amazon ElastiCache API 參考*中的「[ModifyCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html)」。

1. 如果您使用 `ApplyImmediately``=true`，請使用 ElastiCache API `DescribeCacheClusters`動作搭配下列參數來檢查新叢集的狀態。當狀態變更為*可用*時，您可以開始使用新的、較小的叢集。
   + `CacheClusterId` – 單一節點 Valkey 或 Redis OSS 叢集的名稱。使用此參數來描述特定叢集，而不是所有叢集。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=DescribeCacheClusters
   	   &CacheClusterId=MyRedisCacheCluster
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   如需詳細資訊，請參閱 *Amazon ElastiCache API 參考*中的「[DescribeCacheClusters](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheClusters.html)」。