使用 Amazon RDS Storage Autoscaling 自動管理容量 - Amazon Relational Database Service

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

使用 Amazon RDS Storage Autoscaling 自動管理容量

如果您的工作負載無法預測,您可以為 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 為單位) 的比率必須在特定範圍內。如需詳細資訊,請參閱佈建的IOPSSSD儲存體

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

    例如,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。

  • 不會記錄自動擴展操作 AWS CloudTrail。如需 的詳細資訊 CloudTrail,請參閱 在 AWS CloudTrail 中監控 Amazon RDS API 呼叫

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

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

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

注意

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

啟用新資料庫執行個體的儲存體自動擴展
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/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 RDSAPI操作 CreateDBInstance。設定下列參數:

  • MaxAllocatedStorage – 開啟 Amazon RDS儲存體自動擴展,並設定儲存體大小上限,以 GB 為單位。

若要確認您的資料庫執行個體是否可使用 Amazon RDS儲存體自動擴展,請在建立執行個體之前使用現有執行個體的 Amazon RDSAPIDescribeValidDbInstanceModifications操作或 DescribeOrderableDBInstanceOptions操作。檢查傳回值的以下欄位:

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

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

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

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

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

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

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

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

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

  6. 在確認頁面上,檢閱您的變更。如果都正確,請選擇 Modify DB Instance (修改資料庫執行個體) 儲存變更。如果都不正確,請選擇 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 RDSAPI操作 ModifyDBInstance。設定下列參數:

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

若要確認您的資料庫執行個體可使用 Amazon RDS儲存體自動擴展,請在建立執行個體之前,使用現有執行個體的 Amazon RDSAPIDescribeValidDbInstanceModifications操作或 DescribeOrderableDBInstanceOptions操作。檢查傳回值的以下欄位:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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