使用 Amazon RDS 儲存體自動擴展自動管理容量 - Amazon Relational Database Service

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

使用 Amazon RDS 儲存體自動擴展自動管理容量

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

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

在啟用儲存體自動擴展時,當 Amazon RDS 偵測到您用完可用資料庫空間,它會自動向上擴展您的儲存體。當下列因素符合時,Amazon RDS 會開始修改已啟用自動擴展的資料庫執行個體儲存體:

  • 免費的可用空間小於或等於 10% 的已配置儲存體。

  • 低儲存體狀況至少持續五分鐘。

  • 自上次修改儲存後,或在執行個體上完成儲存體最佳化後 (以時間較長者為準),至少已經過了六個小時。

額外的儲存體以下列任何較大一項增量:

  • 10 GiB

  • 目前配置之儲存體的 10%

  • 依據過去一小時的 FreeStorageSpace 指標,預測儲存體於接下來 7 小時內超過目前配置的儲存體大小。如需指標的詳細資訊,請參閱透過 Amazon CloudWatch 進行監控

最大儲存閾值是您為自動擴展資料庫執行個體設定的限制。它有下列限制條件:

  • 您必須將最大儲存閾值設定為至少比目前分配的儲存多 10%。我們建議將其設定為至少 26% 以上,以避免接收 event notification 儲存體大小接近最大儲存閾值。

    例如,如果您的資料庫執行個體分配了 1000 GiB 的儲存,則將最大儲存閾值設定為至少 1100 GiB。否則,您會收到一個錯誤,例如無效的 engine_name 最大儲存大小。但是,我們建議您將最大儲存閾值設定為至少 1260 GiB,以避免此事件。

  • 對於使用佈建 IOPS (io1 或 io2 Block Express) 儲存的資料庫執行個體,IOPS 與最大儲存閾值 (以 GiB 為單位) 的比率必須在特定範圍內。如需詳細資訊,請參閱佈建 IOPS SSD 儲存體

  • 您無法為已啟用自動規模調整的執行個體,將儲存體閾值上限設為大於配置的儲存體上限。

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

注意

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

儲存體自動擴展的限制

下列限制適用於儲存體自動擴展:

  • 如果儲存增量會超出儲存體上限閾值,則不會自動調整規模。

  • 自動擴展時,RDS 會為後續自動擴展作業預測儲存體大小。若預測後續作業超過最大儲存體閾值,則 RDS 會自動擴展至最大儲存體閾值。

  • 自動擴展無法完全防止大量資料載入的儲存已滿情況。這是因為在六 (6) 小時或在執行個體上完成儲存體最佳化之前 (以時間較長者為準),無法進一步修改儲存。

    如果您執行大型資料載入,且自動擴展未提供足夠的空間,資料庫可能會維持儲存已滿狀態數小時。這可能會損害資料庫。

  • 如果您啟動儲存體擴展操作的時間和 Amazon RDS 啟動自動擴展操作的時間一樣,會先執行您的儲存體修改操作。自動擴展已取消。

  • Autoscaling 無法減少配置的儲存體。儲存體配置完畢後,您無法縮減資料庫執行個體的儲存量。

  • 自動擴展不能與磁性儲存搭配使用。

  • 自動擴展不能與下列可排序儲存體少於 6 TiB 的前一代執行個體類別搭配使用:db.m3.large、db.m3.xlarge 及 db.m3.2xlarge。

  • Autoscaling 操作不會由 記錄 AWS CloudTrail。如需有關 CloudTrail 的詳細資訊,請參閱 在 中監控 RDS AmazonAPI呼叫 AWS CloudTrail

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

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

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

注意

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

啟用新資料庫執行個體的儲存體自動擴展
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

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

  3. 在導覽窗格中,選擇 Databases (資料庫)。

  4. 選擇建立資料庫。在 Select engine (選取引擎) 頁面上選擇資料庫引擎,並指定資料庫執行個體資訊,如Amazon RDS 入門所述。

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

  6. 指定其餘的資料庫執行個體資訊,如Amazon RDS 入門所述。

若要啟用新資料庫執行個體的儲存體自動擴展,請使用 AWS CLI 命令 create-db-instance。設定下列參數:

  • --max-allocated-storage – 開啟儲存體自動擴展,並設定儲存體大小上限 (GiB)。

若要確認您的資料庫執行個體可使用 Amazon RDS 儲存體自動擴展,請使用 AWS CLI describe-valid-db-instance-modifications命令。若要先依執行個體類別勾選再建立執行個體,請使用 describe-orderable-db-instance-options 命令。檢查傳回值的以下欄位:

  • SupportsStorageAutoscaling – 指出是資料庫執行個體還是執行個體類別支援儲存體自動擴展。

如需儲存體的詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體

若要啟用新資料庫執行個體的儲存體自動擴展,請使用 Amazon RDS API 操作 CreateDBInstance。設定下列參數:

  • MaxAllocatedStorage – 開啟 Amazon RDS 儲存體自動擴展,並設定儲存體大小上限 (GiB)。

若要驗證 Amazon RDS 儲存體自動擴展是否可供資料庫執行個體使用,請針對現有的執行個體使用 Amazon RDS API DescribeValidDbInstanceModifications 操作,或先使用 DescribeOrderableDBInstanceOptions 操作再建立執行個體。檢查傳回值的以下欄位:

  • SupportsStorageAutoscaling – 指出資料庫執行個體是否支援儲存體自動擴展。

如需儲存體的詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體

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

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

變更資料庫執行個體的儲存體自動擴展設定
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)

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

  4. 變更 Autoscaling (自動擴展) 區段的儲存體限制。如需更多詳細資訊,請參閱 修改 Amazon RDS 資料庫執行個體

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

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

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

若要變更資料庫執行個體的儲存體自動調整規模設定,請使用 AWS CLI 命令 modify-db-instance。設定下列參數:

  • --max-allocated-storage – 設定儲存體大小上限 (GiB)。如果此值大於 --allocated-storage 參數,即開啟儲存體自動擴展。如果此值與 --allocated-storage 參數相同,即關閉儲存體自動擴展。

若要確認您的資料庫執行個體可使用 Amazon RDS 儲存體自動擴展,請使用 AWS CLI describe-valid-db-instance-modifications命令。若要先依執行個體類別勾選再建立執行個體,請使用 describe-orderable-db-instance-options 命令。檢查傳回值的以下欄位:

  • SupportsStorageAutoscaling – 指出資料庫執行個體是否支援儲存體自動擴展。

如需儲存體的詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體

若要變更資料庫執行個體的儲存體自動擴展設定,請使用 Amazon RDS API 操作 ModifyDBInstance。設定下列參數:

  • MaxAllocatedStorage – 設定儲存體大小上限 (GiB)。

若要驗證 Amazon RDS 儲存體自動擴展是否可供資料庫執行個體使用,請針對現有的執行個體使用 Amazon RDS API DescribeValidDbInstanceModifications 操作,或先使用 DescribeOrderableDBInstanceOptions 操作再建立執行個體。檢查傳回值的以下欄位:

  • SupportsStorageAutoscaling – 指出資料庫執行個體是否支援儲存體自動擴展。

如需儲存體的詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體

在 中手動縮減資料庫執行個體

Amazon RDS 提供儲存體自動擴展,以滿足不斷增長的需求。不過,縮減和縮減的限制如下:

  • RDS 儲存 – 雖然 RDS 支援隨需求增加自動擴展儲存體,但不會自動縮減。

  • 僅供讀取複本 – RDS 不支援自動擴展 (新增) 或擴展 (刪除) 僅供讀取複本。您必須根據您的負載需求手動新增或移除僅供讀取複本。

若要縮減 RDS 資源,請執行下列手動動作:

  • 對於儲存,您無法使用 modify-db-instance命令手動減少資料庫執行個體的配置儲存。反之,請選擇下列其中一項技巧:

    • 如果您的資料庫引擎支援,請使用藍/綠部署。建立儲存大小較低的綠色資料庫,然後將綠色資料庫提升為藍色資料庫。如需詳細資訊,請參閱修改儲存和效能設定

    • 使用較低的配置儲存建立新的資料庫執行個體、手動將資料從目前資料庫遷移到新建立的資料庫執行個體,以及切換資料庫端點。

  • 對於僅供讀取複本,請透過 RDS 主控台或 手動刪除任何未使用的複本 AWS CLI。

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

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

關閉資料庫執行個體的儲存體自動擴展
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)

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

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

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

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

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

若要關閉資料庫執行個體的儲存體自動調整規模,請使用 AWS CLI 命令modify-db-instance和下列參數:

  • --max-allocated-storage – 指定值等於 --allocated-storage 的設定,可防止指定資料庫執行個體進一步的 Amazon RDS 儲存體自動擴展。

如需儲存體的詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體

使用 Amazon RDS API 操作 ModifyDBInstance 來關閉資料庫執行個體的儲存體自動擴展。設定下列參數:

  • MaxAllocatedStorage – 指定值等於 AllocatedStorage 的設定,可防止指定資料庫執行個體進一步的 Amazon RDS 儲存體自動擴展。

如需儲存體的詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體