本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Aurora Serverless Scaling 執行區塊
類別:資料庫擴展
在區域切換期間,目的地 Aurora Serverless 叢集的 ACU (Aurora 容量單位) 設定可能遠低於吸收生產流量所需的設定。Aurora Serverless Scaling 執行區塊會根據來源叢集的實際用量,自動計算並套用正確的最小和最大 ACU 容量到目的地叢集,確保您的無伺服器資料庫可以處理傳入工作負載,而不會調節或連線失敗。
主要優點
用量型容量計算:區域切換會從來源叢集過去 24 小時內的實際尖峰使用率衍生目標容量,而不是依賴靜態組態,從而根據實際流量模式為您提供適當大小的容量。
Cross-engine-type智慧:無論您的來源是無伺服器、佈建或混合組態,區域切換都知道如何將來源容量轉換為目的地無伺服器叢集的適當 ACU 設定。
主動-主動擴展的百分比:為主動-主動架構設定高於 100% (例如 200%) 的目標百分比,其中目的地必須吸收兩個區域的合併流量。
使用情況
主動-被動與無伺服器待命:您的目的地區域會以最少ACUs 執行無伺服器叢集,且需要先擴展才能接收生產流量。
主動-主動容錯移轉:這兩個區域都提供流量,而在切換期間,其餘區域必須處理合併負載 – 使用高於 100% 的目標百分比。
混合引擎全域資料庫:您的來源區域使用佈建的執行個體,但目的地使用無伺服器 – 區域切換會自動處理容量轉譯。
Aurora Serverless Scaling 與替代方案的比較
如果沒有此執行區塊,客戶必須在切換流量之前手動計算 ACU 需求並修改叢集設定 – 一個複雜、容易出錯的程序,特別是當來源和目的地使用不同的引擎類型時。
| 方法 | 優點 | 缺點 | |
|---|---|---|---|
| 1 | Aurora Serverless Scaling 區塊 | 從實際用量自動計算,處理跨引擎翻譯,以百分比為基礎的控制,與計劃協同運作整合 | 僅向上擴展;修改可能偏離 IaC 的 ACU 設定 |
| 2 | 手動 ACU 調整 | 完全控制 | 需要在壓力下計算 ACU 對等項目;緩慢;容易出錯 |
| 3 | 指令碼化自動化 | 可自訂 | 必須複寫跨引擎轉譯邏輯;沒有計畫評估;維護負擔 |
| 4 | 預先佈建 (最大 ACU 一律很高) | 無容錯移轉延遲 | 昂貴;降低無伺服器的成本利益;在待命區域中浪費 |
當您需要處理跨引擎 ACU 翻譯複雜性的自動化、用量感知容量擴展時,Aurora Serverless Scaling 區塊是正確的選擇。
運作方式
設定 Aurora Serverless Scaling 執行區塊之後,區域切換會確認指定全域資料庫中有一個來源叢集和一個目的地叢集。目標容量是根據來源叢集類型決定:
來源為無伺服器:
最小 ACU = 過去 24 小時內來源叢集觀察到的最高 ACU 使用率 (
ServerlessDatabaseCapacityCloudWatch 指標)最大 ACU = 過去 24 小時內來源叢集最大 ACU 的峰值
來源已佈建:
將來源叢集的 EC2 執行個體記憶體映射至同等 ACUs(GiB ÷ 2 中的執行個體記憶體)
將最大 ACU 設定為 256
來源為混合 (佈建 + 無伺服器):
最小 ACU = 佈建執行個體 ACU 對等的最大值,以及 24 小時內觀察到的無伺服器 ACU 使用率
最大 ACU = 256
區域切換接著會套用目標百分比來計算最終值:
destination min ACU = round_to_nearest_0.5(targetPercent × source min ACU) destination max ACU = round_to_nearest_0.5(targetPercent × source max ACU)
如果目的地叢集目前的容量已經等於或高於計算目標,區域切換會完成步驟,而不進行變更。區域切換不會縮減叢集容量。當目的地叢集不是無伺服器時,區塊會成功完成為無操作。
對於主動-主動計劃,區域切換會使用其他設定的 區域作為來源。如果區域已停用,區域切換會使用其他作用中區域做為來源,以計算要擴展的百分比。
注意
執行此區塊會修改 Aurora Serverless 叢集的最小和最大 ACU 容量設定,如果您透過infrastructure-as-code工具或其他自動化管理這些值,可能會導致組態偏離。確保您的組態管理程序考慮這些變更,以防止意外轉返。
Configuration
當您設定 Aurora Serverless Scaling 執行區塊時,您可以輸入 Aurora Global Database 的全域叢集識別符,以及要在計劃執行期間向上擴展的每個區域的資料庫叢集 ARNs。
重要
設定執行區塊之前,請確定計劃的執行角色具有正確的 IAM 政策。如需詳細資訊,請參閱Aurora 無伺服器擴展執行區塊範例政策。
若要設定 Aurora Serverless Scaling 執行區塊,請輸入下列值:
步驟名稱:輸入名稱。
步驟描述 (選用):輸入步驟的描述。
Aurora Global Database 叢集名稱:輸入全域叢集識別符。
區域的叢集 ARN:輸入要在您計劃的每個區域中使用的資料庫叢集 ARN。
目標百分比 (選用):輸入要擴展目的地叢集的衍生來源容量百分比。預設為 100。對於主動-主動計劃,請考慮較高的值 (例如 200%),以考慮合併流量。
逾時:輸入逾時值。
然後,選擇儲存步驟。
做為計畫評估一部分而評估的內容
當區域切換評估您的計劃時,區域切換會對 Aurora Serverless Scaling 執行區塊組態和許可執行數個關鍵檢查。區域切換評估會驗證兩個區域中是否存在 Aurora Serverless 叢集,確保它們已正確設定和可存取,並記下每個區域中的目前容量。它還確認目標區域的叢集中的最大容量足以處理所需容量的指定比例比對。
區域切換也會驗證計劃的 IAM 角色是否具有 Aurora Serverless 擴展的正確許可。如需區域切換執行區塊所需許可的詳細資訊,請參閱 Aurora 無伺服器擴展執行區塊範例政策。如果任何檢查失敗,區域開關會傳回警告訊息,您可以在 主控台中檢視。或者,您可以透過 或使用 API 操作來接收驗證警告。