

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

# 使用 Amazon RDS 儲存體自動擴展自動管理容量
<a name="USER_PIOPS.Autoscaling"></a>

如果您的工作負載是不可預測，您可啟用 Amazon RDS 資料庫執行個體的儲存體自動擴展。若要如此做，您可以使用 Amazon RDS 主控台、Amazon RDS API 或 AWS CLI。

**注意**  
其他儲存磁碟區不支援儲存體自動擴展。

例如，您可針對使用者快速採用的行動遊戲應用程式使用此功能。在此例中，快速增加的工作負載可能會超過可用的資料庫儲存體。為免必須手動擴充資料庫儲存體規模，您可使用 Amazon RDS 儲存體自動擴展。

在啟用儲存體自動擴展時，當 Amazon RDS 偵測到您用完可用資料庫空間，它會自動向上擴展您的儲存體。當下列因素符合時，Amazon RDS 會開始修改已啟用自動擴展的資料庫執行個體儲存體：
+ 免費的可用空間小於或等於 10% 的已配置儲存體。
+ 低儲存體狀況至少持續五分鐘。
+ 自上次修改儲存後，或在執行個體上完成儲存體最佳化後 (以時間較長者為準)，至少已經過了六個小時。

額外的儲存體以下列任何較大一項增量：
+ 10 GiB
+ 目前配置之儲存體的 10%
+ 依據過去一小時的 `FreeStorageSpace` 指標，預測儲存體於接下來 7 小時內超過目前配置的儲存體大小。如需指標的詳細資訊，請參閱[透過 Amazon CloudWatch 進行監控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MonitoringOverview.html#monitoring-cloudwatch)。

最大儲存閾值是您為自動擴展資料庫執行個體設定的限制。它有下列限制條件：
+ 您必須將最大儲存閾值設定為至少比目前分配的儲存多 10%。我們建議將其設定為至少 26% 以上，以避免接收 [event notification](USER_Events.Messages.md#RDS-EVENT-0225) 儲存體大小接近最大儲存閾值。

  例如，如果您的資料庫執行個體分配了 1000 GiB 的儲存，則將最大儲存閾值設定為至少 1100 GiB。否則，您會收到一個錯誤，例如無效的 *engine\$1name* 最大儲存大小。但是，我們建議您將最大儲存閾值設定為至少 1260 GiB，以避免此事件。
+ 對於使用佈建 IOPS (io1 或 io2 Block Express) 儲存體的資料庫執行個體，IOPS 與儲存體閾值上限 (以 GiB 為單位) 的比率必須在特定範圍內。如需詳細資訊，請參閱[佈建 IOPS SSD 儲存體](CHAP_Storage.md#USER_PIOPS)。
+ 您無法為已啟用自動規模調整的執行個體，將儲存體閾值上限設為大於配置的儲存體上限。

  例如，db.m5.xlarge 上的 SQL Server Standard Edition 預設配置給執行個體的儲存為 20 GiB (最小)，配置的儲存上限為 16,384 GiB。自動擴展的預設儲存體閾值上限為 1,000 GiB。如果您使用此預設值，執行個體不會自動調整到超過 1,000 GiB。即使配置給執行個體的儲存體上限為 16,384 GiB，也是如此。

**注意**  
建議您根據使用模式和客戶需求，仔細選擇最大儲存閾值。如果使用模式有任何差異，當自動調整預測非常高的臨界值時，最大儲存閾值可以防止將儲存體縮放為意外高的值。將資料庫執行個體自動擴展後，就無法減少其配置的儲存體。

**Topics**
+ [儲存體自動調整的限制](#autoscaling-limitations)
+ [啟用新資料庫執行個體的儲存體自動擴展](#USER_PIOPS.EnablingAutoscaling)
+ [變更資料庫執行個體的儲存體自動擴展設定](#USER_PIOPS.ModifyingAutoscaling)
+ [手動縮小或縮減您的資料庫執行個體](#USER_PIOPS.ScalingDown)
+ [關閉資料庫執行個體的儲存體自動擴展](#USER_PIOPS.DisablingAutoscaling)

## 儲存體自動調整的限制
<a name="autoscaling-limitations"></a>

下列限制適用於儲存體自動擴展：
+ 如果儲存增量會超出儲存體上限閾值，則不會自動調整規模。
+ 自動擴展時，RDS 會為後續自動擴展作業預測儲存體大小。若預測後續作業超過最大儲存體閾值，則 RDS 會自動擴展至最大儲存體閾值。
+ 自動擴展無法完全防止大量資料載入的儲存已滿情況。這是因為在六 (6) 小時或在執行個體上完成儲存體最佳化之前 (以時間較長者為準)，無法進一步修改儲存。

  如果您執行大型資料載入，且自動擴展未提供足夠的空間，資料庫可能會維持儲存已滿狀態數小時。這可能會損害資料庫。
+ 如果您啟動儲存體擴展操作的時間和 Amazon RDS 啟動自動擴展操作的時間一樣，會先執行您的儲存體修改操作。自動擴展已取消。
+ 自動調整無法減少配置的儲存體。儲存體配置完畢後，您無法縮減資料庫執行個體的儲存量。
+ 自動擴展不能與磁性儲存搭配使用。
+ 自動擴展不能與下列可排序儲存體少於 6 TiB 的前一代執行個體類別搭配使用：db.m3.large、db.m3.xlarge 及 db.m3.2xlarge。
+ 自動擴展操作不會由 記錄 AWS CloudTrail。如需有關 CloudTrail 的詳細資訊，請參閱 [在 AWS CloudTrail 中監控 Amazon RDS API 呼叫](logging-using-cloudtrail.md)。
+ 其他儲存磁碟區不支援自動擴展。如需其他儲存磁碟區的詳細資訊，請參閱 [新增儲存磁碟區](USER_PIOPS.ModifyingExisting.AdditionalVolumes.md)。

雖然自動擴展可幫助您動態增加 Amazon RDS 資料庫執行個體上的儲存體，但您仍應將資料庫執行個體的初始儲存體設定為適合您一般工作負載的大小。

## 啟用新資料庫執行個體的儲存體自動擴展
<a name="USER_PIOPS.EnablingAutoscaling"></a>

當您建立新的 Amazon RDS 資料庫執行個體時，您可選擇是否啟用儲存體自動擴展。您也可以設定 Amazon RDS 可為資料庫執行個體配置的儲存體上限。

啟用儲存體自動調整不需要將資料庫重新開機，也不會造成任何停機時間。此功能會立即生效，不會中斷資料庫操作。

**注意**  
當您複製已啟用儲存體自動擴展的 Amazon RDS 資料庫執行個體時，複製的執行個體不會自動繼承該設定。新資料庫執行個體的配置儲存量和原始執行個體一樣。如果複製的執行個體儲存體需求持續增加，您可再次開啟新執行個體的儲存體自動擴展。

### 主控台
<a name="USER_PIOPS.EnablingAutoscaling.console"></a>

**啟用新資料庫執行個體的儲存體自動擴展**

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

1.  在 Amazon RDS 主控台的右上角，選擇您要建立資料庫執行個體 AWS 的區域。

1.  在導覽窗格中，選擇 **Databases** (資料庫)。

1.  選擇**建立資料庫**。在 **Select engine (選取引擎)** 頁面上選擇資料庫引擎，並指定資料庫執行個體資訊，如[Amazon RDS 入門](CHAP_GettingStarted.md)所述。

1. 在 **Storage autoscaling (儲存體自動擴展)** 區段中，設定資料庫執行個體的 **Maximum storage threshold (儲存體閾值上限)** 值。

1. 指定其餘的資料庫執行個體資訊，如[Amazon RDS 入門](CHAP_GettingStarted.md)所述。

### AWS CLI
<a name="USER_PIOPS.EnablingAutoscaling.cli"></a>

若要啟用新資料庫執行個體的儲存體自動調整規模，請使用 AWS CLI 命令 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)。設定下列參數：
+  `--max-allocated-storage` – 開啟儲存體自動擴展，並設定儲存體大小上限 (GiB)。

 若要確認您的資料庫執行個體可使用 Amazon RDS 儲存體自動調整規模，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html)命令。若要先依執行個體類別勾選再建立執行個體，請使用 [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html) 命令。檢查傳回值的以下欄位：
+  `SupportsStorageAutoscaling` – 指出是資料庫執行個體還是執行個體類別支援儲存體自動擴展。

如需儲存體的詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

### RDS API
<a name="USER_PIOPS.EnablingAutoscaling.api"></a>

若要啟用新資料庫執行個體的儲存體自動擴展，請使用 Amazon RDS API 操作 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)。設定下列參數：
+  `MaxAllocatedStorage` – 開啟 Amazon RDS 儲存體自動擴展，並設定儲存體大小上限 (GiB)。

 若要驗證 Amazon RDS 儲存體自動擴展是否可供資料庫執行個體使用，請針對現有的執行個體使用 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html) 操作，或先使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html) 操作再建立執行個體。檢查傳回值的以下欄位：
+  `SupportsStorageAutoscaling` – 指出資料庫執行個體是否支援儲存體自動擴展。

如需儲存體的詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

## 變更資料庫執行個體的儲存體自動擴展設定
<a name="USER_PIOPS.ModifyingAutoscaling"></a>

您可開啟現有 Amazon RDS 資料庫執行個體的儲存體自動擴展。您也可以變更 Amazon RDS 可為資料庫執行個體配置的儲存體上限。

變更儲存體自動調整設定不需要將資料庫重新開機，也不會造成任何停機時間。變更會立即生效，不會中斷資料庫操作。

### 主控台
<a name="USER_PIOPS.ModifyingAutoscaling.console"></a>

**變更資料庫執行個體的儲存體自動擴展設定**

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

1. 在導覽窗格中，選擇 **Databases (資料庫)**。

1. 選擇您要修改的資料庫執行個體，然後選擇 **Modify (修改)**。**Modify DB instance (修改資料庫執行個體)** 頁面隨即出現。

1.  變更 **Autoscaling (自動擴展)** 區段的儲存體限制。如需更多詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

1.  當所有變更都如您所想時，請選擇 **Continue (繼續)** 並查看修改內容。

1.  在確認頁面上，檢閱您的變更。如果都正確，請選擇**修改資料庫執行個體**以儲存變更。如果都不正確，請選擇 **Back (上一步)** 編輯變更，或選擇 **Cancel (取消)** 取消變更。

   立即會變更儲存體自動調整規則限制。此設定會忽略 **Apply immediately** (立即套用) 設定。

### AWS CLI
<a name="USER_PIOPS.ModifyingAutoscaling.cli"></a>

若要變更資料庫執行個體的儲存體自動調整規模設定，請使用 AWS CLI 命令 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)。設定下列參數：
+  `--max-allocated-storage` – 設定儲存體大小上限 (GiB)。如果此值大於 `--allocated-storage` 參數，即開啟儲存體自動擴展。如果此值與 `--allocated-storage` 參數相同，即關閉儲存體自動擴展。

 若要確認您的資料庫執行個體可使用 Amazon RDS 儲存體自動調整規模，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html)命令。若要先依執行個體類別勾選再建立執行個體，請使用 [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-orderable-db-instance-options.html) 命令。檢查傳回值的以下欄位：
+  `SupportsStorageAutoscaling` – 指出資料庫執行個體是否支援儲存體自動擴展。

如需儲存體的詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

### RDS API
<a name="USER_PIOPS.ModifyingAutoscaling.api"></a>

 若要變更資料庫執行個體的儲存體自動擴展設定，請使用 Amazon RDS API 操作 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)。設定下列參數：
+  `MaxAllocatedStorage` – 設定儲存體大小上限 (GiB)。

 若要驗證 Amazon RDS 儲存體自動擴展是否可供資料庫執行個體使用，請針對現有的執行個體使用 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeValidDbInstanceModifications.html) 操作，或先使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html) 操作再建立執行個體。檢查傳回值的以下欄位：
+  `SupportsStorageAutoscaling` – 指出資料庫執行個體是否支援儲存體自動擴展。

如需儲存體的詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

## 手動縮小或縮減您的資料庫執行個體
<a name="USER_PIOPS.ScalingDown"></a>

Amazon RDS 提供儲存體自動調整功能，以因應持續增長的需求。不過，在縮小和縮減規模方面有其限制：
+ **RDS 儲存體** – 雖然 RDS 支援隨著需求增加而自動向上擴展儲存體，但並不會自動縮小。
+ **僅供讀取複本** – RDS 不支援自動橫向擴展 (新增) 或縮減 (刪除) 僅供讀取複本。您必須根據負載需求手動新增或移除僅供讀取複本。

若要縮小 RDS 資源規模，請手動執行下列動作：
+ 對於儲存體，您無法使用 `modify-db-instance` 命令手動減少資料庫執行個體的配置儲存體。您應選擇下列其中一項技術：
  + 如果您的資料庫引擎支援，請使用藍/綠部署。建立儲存體大小較低的綠色資料庫，然後將綠色資料庫提升為藍色資料庫。如需詳細資訊，請參閱[修改儲存和效能設定](blue-green-deployments-creating.md#blue-green-deployments-resize)。
  + 新建配置儲存體較低的資料庫執行個體、手動將資料從目前的資料庫遷移至新建立的資料庫執行個體，然後切換資料庫端點。
+ 對於僅供讀取複本，請透過 RDS 主控台或 AWS CLI手動刪除任何未使用的複本。

## 關閉資料庫執行個體的儲存體自動擴展
<a name="USER_PIOPS.DisablingAutoscaling"></a>

 如果不再需要 Amazon RDS 自動增加 Amazon RDS 資料庫執行個體的儲存體，您可關閉儲存體自動擴展。如此做之後，您仍然可以手動增加資料庫執行個體的儲存量。

### 主控台
<a name="USER_PIOPS.DisablingAutoscaling.console"></a>

**關閉資料庫執行個體的儲存體自動擴展**

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

1. 在導覽窗格中，選擇 **Databases (資料庫)**。

1. 選擇您要修改的資料庫執行個體，然後選擇 **Modify (修改)**。**Modify DB instance (修改資料庫執行個體)** 頁面隨即出現。

1.  清除 **Storage autoscaling (儲存體自動擴展)** 區段中的 **Enable storage autoscaling (啟用儲存體自動擴展)** 核取方塊。如需更多詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

1.  當所有變更都如您所願時，請選擇 **Continue (繼續)** 並查看修改內容。

1. 在確認頁面上，檢閱您的變更。如果都正確，請選擇**修改資料庫執行個體**以儲存變更。如果都不正確，請選擇 **Back (上一步)** 編輯變更，或選擇 **Cancel (取消)** 取消變更。

立即會變更儲存體自動調整規則限制。此設定會忽略 **Apply immediately** (立即套用) 設定。

### AWS CLI
<a name="USER_PIOPS.DisablingAutoscaling.cli"></a>

 若要關閉資料庫執行個體的儲存體自動調整規模，請使用 AWS CLI 命令[https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)和下列參數：
+  `--max-allocated-storage` – 指定值等於 `--allocated-storage` 的設定，可防止指定資料庫執行個體進一步的 Amazon RDS 儲存體自動擴展。

如需儲存體的詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

### RDS API
<a name="USER_PIOPS.DisablingAutoscaling.api"></a>

 使用 Amazon RDS API 操作 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 來關閉資料庫執行個體的儲存體自動擴展。設定下列參數：
+  `MaxAllocatedStorage` – 指定值等於 `AllocatedStorage` 的設定，可防止指定資料庫執行個體進一步的 Amazon RDS 儲存體自動擴展。

如需儲存體的詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。