

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

# 使用適合 Amazon RDS 資料庫執行個體的儲存體
<a name="USER_PIOPS.StorageTypes"></a>

若要指定資料如何儲存於 Amazon RDS 中，您需要在建立或修改資料庫執行個體時，選擇儲存類型並提供儲存體大小。之後，您可以藉由修改資料庫執行個體，來增加儲存量或改變儲存類型。如需工作負載適合之儲存類型的詳細資訊，請參閱 [Amazon RDS 儲存類型](CHAP_Storage.md#Concepts.Storage)。

如果您的執行個體執行 RDS for Oracle 或 RDS for SQL Server，您可以為每個資料庫執行個體新增最多三個額外的磁碟區。您可以選擇 gp3 或 io2 作為磁碟區類型，讓您可以根據資料存取模式來最佳化成本和效能。使用額外磁碟區的資料庫執行個體的最大儲存容量為 256 TiB。

**Topics**
+ [檢視資料庫執行個體的儲存磁碟區詳細資訊](rds-storage-viewing.md)
+ [增加資料庫執行個體的儲存容量](USER_PIOPS.ModifyingExisting.md)
+ [移除其他儲存磁碟區](USER_PIOPS.RemovingAdditionalVolumes.md)
+ [使用 Amazon RDS 儲存體自動擴展自動管理容量](USER_PIOPS.Autoscaling.md)
+ [升級資料庫執行個體的儲存體檔案系統](USER_PIOPS.UpgradeFileSystem.md)
+ [修改佈建 IOPS SSD 儲存體的設定](User_PIOPS.Increase.md)
+ [I/O 密集型儲存體修改](USER_PIOPS.IOIntensive.md)
+ [修改一般用途 SSD (gp3) 儲存體的設定](USER_PIOPS.gp3.md)
+ [使用專用日誌磁碟區 (DLV)](USER_PIOPS.dlv.md)

# 檢視資料庫執行個體的儲存磁碟區詳細資訊
<a name="rds-storage-viewing"></a>

您可以從 AWS 管理主控台或 AWS CLI 檢視儲存磁碟區組態。這包括主要儲存磁碟區和連接至資料庫執行個體的任何其他儲存磁碟區的詳細資訊。

# 主控台
<a name="rds-storage-viewing.console"></a>

若要從主控台檢視您的儲存磁碟區組態：

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

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

1. 選擇資料庫執行個體。

1. 選擇**組態**索引標籤以檢視儲存磁碟區的詳細資訊。儲存資訊位於下列各節：
   + **主要儲存體**
   + **其他儲存磁碟區**

   **在其他儲存磁碟**區中，您可以選擇**新增儲存磁碟**區以新增另一個磁碟區。

# CLI
<a name="rds-storage-viewing.cli"></a>

若要從 CLI 檢視儲存磁碟區組態，請使用 AWS `describe-db-instances`命令。

```
aws rds describe-db-instances --db-instance-identifier my-database
```

在輸出中，尋找`AdditionalStorageVolumes`陣列以檢視新增磁碟區的詳細資訊。

```
    "AdditionalStorageVolumes": [
        {
            "VolumeName": "rdsdbdata2",
            "StorageVolumeStatus": "Not-in-use",
            "AllocatedStorage": 5000,
            "IOPS": 25000,
            "StorageThroughput": 500,
            "StorageType": "gp3"
        }
    ]
```

`StorageVolumeStatus` 欄位指出資料庫目前是否正在使用磁碟區。狀態為 `Not-in-use`表示已連接磁碟區，但資料庫引擎或 RDS 功能並未使用該磁碟區。

# 增加資料庫執行個體的儲存容量
<a name="USER_PIOPS.ModifyingExisting"></a>

若要增加資料庫執行個體的儲存容量，請使用下列任一技術：

**擴展儲存磁碟區**  
每個資料庫執行個體都有一個主要儲存磁碟區，容量上限為 64 TiB。您可以增加儲存磁碟區上配置的空間至少 10%。您無法取消配置空間。

**新增最多三個儲存磁碟區 (io2 或 gp3)**  
您可以將最多三個磁碟區新增至每個資料庫執行個體，以增加 RDS for Oracle 或 RDS for SQL Server 執行個體的總儲存容量。每個額外的磁碟區最多可配置 64 TiB 的儲存體，每個執行個體最多可配置 256 TiB。  
對於 RDS for Oracle 資料庫執行個體，您可以新增最低儲存大小為 200 GiB 的儲存磁碟區。

您可以使用 Amazon RDS 管理主控台、Amazon RDS API 或 AWS Command Line Interface (AWS CLI) 進行上述技術。如需儲存體限制的相關資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

# 向上擴展資料庫執行個體儲存體
<a name="USER_PIOPS.ModifyingExisting.ScalingUp"></a>

您可以透過增加主要磁碟區的配置儲存體，來擴展現有資料庫執行個體的儲存體。當您增加配置的儲存體時，您必須將其增加至少 10%。如果您嘗試以低於 10% 的值增加該值，便會發生錯誤。在為磁碟區配置儲存之後，您無法減少磁碟區的儲存量。

**注意**  
對於 RDS for SQL Server 資料庫執行個體，您只能擴展一般用途 SSD 和佈建 IOPS SSD 儲存類型的儲存體。

建議您建立 Amazon CloudWatch 警示來監控資料庫執行個體的可用儲存量，讓您在必要時作出反應。如需有關設定 CloudWatch 警示的詳細資訊，請參閱[使用 CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html)。

擴展儲存體通常不會導致資料庫執行個體的任何中斷或效能下降。修改完資料庫執行個體的儲存空間大小之後，其狀態呈現為 **storage-optimization (儲存最佳化)**。

儲存體最佳化可能需要幾個小時。在六 (6) 小時或在執行個體上完成儲存體最佳化 (以時間較長者為準) 後，您才能進行進一步的儲存體修改。您可以在 中 AWS 管理主控台 或使用 [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI 命令來檢視儲存最佳化進度。

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

**增加資料庫執行個體的儲存容量**

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

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

1. 選擇想要修改的資料庫執行個體。

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

1. 針對 **Allocated storage (配置儲存)** 輸入新的值。它必須至少大於目前值的 10%。  
![\[修改資料庫執行個體的儲存量\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/scale-gs2.png)

1. 選擇**繼續**。

1. 若要對資料庫執行個體立即套用儲存變更，請在 **Scheduling of modifications (修改排程)** 區段中選擇 **Apply immediately (立即套用)**。

   或選擇 **Apply during the next scheduled maintenance window (在下一個排定的維護時段套用)** 在下個維護時段套用變更。

1. 若對設定感到滿意，請選擇 **Modify DB instance (修改資料庫執行個體)**。

## AWS CLI
<a name="USER_PIOPS.ModifyingExisting.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)。設定下列參數：
+ `--allocated-storage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `--apply-immediately` – 使用 `--apply-immediately` 可立即套用儲存變更。

  或使用 `--no-apply-immediately` (預設值) 在下個維護時段套用變更。套用變更後會造成立即停機。

下列範例會將 的儲存體擴展`mydbinstance`至 1，000 GiB，並立即套用變更。命令也會將儲存磁碟區遷移至 gp3，並將佈建的 IOPS 設定為 6000。

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --allocated-storage 1000 \
    --storage-type gp3 \
    --iops 6000 \
    --apply-immediately
```

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

## RDS API
<a name="USER_PIOPS.ModifyingExisting.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)。設定下列參數：
+ `AllocatedStorage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `ApplyImmediately` – 將此選項設為 `True` 可立即套用儲存變更。將此選項設為 `False` (預設值) 在下個維護時段套用變更。套用變更後會造成立即停機。

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

# 新增儲存磁碟區
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes"></a>

對於 RDS for Oracle 和 RDS for SQL Server 資料庫執行個體，您最多可以新增三個儲存磁碟區，將每個執行個體的總儲存容量增加到 256 TiB。其他儲存磁碟區可讓您使用不同的儲存類型 (gp3 和 io2)，根據您的資料存取模式來最佳化成本和效能。

**注意**  
對於 RDS for Oracle 資料庫執行個體，您可以新增最低儲存大小為 200 GiB 的儲存磁碟區。

您可以使用 AWS管理主控台或 AWSCLI 新增、修改或移除其他儲存磁碟區。您可以使用不同的配置儲存、IOPS 和輸送量設定來設定磁碟區。例如，您可以在 io2 磁碟區上放置高效能資料，並在 gp3 磁碟區上放置歷史資料。

其他磁碟區必須使用下表所示的磁碟區名稱。


| RDS for Oracle 磁碟區名稱 | RDS for SQL Server 磁碟區名稱 | 
| --- | --- | 
| rdsdbdata2 | H: | 
| rdsdbdata3 | I: | 
| rdsdbdata4 | J: | 

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

**將額外的儲存磁碟區新增至資料庫執行個體**

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

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

1. 選擇想要修改的資料庫執行個體。

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

1. 在**儲存**區段中，選擇**新增額外的儲存磁碟區**。

1. 設定額外的儲存磁碟區：
   + **磁碟區名稱** – 選擇 `rdsdbdata2`、 `rdsdbdata3`或 `rdsdbdata4`。
   + **儲存類型** – 選擇**一般用途 SSD (gp3)** 或**佈建 IOPS SSD (io2)**。
   + **配置的儲存**體 – 以 GiB （最低 200 GiB) 為單位輸入儲存體大小。
   + 對於 io2 儲存，設定**佈建 IOPS**。
   + 對於 gp3 儲存，選擇性設定**儲存輸送量**。

1. 選擇**繼續**。

1. 若對設定感到滿意，請選擇 **Modify DB instance (修改資料庫執行個體)**。

**重要**  
當您使用 `modify-db-instance`操作新增額外的儲存磁碟區時，RDS 會立即新增儲存磁碟區，無論 `--no-apply-immediately` 參數為何。如果您在請求中有其他修改，RDS 會根據排程修改套用這些修改。請參閱 [使用排程修改設定](USER_ModifyInstance.ApplyImmediately.md)。

## AWS CLI
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.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)。將 設定為 `--additional-storage-volumes` JSON 陣列，指定要新增或修改的其他儲存磁碟區。

下列範例會將名為 的額外儲存磁碟區`rdsdbdata2`與 5000 GiB 的 gp3 儲存新增至 `mydbinstance`。

當您新增額外的儲存磁碟區時，RDS 會立即套用變更，無論 `--no-apply-immediately` 參數為何。

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --additional-storage-volumes '[
        {
            "VolumeName": "rdsdbdata2",
            "StorageType": "gp3",
            "AllocatedStorage": 5000,
            "StorageThroughput": 725
        }
    ]'
```

## RDS API
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.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)。將 `AdditionalStorageVolumes` 參數設定為額外儲存磁碟區規格的陣列。

當您使用 ModifyDBInstance API 操作新增額外的儲存磁碟區時，RDS 會立即新增儲存磁碟區，無論`ApplyImmediately`選項為 True 或 False。

# 移除其他儲存磁碟區
<a name="USER_PIOPS.RemovingAdditionalVolumes"></a>

不再需要儲存磁碟區時，您可以從 RDS for Oracle 和 RDS for SQL Server 資料庫執行個體中移除其他儲存磁碟區。在移除磁碟區之前，請確定您已將所有資料庫檔案移出磁碟區，而且沒有任何資料庫物件正在參考它。確認磁碟區狀態為 `Not-in-use`。

**重要**  
您無法移除主要儲存磁碟區。您只能移除其他儲存磁碟區。

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

**從資料庫執行個體移除額外的儲存磁碟區**

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

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

1. 選擇包含您要移除之磁碟區的資料庫執行個體。

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

1. 在**儲存**區段中，找到您要移除的其他儲存磁碟區。

1. 選擇您要刪除之**磁碟區的移除**磁碟區。
**注意**  
您只能移除狀態為 的磁碟區`Not-in-use`。如果磁碟區仍在使用中，請將所有資料庫檔案移出磁碟區。

1. 選擇**繼續**。

1. 若對設定感到滿意，請選擇 **Modify DB instance (修改資料庫執行個體)**。

## AWS CLI
<a name="USER_PIOPS.RemovingAdditionalVolumes.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)。設定下列參數：
+ `--additional-storage-volumes` – JSON 陣列指定剩餘的額外儲存磁碟區。省略您要從此陣列中移除的磁碟區。

下列範例只會指定剩餘的磁碟區，並立即套用變更，`mydbinstance`藉此`rdsdbdata3`從 移除名為 的其他儲存磁碟區。

```
aws rds modify-db-instance \
	--db-instance-identifier mydbinstance \
	--additional-storage-volumes '[{ \
		"VolumeName": "rdsdbdata3", \
		"SetForDelete": true
	}]'
```

## RDS API
<a name="USER_PIOPS.RemovingAdditionalVolumes.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)。設定下列參數：
+ `AdditionalStorageVolumes` – 您要保留之磁碟區的其他儲存磁碟區規格陣列。省略您要從此陣列中移除的磁碟區。
+ `ApplyImmediately` – 將此選項設為 `True` 可立即套用儲存變更。將此選項設為 `False` (預設值) 在下個維護時段套用變更。

# 使用 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)。

# 升級資料庫執行個體的儲存體檔案系統
<a name="USER_PIOPS.UpgradeFileSystem"></a>

大多數的 RDS 資料庫執行個體可為 RDS for MariaDB/MySQL/PostgreSQL 資料庫提供 64 TiB 的儲存體大小上限。某些舊型 32 位元檔案系統具有較低的儲存容量。若要判斷資料庫執行個體的儲存容量，請使用 [describe-valid-db-instance-modifications](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html) AWS CLI 命令。

RDS 會檢查您的儲存系統是否具有 16 TiB 儲存體大小、檔案大小限制 2 TiB，或非最佳化寫入。如果您的資料庫執行個體符合這些條件，RDS 會提醒您檔案系統組態符合升級資格。您可以在資料庫執行個體詳細資訊頁面的**儲存體**面板上檢查資料庫執行個體的升級資格。

![\[檢查資料庫執行個體的儲存體組態升級資格。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/upgrade-storage-config.png)


如果您的資料庫執行個體符合檔案系統升級資格，請使用下列任一技術：
+ 建立藍/綠部署，並指定**升級儲存體檔案系統組態**。

  此選項會將綠色環境中的檔案系統升級為偏好的組態。然後，您可以轉換藍/綠部署，將綠色環境提升至新的生產環境。如需詳細說明，請參閱 [在 Amazon RDS 中建立藍/綠部署](blue-green-deployments-creating.md)。
+ 建立資料庫執行個體僅供讀取複本，並指定**升級儲存體檔案系統組態**。

  此選項會將僅供讀取複本的檔案系統升級為偏好的組態。您接著可以將僅供讀取複本提升為獨立的執行個體。如需詳細說明，請參閱 [建立僅供讀取複本](USER_ReadRepl.Create.md)。

在儲存體升級期間，資料庫引擎將無法使用。升級儲存體組態是 I/O 密集型操作，且會導致僅供讀取複本和藍/綠部署的建立時間延長。符合下列兩個條件時，儲存體升級程序會更快速：
+ 來源資料庫執行個體使用佈建 IOPS SSD (io1 或 io2 Block Express) 儲存體。
+ 您已佈建執行個體大小為 4xlarge 或更大的綠色環境或僅供讀取複本。

涉及一般用途 SSD (gp2) 儲存體的儲存升級可能會耗盡您的 I/O 用量餘額，導致升級時間更長。如需詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

在儲存體升級期間，如果符合下列兩個條件，RDS 會將綠色執行個體或僅供讀取複本的配置儲存體大小增加 10%：
+ 來源資料庫執行個體上的儲存體耗用量大於或等於配置儲存體大小的 90%。
+ 儲存體自動調整功能已啟用。

當新的儲存體大小大於或等於為執行個體設定的配置儲存體上限時，RDS 會關閉自動調整功能。如果在儲存體升級開始之前停用了儲存體自動調整功能，則儲存體大小在升級期間不會增加。

# 修改佈建 IOPS SSD 儲存體的設定
<a name="User_PIOPS.Increase"></a>

您可使用 Amazon RDS 主控台、AWS CLI 或 Amazon RDS API 來修改使用佈建 IOPS SSD 儲存體的資料庫執行個體設定。指定儲存類型、配置的儲存體，以及您需要的佈建 IOPS 數量。範圍視您的資料庫引擎和執行個體類型而定。

雖然您可以縮減執行個體中佈建的 IOPS 數量，但您無法減少儲存體大小。

在大多數情況下，擴展儲存體完全不需要停機，也不會降低伺服器的效能。修改完資料庫執行個體的儲存空間 IOPS 之後，其狀態呈現為 **storage-optimization (儲存最佳化)**。

**注意**  
儲存體最佳化可能需要幾個小時。在六 (6) 小時或在執行個體上完成儲存體最佳化 (以時間較長者為準) 後，您才能進行進一步的儲存體修改。

如需每個資料庫引擎可用的已配置儲存體和佈建 IOPS 範圍的相關資訊，請參閱 [佈建 IOPS SSD 儲存體](CHAP_Storage.md#USER_PIOPS)。

## 主控台
<a name="User_PIOPS.Increase.con"></a>

**變更資料庫執行個體的佈建 IOPS。**

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

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

   若要篩選資料庫執行個體清單，請在 **Filter databases (篩選資料庫)** 中輸入文字字串，供 Amazon RDS 用來篩選結果。只有名稱中包含此字串的資料庫執行個體會顯示出來。

1. 選擇您想要修改且擁有佈建 IOPS 的資料庫執行個體。

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

1. 在**修改資料庫執行個體**頁面上，針對**儲存體類型**選擇 **Provisioned IOPS SSD (io1)** 或 **Provisioned IOPS SSD (io2)**。

1. 針對 **Provisioned IOPS** (佈建 IOPS)，輸入一值。

   如果您針對 **Allocated storage** (已配置儲存體) 或 **Provisioned IOPS** (佈建 IOPS) 指定的值超出其他參數支援的限制，則會顯示警告訊息。此訊息提供其他參數所需的數值範圍。

1. 選擇 **Continue (繼續)**。

1. 在 **Scheduling of modifications** (修改排程) 區段中選擇 **Apply immediately** (立即套用)，以將變更立即套用至資料庫執行個體。或選擇 **Apply during the next scheduled maintenance window (在下一個排定的維護時段套用)** 在下個維護時段套用變更。

1. 檢閱要變更的參數，並選擇 **Modify DB instance (修改資料庫執行個體)** 以完成修改。

   配置儲存或佈建 IOPS 的新值都會出現在 **Status (狀態)** 欄中。

## AWS CLI
<a name="User_PIOPS.Increase.cli"></a>

如要變更資料庫執行個體的佈建 IOPS 設定，請使用 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) 命令。設定下列參數：
+ `--storage-type` – 針對佈建 IOPS 設定為 `io1` 或 `io2`。
+ `--allocated-storage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `--iops` – 資料庫執行個體佈建 IOPS 的新數量，以每秒輸入/輸出操作量表示。
+ `--apply-immediately` – 使用 `--apply-immediately` 立即套用變更。使用 `--no-apply-immediately` (預設值) 在下個維護時段套用變更。

## RDS API
<a name="User_PIOPS.Increase.api"></a>

如要變更資料庫執行個體的佈建 IOPS 設定，請使用 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)。設定下列參數：
+ `StorageType` – 針對佈建 IOPS 設定為 `io1` 或 `io2`。
+ `AllocatedStorage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `Iops` – 資料庫執行個體的新 IOPS 速率，以每秒輸入/輸出操作量表示。
+ `ApplyImmediately` – 將此選項設為 `True` 立即套用變更。將此選項設為 `False` (預設值) 在下個維護時段套用變更。

# I/O 密集型儲存體修改
<a name="USER_PIOPS.IOIntensive"></a>

Amazon RDS 資料庫執行個體將 Amazon Elastic Block Store (EBS) 磁碟區用於資料庫和日誌儲存體的 Amazon RDS 資料庫執行個體。根據所請求儲存的數量，Amazon RDS 會自動將多個 Amazon EBS 磁碟區分成*等量*以增強效能。具有 SSD 儲存類型的 RDS 資料庫執行個體由 RAID 0 組態中的一個或四個分段的 Amazon EBS 磁碟區提供支援。根據設計，RDS 資料庫執行個體的儲存修改作業對進行中資料庫作業的影響最小。

在大多數情況下，儲存擴展修改會完全卸載到 Amazon EBS 層，而且對資料庫是透明的。此程序通常會在幾分鐘內完成。但是，某些較舊的 RDS 儲存磁碟區需要不同的程序來修改大小、佈建 IOPS 或儲存區類型。這涉及使用潛在 I/O 密集型操作來製作數據的完整副本。

如果符合下列任一因素，則儲存裝置修改會使用 I/O 密集型作業：
+ 來源儲存類型為磁性。磁性儲存裝置不支援彈性磁碟區修改。
+ RDS 資料庫執行個體不在一或四磁碟區的 Amazon EBS 配置上。您可以使用增強型監控指標，檢視 RDS 資料庫執行個體上使用中的 Amazon EBS 磁碟區數量。如需更多詳細資訊，請參閱 [在 RDS 主控台中檢視作業系統指標](USER_Monitoring.OS.Viewing.md)。
+ 修改要求的目標大小會將配置的儲存區增加到超過 400 GiB (適用於 MariaDB、MySQL 和 PostgreSQL 執行個體的 RDS)，以及適用於 Oracle 的 RDS 的 200 GiB。儲存自動調度資源作業將資料庫執行個體的配置儲存大小增加到超過這些閾值時，也會產生相同的效果。

如果您的儲存修改涉及 I/O 密集型作業，它會消耗 I/O 資源並增加資料庫執行個體的負載。若要將 I/O 密集型作業 (包含一般用途 SSD (gp2)) 的 I/O 密集型作業，並導致更長的轉換時間，並導致更長的轉換時間。

我們建議您將這些儲存區修改要求排程在尖峰時段以外的最佳作法，以協助縮短完成儲存區修改作業所需的時間。或者，您也可以建立資料庫執行個體的僅供讀取複本，並在僅供讀取複本上執行儲存體修改。然後將僅供讀取複本提升為主要資料庫執行個體。如需更多詳細資訊，請參閱 [使用資料庫執行個體僅供讀取複本](USER_ReadRepl.md)。

如需詳細資訊，請參閱《[當我嘗試增加分配的儲存時，為什麼 Amazon RDS 資料庫執行個體卡在修改狀態？](https://aws.amazon.com/premiumsupport/knowledge-center/rds-stuck-modifying/)》

# 修改一般用途 SSD (gp3) 儲存體的設定
<a name="USER_PIOPS.gp3"></a>

您可以使用 Amazon RDS 主控台、AWS CLI 或 Amazon RDS API，來修改使用一般用途 SSD (gp3) 儲存體的資料庫執行個體設定。指定您需要的儲存體類型、配置的儲存體、佈建 IOPS 數量，以及儲存體輸送量。

雖然您可以縮減資料庫執行個體的佈建 IOPS 數量和儲存輸送量，但無法縮減儲存體大小。

在大多數情況下，擴展儲存體並不需要任何中斷。修改完資料庫執行個體的儲存空間 IOPS 之後，其狀態呈現為 **storage-optimization (儲存最佳化)**。在儲存體最佳化期間，您可以預期延遲提高，但仍在個位數字毫秒範圍內。對儲存體進行修改後，資料庫執行個體完全可以正常運作。

**注意**  
在儲存空間在執行個體上完成最佳化之後，必須經過 6 個小時，您才能在進行進一步的儲存空間修改。

如需每個資料庫引擎可用的已配置儲存體、佈建 IOPS、儲存體輸送量的範圍相關資訊，請參閱 [gp3 儲存體 (建議)](CHAP_Storage.md#gp3-storage)。

## 主控台
<a name="USER_PIOPS.gp3.Console"></a>

**變更資料庫執行個體的儲存體效能設定**

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

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

   若要篩選資料庫執行個體清單，請在 **Filter databases (篩選資料庫)** 中輸入文字字串，供 Amazon RDS 用來篩選結果。只有名稱中包含此字串的資料庫執行個體會顯示出來。

1. 選擇具有您想要修改之 gp3 儲存體的資料庫執行個體。

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

1. 在**修改資料庫執行個體**頁面上，選擇**一般用途 SSD (gp3)** 作為**儲存體類型**，然後執行下列動作：

   1. 針對 **Provisioned IOPS** (佈建 IOPS)，選擇一值。

      如果您針對 **Allocated storage** (已配置儲存體) 或 **Provisioned IOPS** (佈建 IOPS) 指定的值超出其他參數支援的限制，則警告訊息便會出現。此訊息提供其他參數所需的數值範圍。

   1. 在 **Storage throughput** (儲存體輸送量) 中，選擇一值。

      如果您針對 **Provisioned IOPS** (佈建 IOPS) 或 **Storage throughput** (儲存體輸送量) 指定的值超出其他參數支援的限制，則警告訊息便會出現。此訊息提供其他參數所需的數值範圍。

1. 選擇 **Continue (繼續)**。

1. 在 **Scheduling of modifications** (修改排程) 區段中選擇 **Apply immediately** (立即套用)，以將變更立即套用至資料庫執行個體。或選擇 **Apply during the next scheduled maintenance window (在下一個排定的維護時段套用)** 在下個維護時段套用變更。

1. 檢閱要變更的參數，並選擇 **Modify DB instance (修改資料庫執行個體)** 以完成修改。

   佈建 IOPS 的新值會出現在 **Status** (狀態) 欄中。

## AWS CLI
<a name="USER_PIOPS.gp3.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)。設定下列參數：
+ `--storage-type` – 設為 `gp3` 表示一般用途 SSD (gp3)。
+ `--allocated-storage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `--iops` – 資料庫執行個體佈建 IOPS 的新數量，以每秒輸入/輸出操作量表示。
+ `--storage-throughput` – 資料庫執行個體的新儲存體輸送量，以 MiBps 表示。
+ `--apply-immediately` – 使用 `--apply-immediately` 立即套用變更。使用 `--no-apply-immediately` (預設值) 在下個維護時段套用變更。

## RDS API
<a name="USER_PIOPS.gp3.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)。設定下列參數：
+ `StorageType` – 設為 `gp3` 表示一般用途 SSD (gp3)。
+ `AllocatedStorage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `Iops` – 資料庫執行個體的新 IOPS 速率，以每秒輸入/輸出操作量表示。
+ `StorageThroughput` – 資料庫執行個體的新儲存體輸送量，以 MiBps 表示。
+ `ApplyImmediately` – 將此選項設為 `True` 立即套用變更。將此選項設為 `False` (預設值) 在下個維護時段套用變更。

# 使用專用日誌磁碟區 (DLV)
<a name="USER_PIOPS.dlv"></a>

您可以將專用日誌磁碟區 (DLV) 用於使用佈建 IOPS (PIOPS) 儲存體的資料庫執行個體。DLV 會將 PostgreSQL 資料庫交易日誌和 MySQL/MariaDB 重做日誌與二進位日誌移至與包含資料庫資料表的磁碟區不同的儲存體磁碟區。DLV 使交易寫入記錄更有效率且一致。DLV 非常適合具有大型配置儲存體、每秒高 I/O (IOPS) 需求或延遲敏感工作負載的資料庫。

PIOPS 儲存體 (io1 和 io2 Block Express) 支援 DLV，這些 DLV 是使用固定大小 1,024 GiB 和 3,000 個佈建 IOPS 建立的。

Amazon RDS 在 AWS 區域 下列版本中支援所有 中的 DLVs：
+ MariaDB 10.6.7 和更新的 10 版本
+ MySQL 8.0.28 和更高的 8.0 版本，MySQL 8.4.3 和更高的 8.4 版本
+ PostgreSQL 13.10 和更新的 13 版本、14.7 和更新的 14 版本，以及 15.2 和更新的 15 版本

RDS 支援 DLV 搭配多可用區部署。修改或建立多可用區執行個體時，會同時為主要和次要執行個體建立 DLV。

RDS 支援 DLV 搭配僅供讀取複本。如果主要資料庫執行個體已啟用 DLV，則在啟用 DLV 之後建立的所有僅供讀取複本也將具有 DLV。在切換到 DLV 之前建立的任何僅供讀取複本將不會啟用它，除非明確修改為要這樣做。建議在啟用 DLV 之前附加至主要執行個體的所有僅供讀取複本，您也須將其手動修改為具有 DLV。

**注意**  
對於 5 TiB 或更高的資料庫組態，建議使用 DLV。

若要進一步了解 DLV 的優點，請參閱下列部落格文章：
+ [使用 Amazon RDS 專用日誌磁碟區增強資料庫效能](https://aws.amazon.com/blogs/database/enhance-database-performance-with-amazon-rds-dedicated-log-volumes/)
+ [使用專用日誌磁碟區對 Amazon RDS for PostgreSQL 進行基準化分析](https://aws.amazon.com/blogs/database/benchmark-amazon-rds-for-postgresql-with-dedicated-log-volumes/)
+ Percona 文件中的[使用專用日誌磁碟區最大化 AWS RDS for MySQL 的效能](https://www.percona.com/blog/maximizing-performance-of-aws-rds-for-mysql-with-dedicated-log-volumes/)

如需每個資料庫引擎可用的已配置儲存體、佈建 IOPS、儲存體輸送量的範圍相關資訊，請參閱 [佈建 IOPS SSD 儲存體](CHAP_Storage.md#USER_PIOPS)。

**Topics**
+ [啟用和停用 DLV 時的考量](#USER_PIOPS.dlv.considerations)
+ [在建立資料庫執行個體時啟用 DLV](#USER_PIOPS.create-dlv)
+ [在現有的資料庫執行個體上啟用 DLV](#USER_PIOPS.modify-dlv)
+ [監控 DLV 儲存體](#USER_PIOPS.dlv.monitoring)

## 啟用和停用 DLV 時的考量
<a name="USER_PIOPS.dlv.considerations"></a>

啟用和停用 DLV 可能會耗時，並導致停機。此程序涉及在啟用時將所有交易日誌或重做和二進位日誌 (取決於資料庫引擎) 複製到新磁碟區，或在停用時重新複製到原始儲存體。此操作的持續時間受到若干因素影響：
+ 交易日誌數目：
  + 資料庫越大、含有越多交易，就會產生越多日誌，而拉長複製所需的時間。
  + 如果複寫插槽處於非作用中狀態，或複寫有所延遲，交易日誌可能會累積在主要資料庫執行個體上，而拉長複製所需的時間。請確定複寫是現行的，並移除任何不必要的插槽。
+ 儲存組態：
  + 資料庫執行個體 EBS 頻寬 – 頻寬越高，資料傳輸速度越快。
  + 佈建 IOPS 的數目 – 每秒輸入/輸出操作數 (IOPS) 越高，複製程序就越快速。
+ 資料庫活動 – 設定期間的高層級資料庫活動可能會拖慢程序。

為了將停機時間降至最低，建議您在活動量低或維護時段期間規劃和排程。

## 在建立資料庫執行個體時啟用 DLV
<a name="USER_PIOPS.create-dlv"></a>

您可以使用 AWS 管理主控台 AWS CLI或 RDS API 來建立已啟用 DLV 的資料庫執行個體。

### 主控台
<a name="USER_PIOPS.create-dlv.CON"></a>

**在新的資料庫執行個體上啟用 DLV**

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

1. 選擇**建立資料庫**。

1. 在**建立資料庫執行個體**頁面上，選擇支援 DLV 的資料庫引擎。

1. 針對**儲存**：

   1. 選擇 **Provisioned IOPS SSD (io1)** 或 **Provisioned IOPS SSD (io2)**。

   1. 輸入您想要的**配置儲存**和**佈建 IOPS**。

   1. 展開**專用日誌磁碟區**，然後選取**開啟專用日誌磁碟區**。  
![\[在新的資料庫執行個體上啟用 DLV。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/enable-dlv.png)

1. 視需要選擇其他設定。

1. 選擇**建立資料庫**。

資料庫建立後，專用日誌磁碟區的值會出現在資料庫詳細資訊頁面的**組態**索引標籤上。

### CLI
<a name="USER_PIOPS.create-dlv.CLI"></a>

若要在使用佈建 IOPS 儲存體建立資料庫執行個體時啟用 DLV，請使用 AWS CLI 命令 [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)。設定下列參數：
+ `--dedicated-log-volume` – 啟用專用日誌磁碟區。
+ `--storage-type` – 針對佈建 IOPS 設定為 `io1` 或 `io2`。
+ `--allocated-storage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `--iops` – 資料庫執行個體的佈建 IOPS 數量，以每秒 I/O 操作數表示。

### RDS API
<a name="USER_PIOPS.create-dlv.API"></a>

若要在使用佈建 IOPS 儲存體建立資料庫執行個體時啟用 DLV，請使用 Amazon RDS API 操作 [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CretaeDBInstance.html)。設定下列參數：
+ `DedicatedLogVolume` - 設定為 `true` 以啟用專用日誌磁碟區。
+ `StorageType` – 針對佈建 IOPS 設定為 `io1` 或 `io2`。
+ `AllocatedStorage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。
+ `Iops` - 資料庫執行個體的 IOPS 速率，以每秒 I/O 操作數表示。

## 在現有的資料庫執行個體上啟用 DLV
<a name="USER_PIOPS.modify-dlv"></a>

您可以使用 AWS 管理主控台 AWS CLI或 RDS API 來修改資料庫執行個體以啟用 DLV。

修改資料庫執行個體的 DLV 設定後，必須將資料庫執行個體重新開機。

### 主控台
<a name="USER_PIOPS.modify-dlv.CON"></a>

**在現有的資料庫執行個體上啟用 DLV**

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

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

   若要篩選資料庫執行個體清單，請在 **Filter databases (篩選資料庫)** 中輸入文字字串，供 Amazon RDS 用來篩選結果。只有名稱中包含此字串的資料庫執行個體會顯示出來。

1. 選擇您想要修改、具有佈建 IOPS 儲存體的資料庫執行個體。

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

1. 在**修改資料庫執行個體**頁面上：

   1. 針對**儲存**，展開**專用日誌磁碟區**，然後選取**開啟專用日誌磁碟區**。

1. 選擇**繼續**。

1. 選擇**立即套用**，以立即套用資料庫執行個體的變更。或選擇 **Apply during the next scheduled maintenance window (在下一個排定的維護時段套用)** 在下個維護時段套用變更。

1. 檢閱要變更的參數，並選擇 **Modify DB instance (修改資料庫執行個體)** 以完成修改。

專用日誌磁碟區的新值會出現在資料庫詳細資訊頁面的**組態**索引標籤上。

### CLI
<a name="USER_PIOPS.modify-dlv.CLI"></a>

若要使用佈建 IOPS 儲存體在現有資料庫執行個體上啟用或停用 DLV，請使用 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)。設定下列參數：
+ `--dedicated-log-volume` – 啟用專用日誌磁碟區。

  使用 `--no-dedicated-log-volume` (預設值) 停用專用日誌磁碟區。
+ `--apply-immediately` – 使用 `--apply-immediately` 立即套用變更。

  使用 `--no-apply-immediately` (預設值) 在下個維護時段套用變更。

### RDS API
<a name="USER_PIOPS.modify-dlv.API"></a>

若要使用佈建 IOPS 儲存體，在現有資料庫執行個體上啟用或停用 DLV，請使用 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)。設定下列參數：
+ `DedicatedLogVolume` – 將此選項設定為 `true` 以啟用專用日誌磁碟區。

  將此選項設定為 `false` 以停用專用日誌磁碟區。這是預設值。
+ `ApplyImmediately` – 將此選項設為 `True` 立即套用變更。

  將此選項設為 `False` (預設值) 在下個維護時段套用變更。

## 監控 DLV 儲存體
<a name="USER_PIOPS.dlv.monitoring"></a>

您可以使用 CloudWatch 中的 `FreeStorageSpaceLogVolume` 指標來監控 DLV 儲存體用量。

您可以使用 RDS for PostgreSQL 的下列查詢，確認交易日誌佔用的大小：

```
SELECT pg_size_pretty(COALESCE(sum(size), 0)) AS total_wal_generated_size
FROM pg_catalog.pg_ls_waldir();
```

如果 DLV 儲存空間不足，資料庫執行個體會進入 `storage-full` 狀態，而導致停機。