COST09-BP03 動態提供資源
資源是按計畫進行佈建。這可以是以需求為基礎 (例如,透過自動調整規模),或是以時間為基礎,其中需求可預測,並且根據時間提供資源。這些方法可儘量減少過度佈建或佈建不足的數量。
若未建立此最佳實務,暴露的風險等級: 低
實作指引
您可以使用 AWS Auto Scaling
需求為主的供應: 利用雲端的彈性來供應資源,以滿足不斷變化的需求。藉由取得 API 或服務功能帶來的優勢,以程式設計方式動態性地更動架構中的雲端資源量。如此可允許您增減架構中元件的規模,需求激增時自動增加資源數量以維持效能,待需求消退時減少容量以降低成本。
AWS Auto Scaling
Auto Scaling 提供自動資源探索,以協助尋找工作負載中可設定的資源,它具有內建的擴展策略以優化效能、成本或兩者之間的平衡,並提供預測擴展以協助處理定期發生的尖峰。
Auto Scaling 可以實作手動、排程或以需求為基礎的擴展。您也可以使用 Amazon CloudWatch
以需求為主的方法進行建構時,請牢記兩大考量要點。第一,了解必須多迅速地佈建起新的資源。第二,了解供應與需求之間差距的大小會改變。您必須隨時因應需求的改變速度,並為資源失敗做好準備。
ELB
時間為主的供應: 時間為主方法能使資源容量符合可預測或依照時間定義完善的需求。這種方法通常不依存於資源的利用率。時間為主方法能確保需要資源的特定時間有資源可用,並且因為啟動程序和系統或一致性檢查的緣故,能在毫無延遲之下提供。採用時間為主方法,您可在忙碌期提供更多資源或增加容量。
您可以使用排程的 Auto Scaling 實作時間為主方法。可排定工作負載於定義的時間縮放規模 (例如在營業時段開始時) 如此可確保使用者或者需求到來時有資源可用。
您也可善用 AWS API 和 SDK
您可使用 API 縮放環境之內的資源大小 (垂直縮放)。例如,可變更執行個體的大小或類別,以擴展生產工作負載。作法是將執行個體停止再啟動,選擇不同的執行個體大小或類別。此技法亦可套用至其他資源,例如 Amazon Elastic Block Store (Amazon EBS) Elastic Volumes,在使用中時經過修改可增加大小、調整效能 (IOPS) 或變更磁碟區類型。
以時間為主的方法進行建構時,請牢記兩大考量要點。首先,用量模式的一致性有多高? 第二,若是模式改變會有何影響? 您可藉由監控工作負載和使用商業智慧來提高預測的準確性。若看出用量模式有明顯變化,可調整時間以確保涵蓋。
實作步驟
-
設定以時間為基礎的排程: 針對可預測的需求變更,以時間為基礎的擴展機制可以及時提供正確的資源數目。此外,當資源建立和設定的速度不夠快,不足以回應隨需變更時,此機制也能派上用場。透過 AWS Auto Scaling,使用工作負載分析來設定排定的擴展。
-
設定 Auto Scaling: 若要根據作用中的工作負載指標來設定擴展,請使用 Amazon Auto Scaling。使用分析和設定 Auto Scaling 以便在正確的資源層級上觸發,並確保工作負載在所需時間內擴展。
資源
相關文件: