本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 受管執行個體基礎結構最佳化
Amazon ECS 受管執行個體會根據您的容量提供者組態和目前的工作負載需求,自動佈建大小正確的 EC2 執行個體,確保您的容器化應用程式從部署時就擁有適當的運算資源。隨著應用程式流量模式的演進和工作負載需求隨時間變化,Amazon ECS 受管執行個體會透過智慧調整執行個體大小以符合目前需求、主動取代偏離最佳組態的執行個體,以及動態平衡成本效益、應用程式效能和系統可靠性,來持續監控和最佳化您的基礎設施。此資源管理系統無需任何手動介入即可運作,可降低基礎設施成本,同時維持應用程式的高可用性。
基礎結構最佳化具有下列優點:
-
成本最佳化 – 透過最大化資源使用率並消除閒置容量來降低基礎結構成本
-
效能改善 – 基於資源需求與效能特性來最佳化工作負載置放
-
操作簡單 – 自動作出複雜的資源管理決策,而無需人工介入
-
可靠性增強 – 透過智慧型工作負載分佈與運作狀態監控來維持高可用性
Amazon ECS 受管執行個體會執行兩種類型的基礎設施最佳化,以最大化效率並降低成本:
閒置執行個體偵測
識別並移除沒有執行中任務的 EC2 執行個體,消除未使用的容量中不必要的基礎設施成本。偵測到閒置執行個體時,最佳化程序會將容器執行個體標記為 DEREGISTERING,這會啟動可安全終止基礎 EC2 執行個體的清除序列。
未充分利用的執行個體偵測
分析跨執行個體的任務分佈,以識別更好的資源配置機會。當任務在多個執行個體之間以次最佳化方式執行時,Amazon ECS 受管執行個體會將工作負載合併到較少、更有效率的執行個體,同時降低整體成本,同時維持效能。最佳化程序會將未充分利用的容器執行個體標記為 DRAINING,這會觸發任務取代,將工作負載移至現有或更有效率的新執行個體。安全遷移所有任務後,執行個體會轉換為 DEREGISTERING 狀態並清除。此最佳化適用於執行服務任務的執行個體,並透過遵守服務的最低和最高任務限制、遵守start-before-stop部署行為,以及在整個耗盡過程中維護任何任務保護設定,以確保安全整合。執行獨立任務的執行個體不會考慮進行最佳化,因為 ECS 受管執行個體不會取代獨立任務。
這些最佳化可共同運作,確保您的基礎設施持續適應實際工作負載需求,自動消除浪費並改善資源使用率,而不會影響應用程式的可用性。這兩種機制都使用事件驅動型監控來回應任務和執行個體生命週期事件,以即時識別最佳化機會。Amazon ECS 受管執行個體會偵測容器執行個體上最後一個任務何時停止,指出成本最佳化的潛在閒置條件。對於未充分利用的執行個體,任何任務停止或新執行個體啟動都會觸發分析,以識別工作負載整合的機會並改善資源效率。
ScaleInAfter
這兩個基礎設施最佳化都尋找終止執行中執行個體的機會,以改善使用率並降低成本。您可以使用 Amazon ECS 受管執行個體容量提供者設定中的 ScaleInAfter 組態來控制這些動作的時間,這同時適用於閒置和未充分利用的執行個體。ScaleInAfter 可讓您指定執行個體閒置或未充分利用與 Amazon ECS 受管執行個體開始最佳化基礎設施之間的延遲,以秒為單位。您可以設定 0 到 3600 秒之間的延遲。您也可以指定 -1 來停用基礎設施最佳化。
- 閒置執行個體
-
-
ECS 會在最後一個任務停止後等待指定的持續時間,再取消註冊執行個體
-
如果新的任務在等待期間啟動,則執行個體不會再被視為閒置,並取消終止
-
- 未充分利用的執行個體
-
-
ECS 會在任務停止事件導致執行個體使用率不足後等待指定的持續時間,再耗盡執行個體
-
如果在等待期間啟動新任務或在特定執行個體上停止現有任務,計時器會從最近的任務停止或新任務建立時間重設,而 Amazon ECS 受管執行個體會重新評估效率低下,並視需要在新的等待期間到期後採取動作
-
此組態為選擇性。未指定時,ECS 受管執行個體會根據 ECS 受管執行個體預設組態自動決定最佳時間。