本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SUS02-BP01 動態擴展工作負載基礎設施
使用雲端的彈性並動態擴展您的基礎設施,以達到雲端資源的供需平衡,避免工作負載出現過度佈建的容量。
常見的反模式:
您不隨著使用者負載擴展基礎設施。
您一律手動擴展基礎設施。
您在擴展事件之後維持增加容量,而不是縮減規模。
建立此最佳實務的優勢:設定並測試工作負載彈性有助於有效達到雲端資源的供需平衡,並避免過度佈建的容量。您可以利用雲端中的彈性,在需求尖峰期間或之後自動擴展容量,以確保您使用的資源數量正好足以滿足業務所需。
未建立此最佳實務時的曝險等級:中
實作指引
雲端提供的彈性可透過各種機制來動態擴展或減少資源,以滿足需求的變化。平衡供需關係可將工作負載受到的影響降到最低。
需求可為固定或可變,需要指標和自動化以確保該項管理不致成為繁重的工作。應用程式可藉由修改執行個體大小進行垂直調整 (縱向擴展或縮減規模)、藉由修改執行個體數目進行水平調整 (縮減或橫向擴展),或進行兩者的合併調整。
您可以使用多種不同的方法達到資源的供需平衡。
-
目標追蹤法:監控您的擴展指標,並視需要自動增加或減少容量。
-
預測擴展:縮減每日和每週趨勢的預期。
-
排程法:根據可預測的負載變化設定您自己的擴展排程。
-
服務擴展:挑選按設計原本就會擴展的服務 (例如無伺服器),或提供自動擴展功能。
辨別使用率低或無使用率的時期,並調整資源規模以移除過剩容量、提高效率。
實作步驟
-
彈性會比對您擁有的資源供應與這些資源的需求。執行個體、容器和函數提供彈性機制,可結合自動擴展或作為 服務的功能。 AWS 提供各種自動擴展機制,以確保工作負載在低使用者負載期間可以快速輕鬆地擴展。以下是自動擴展機制的幾個範例:
自動擴展機制 在哪裡使用 使用 來確認您有正確數量的 Amazon EC2執行個體,可用於處理應用程式的使用者負載。
使用 自動將個別 AWS 服務的資源擴展至 Amazon 之外EC2,例如 Lambda 函數或 Amazon Elastic Container Service (AmazonECS) 服務。
使用 在 上自動擴展 Kubernetes 叢集 AWS。
-
擴展通常與運算服務相關,例如 Amazon EC2執行個體或 AWS Lambda 函數。請考慮設定非運算服務 (例如 Amazon DynamoDB
讀取和寫入容量單位或 Amazon Kinesis Data Streams 碎片) 以符合需求。 -
確認會對要部署的工作負載類型驗證擴充或縮減規模的指標。如果您正在部署影片轉碼應用程式,則預期 100% CPU使用率,且不應成為您的主要指標。您可以將自訂指標
(例如記憶體使用率) 用於擴展政策 (如有必要)。若要選擇正確的指標,請考慮下列 Amazon 指南EC2: -
指標應為有效的使用率指標,並說明執行個體的忙碌程度。
-
指標值必須與 Auto Scaling 群組中的執行個體數成比例增加或減少。
-
-
確認工作負載部署可處理橫向擴展和縮減事件。建立縮減事件的測試案例,以確認工作負載的行為符合預期,且不會對使用者體驗造成影響 (例如失去黏性工作階段)。您可以使用活動歷史記錄來驗證 Auto Scaling 群組的擴展活動。
-
評估工作負載以取得可預測模式,並在預計發生預測中的變化和隨需規劃變化時主動擴展。透過預測性擴展,可以消除過度佈建容量的需求。如需更多詳細資訊,請參閱使用 Amazon EC2 Auto Scaling 進行預測擴展
。
資源
相關文件:
相關影片:
相關範例: