本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Aurora serverless
Aurora serverless 是 Amazon Aurora 的隨需、自動擴展組態。Aurora serverless 有助於自動執行監控工作負載和調整資料庫容量的程序。容量會根據應用程式需求自動調整。您只需支付資料庫叢集消耗的資源費用。因此,Aurora serverless 可協助您保持在預算範圍內,避免支付未使用的電腦資源費用。
這種自動化類型對於多租用戶資料庫、分散式資料庫、開發和測試系統以及其他具有高度變化和不可預測工作負載的環境,尤其有價值。
主題
Aurora serverless 使用案例
Aurora serverless 支援多種類型的資料庫工作負載。這些範圍從開發和測試環境到具有不可預測工作負載的網站和應用程式,到需要大規模和可用性之高要求的業務關鍵應用程式。
Aurora serverless 在以下使用案例中特別有用:
-
變數工作負載 - 您正在執行的工作負載會有無法預測的突發活動增加。例如一個交通站點,在開始下雨時會看到活動突然增加。另一個是電子商務網站,當您提供銷售或特別促銷活動時,流量會增加。透過 Aurora serverless,您的資料庫會自動擴展容量以滿足應用程式峰值負載需求,並在活動激增結束時縮小規模。透過 Aurora serverless,您不再需要針對峰值或平均容量進行佈建。您可以指定容量上限來處理最壞情況,除非需要,否則不會使用該容量。
Aurora serverless 的擴展精細程度有助於讓容量緊密符合資料庫需求。對於佈建的叢集,向上擴展需要新增全新的資料庫執行個體。當只需要多一點容量時, Aurora serverless可以新增一半的 ACU。根據處理工作負載增加所需的額外容量,它可以新增 0.5、1、1.5、2 或額外的半個 ACU。當工作負載減少且不再需要容量時,它可以移除 0.5、1、1.5、2 或額外的半個 ACU。
-
多租用戶應用程式 – 透過 Aurora serverless,您就無須為機群中的每個應用程式分別管理資料庫容量。Aurora serverless 將為您管理個別資料庫容量。
您可以為每個租用戶建立叢集。如此一來,您就可以使用複製、快照還原和 Aurora 全球資料庫等功能,來增強高可用性和適合每個租用戶的災難復原。
根據一天中的時間、一年中的時間、促銷活動等,每個租用戶可能具有特定的繁忙和閒置時段。每個叢集都可能具有廣泛的容量範圍。如此一來,活動量低的叢集會產生最低的資料庫執行個體費用。任何叢集都可以快速擴充規模,以便處理高活動期間。
-
新的應用程式 - 您正在部署新的應用程式,但不確定所需的資料庫執行個體大小。透過使用 Aurora serverless,您可以建立具有一個或多個資料庫執行個體的叢集,並將該資料庫自動擴展至應用程式所需容量。
-
混合用途應用程式 - 假設您有線上交易處理 (OLTP) 應用程式,但您定期遇到查詢流量高峰。透過為叢集中的 Aurora serverless 資料庫執行個體指定提升層,您可以設定叢集,讓讀取器資料庫執行個體可以獨立於寫入器資料庫執行個體進行擴展,以便處理額外的負載。當使用率高峰降低時,讀取器資料庫執行個體會縮小以便符合寫入器資料庫執行個體的容量。
-
容量規劃 - 我們猜想您通常透過修改叢集中所有資料庫執行個體的資料庫執行個體類別,藉以調整資料庫容量,或驗證工作負載的最佳資料庫容量。使用 Aurora serverless,您可以消除此管理開銷。您可以執行工作負載並檢查資料庫執行個體的實際擴展程度,來確定適當的最小和最大容量。
您可以將現有資料庫執行個體從已佈建修改為 Aurora serverless,或從 Aurora serverless 修改為已佈建。在這種情況下,您不需要建立新的叢集或新的資料庫執行個體。
使用 Aurora 全球資料庫,次要叢集可能不需要與主要叢集一樣多的容量。您可以在次要叢集中使用 Aurora serverless 資料庫執行個體。如此一來,如果次要區域被提升並接管應用程式的工作負載,叢集容量就可以擴充規模。
-
開發與測試 – 除了執行高要求的應用程式之外,您還可以將 Aurora serverless 用於開發和測試環境。使用 Aurora serverless 時,您可以建立具有較低最小容量的資料庫執行個體,而非使用高載 db.t* 資料庫執行個體類別。您可以設定足夠高的最大容量,讓這些資料庫執行個體仍然可以執行大量工作負載,而不會面臨記憶體不足。當資料庫未使用時,所有資料庫執行個體都會縮減規模以避免不必要的費用。
提示
為了方便Aurora serverless在開發和測試環境中使用 , 會在您建立新叢集時 AWS 管理主控台 提供輕鬆建立捷徑。如果選擇 Dev/Test (開發/測試) 選項,Aurora 會建立具有 Aurora serverless 資料庫執行個體以及開發和測試系統之典型容量範圍的叢集。
將 Aurora serverless 用於現有佈建的工作負載
假設您已在佈建的叢集上執行 Aurora 應用程式。您可以新增一或多個 Aurora serverless 資料庫執行個體到現有叢集做為讀取器資料庫執行個體,來檢查應用程式如何搭配 Aurora serverless 運作。您可以檢查讀取器資料庫執行個體的擴充和縮減規模頻率。您可以使用 Aurora 容錯移轉機制來提升 Aurora serverless 資料庫執行個體成為寫入器,並檢查它如何處理讀/寫工作負載。如此一來,您可以用最短的停機時間進行切換,而無需變更用戶端應用程式使用的端點。如需將現有叢集轉換為 Aurora serverless 的程序細節,請參閱將已佈建的寫入器或讀取器轉換為 Aurora serverless。
Aurora serverless 的優點
Aurora serverless 適用於變動或「尖峰」工作負載。由於這種不可預測的工作負載,您可能難以規劃何時應變更資料庫容量。您也可能無法使用熟悉的機制 (如新增資料庫執行個體或變更資料庫執行個體類別) 進行足夠快速的容量變更。Aurora serverless 提供以下優勢來協助處理此類使用案例:
-
比已佈建的容量管理更簡單 – Aurora serverless 可減輕規劃資料庫執行個體大小和隨著工作負載變化調整資料庫執行個體大小的工作量。它還可以減少為叢集中的所有資料庫執行個體維護一致容量的工作量。
-
在高活動期間更快、更輕鬆地擴展 – Aurora serverless 可根據需要擴展運算與記憶體容量,而不會中斷中斷用戶端交易或整體工作負載。能夠將讀取器資料庫執行個體搭配 Aurora serverless 使用,協助您同時運用水平擴展以及垂直擴展。能夠使用 Aurora 全球資料庫,代表了您可以將 Aurora serverless 讀取工作負載分散到多個 AWS 區域。此功能比已佈建叢集的擴展機制更方便。
-
在低活動期間具有成本效益 – Aurora serverless 可協助避免過度佈建資料庫執行個體。Aurora serverless 在資料庫執行個體擴充規模時會以細微增量來新增資源。您僅需為使用的資料庫資源付費。Aurora serverless 資源使用量是以秒計費。如此一來,當資料庫執行個體縮減規模時,將立即登記減少的資源使用量。
-
與佈建的功能同位 - 您可以搭配 Aurora serverless oFor例如,Aurora serverless您可以搭配 使用讀取器資料庫執行個體、全域資料庫、 AWS Identity and Access Management (IAM) 資料庫身分驗證和績效詳情。
尤其是,搭配 Aurora serverless 可以善用已佈建叢集的下列功能:
-
讀取器資料庫執行個體 – Aurora serverless 可以利用讀取器資料庫執行個體來水平擴展。當叢集包含一個或多個讀取器資料庫執行個體時,如果寫入器資料庫執行個體出現問題,叢集可以立即進行容錯移轉。
-
多可用區域叢集 - 您可以將叢集的 Aurora serverless 資料庫執行個體分散到多個可用區域 (AZ)。設定多可用區域叢集有助於確保業務持續性,即使在遇到會影響整個可用區域的極少數情況下也是如此。
-
全域資料庫 – 您可以Aurora serverless搭配 Aurora 全域資料庫使用 ,在其他 中建立叢集的其他唯讀複本, AWS 區域 以用於災難復原目的。
-
RDS Proxy – 您可使用 Amazon RDS Proxy,可讓應用程式集合並共用資料庫連線,以改善其擴展能力。
-
-
更快、更精細、更不中斷的擴展 – Aurora serverless可以更快地擴展和縮減。擴展可以將容量改變的量壓低至 0.5 個 ACU,而不是將 ACU 的數量加倍或減半。擴展在處理過程中通常不會暫停。擴展不涉及您必須注意的事件。可在 SQL 陳述式執行中且交易開啟時進行擴展,無需等待安靜點。