本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Aurora Auto Scaling with Aurora 複本
為了滿足您的連線和工作負載要求,Aurora Auto Scaling 會動態調整為針對 Aurora 資料庫叢集佈建的 Aurora 複本 (讀取器資料庫執行個體) 數量。Aurora Auto Scaling 可同時適用於 Aurora MySQL 和 Aurora PostgreSQL。Aurora Auto Scaling 可讓您的 Aurora 資料庫叢集處理突然增加的連線或工作負載。當連線或工作負載減少時,Aurora Auto Scaling 會移除不必要的 Aurora 複本,讓您不需為了用不到的已佈建資料庫執行個體支付費用。
您定義並套用 Aurora 資料庫叢集的規模調整政策。擴展政策定義了 Aurora Auto Scaling 能管理的 Aurora 複本數量下限和上限。Aurora Auto Scaling 會根據政策調整 Aurora 複本的數量,使用 Amazon CloudWatch 指標和目標值來判斷配合實際的工作負載要增加或減少複本數量。
注意
Aurora Auto Scaling 不適用於寫入器資料庫執行個體上的工作負載。Aurora Auto Scaling 僅在讀取器執行個體上協助處理工作負載。
您可以使用 根據預先定義的指標 AWS Management Console 來套用擴展政策。或者,您可以使用 AWS CLI 或 Aurora Auto Scaling API,根據預先定義的或自訂指標來套用擴展政策。
開始之前
在使用 Aurora Auto Scaling 擴展 Aurora 資料庫叢集前,您必須先建立一個具有主要 (寫入器) 資料庫執行個體的 Aurora 資料庫叢集。如需建立 Aurora 資料庫叢集的詳細資訊,請參閱建立 Amazon Aurora 資料庫叢集。
只有當資料庫叢集處於可使用狀態,Aurora Auto Scaling 才會擴展資料庫叢集。
當 Aurora Auto Scaling 新增 Aurora 複本時,新 Aurora 複本的資料庫執行個體會和主要執行個體所使用的相同。如需資料庫執行個體類別的詳細資訊,請參閱Amazon Aurora 資料庫執行個體類別。同時,新 Aurora 複本的提升層優先等級將設為最後 (即預設的 15)。這表示在容錯移轉期間,優先等級較高的複本 (例如手動建立的複本) 將會優先提升。如需更多詳細資訊,請參閱 Aurora 資料庫叢集的容錯能力。
此外,Aurora Auto Scaling 只會移除它建立的 Aurora 複本。
若要得益於 Aurora Auto Scaling,您的應用程式必須支援連線到新的 Aurora 複本。若要這樣做,建議使用 Aurora 讀取器端點。您可以使用 AWS JDBC 驅動程式等驅動程式。如需詳細資訊,請參閱連接至 Amazon Aurora 資料庫叢集。
注意
Aurora 全域資料庫目前不支援次要資料庫叢集的 Aurora Auto Scaling。
Aurora Auto Scaling 政策
Aurora Auto Scaling 使用規模調整政策來調整 Aurora 資料庫叢集中 Aurora 複本的數量。Aurora Auto Scaling 有下列元件:
服務連結角色
目標指標
容量下限和上限
冷卻時間
服務連結角色
Aurora Auto Scaling 使用 AWSServiceRoleForApplicationAutoScaling_RDSCluster
服務連結角色。如需詳細資訊,請參閱《Application Auto Scaling 使用者指南》中的適用於 Application Auto Scaling 的服務連結角色。
目標指標
在這種類型的政策中,會在目標追蹤規模調整政策的設定中指定預先定義的或自訂的指標以及指標的目標值。Aurora Auto Scaling 會建立和管理可觸發規模調整政策的 CloudWatch 警示,並根據指標和目標值來計算規模調整。規模調整政策會視需要新增或移除 Aurora 複本,以讓指標保持在等於或接近指定目標值。除了讓指標保持在接近目標值之外,目標追蹤規模調整政策也會配合因為變更工作負載所造成的指標波動而進行調整。這樣的政策也能將資料庫叢集可用 Aurora 複本數量的快速波動減到最低。
例如,規模調整政策使用預先定義的平均 CPU 使用率指標。這個政策可以讓 CPU 使用率維持在 (或接近) 指定的使用率百分比,像是百分之 40。
注意
在每個 Aurora 資料庫叢集上,您只能為每一個目標指標建立一個 Auto Scaling 政策。
當您設定 Aurora Auto Scaling 時,目標指標值會計算為叢集中所有讀取器執行個體的平均值。此計算執行方式如下:
-
包含 Aurora 叢集中的所有讀取器執行個體,無論它們是由 Auto Scaling 管理或手動新增。
-
包括與自訂端點相關聯的執行個體。自訂端點不會影響目標指標的計算。
-
不包含叢集的寫入器執行個體。
指標衍生自 CloudWatch,使用下列維度:
-
DBClusterIdentifier
-
Role=READER
例如,請考慮具有下列設定的 Aurora MySQL 叢集:
-
手動執行個體 (不受 Auto Scaling 控制):
-
具有 50% CPU 使用率的寫入器
-
具有 90% CPU 使用率的讀取器 1 (自訂端點:
custom-reader-1
) -
具有 90% CPU 使用率的讀取器 2 (自訂端點:
custom-reader-2
)
-
-
Auto Scaling 執行個體:
-
具有 10% CPU 使用率的讀取器 3 (使用 Auto Scaling 新增)
-
在此案例中,Auto Scaling 政策的目標指標計算方式如下:
Target metric = (CPU utilization of reader 1 + reader 2 + reader 3) / total number of readers Target metric = (90 + 90 + 10) / 3 = 63.33%
Auto Scaling 政策會使用此值,根據定義的閾值來評估是否向內擴展或向外擴展。
考慮下列各項:
-
雖然自訂端點會判斷流量如何路由至特定讀取器,但不會將讀取器排除在指標計算之外。
-
手動執行個體一律包含在目標指標計算中。
-
為了避免意外擴展行為,請確定 Auto Scaling 組態會考慮叢集中的所有讀取器執行個體。
-
如果叢集沒有讀取器,則不會計算指標,且 Auto Scaling 政策警示會保持非作用中狀態。若要讓 Auto Scaling 政策有效運作,至少必須隨時有一個讀取器。
容量下限和上限
您可以指定將由 Application Auto Scaling 管理的 Aurora 複本數量上限。此值必須介於 0 – 15,而且必須大於或等於 Aurora 複本數量下限的指定值。
您也可以指定將由 Application Auto Scaling 管理的 Aurora 複本數量下限。此值必須介於 0 – 15,而且必須小於或等於 Aurora 複本數量上限的指定值。
必須至少有一個讀取器資料庫執行個體,Aurora Auto Scaling 才能運作。如果資料庫叢集沒有讀取器執行個體,且您將最小容量設定為 0,則 Aurora Auto Scaling 將無法運作。
注意
Aurora 資料庫叢集需設定容量下限和上限。指定的值會套用至與該 Aurora 資料庫叢集相關聯的所有政策。
冷卻時間
藉由新增冷卻時間 (會影響 Aurora 資料庫叢集的擴展和縮減),您可以調整目標追蹤規模調整政策的靈活性。冷卻時間會封鎖後續的擴展或縮減請求,直到冷卻時間到期。這些封鎖會拖慢規模縮減請求刪除 Aurora 資料庫叢集中 Aurora 複本的動作,以及拖慢規模擴展請求建立 Aurora 複本的動作。
您可以指定下列其中一種冷卻時間:
-
縮減動作會減少 Aurora 資料庫叢集中 Aurora 複本的數量。規模縮減冷卻時間會指定在規模縮減動作完成之後,另一個規模縮減動作可以再開始執行之前的等待時間長度 (秒)。
-
擴增動作會增加 Aurora 資料庫叢集中 Aurora 複本的數量。規模擴展冷卻時間會指定在規模擴展動作完成之後,可以再開始執行另一個規模擴展動作之前的等待時間長度 (秒)。
注意
如果後續橫向擴展請求的 Aurora 複本數量大於第一個請求,則會忽略橫向擴展冷卻時間。
如果您未設定縮減或橫向擴展的冷卻時間,則每個的預設值為 300 秒。
啟用或停用規模縮減活動
您可以啟用或停用政策的規模縮減動作。啟用規模縮減動作可讓規模調整政策刪除 Aurora 複本。規模縮減動作啟用時,規模調整政策中的規模縮減冷卻時間會套用至規模縮減動作。停用規模縮減動作可防止規模調整政策刪除 Aurora 複本。
注意
規模擴展動作會一律啟用,如此規模調整政策即可根據需要來建立 Aurora 複本。
新增、編輯或刪除自動擴展政策
您可以使用 或 Application Auto Scaling API 新增 AWS Management Console AWS CLI、編輯或刪除自動擴展政策。如需新增、編輯或刪除自動擴展政策的詳細資訊,請參閱下列各節。
資料庫執行個體 ID 和標記
當 Aurora Auto Scaling 新增複本時,其資料庫執行個體 ID 會以 application-autoscaling-
為前綴,例如 application-autoscaling-61aabbcc-4e2f-4c65-b620-ab7421abc123
。
下列標籤會自動新增至資料庫執行個體。您可以在資料庫執行個體詳細資訊頁面的 Tags (標籤) 頁籤上檢視。
標籤 | Value |
---|---|
application-autoscaling:resourceId | cluster:mynewcluster-cluster |
如需 Amazon RDS 資源標籤的詳細資訊,請參閱標記 Amazon Aurora 和 Amazon RDS 資源。
Aurora Auto Scaling 和績效詳情
和任何 Aurora 讀取器資料庫執行個體一樣,您可以使用績效詳情來監控 Aurora Auto Scaling 新增的複本。
如需了解如何使用績效詳情來監控 Aurora 資料庫叢集,請參閱 在 Amazon Aurora 上使用績效詳情監控資料庫負載。