Amazon ECS任務大小的最佳實務 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon ECS任務大小的最佳實務

您的容器和任務大小對於擴展和容量規劃都至關重要。在 Amazon 中ECS, CPU和 記憶體是用於容量的兩個資源指標。CPU 是以完整 vCPU 的 1/1024 為單位 (其中 1024 個單位等於 1 整個 v) 來測量CPU。記憶體的測量單位為 MB。在任務定義中,您可以設定資源保留和限制。

設定保留時,您要設定任務所需的資源數量下限。您的任務至少會收到請求的資源量。您的應用程式可能可以使用比您宣告的保留更多的 CPU或 記憶體。不過,這受到您同時宣告的任何限制。使用超過預留數量稱為爆量。在 Amazon 中ECS,保證保留。例如,如果您使用 Amazon EC2執行個體提供容量,Amazon ECS不會在無法完成保留的執行個體上放置任務。

限制是容器或任務可以使用的CPU單位或記憶體數量上限。任何嘗試使用CPU超過此限制的嘗試都會導致限流。任何嘗試使用更多記憶體會導致容器停止運作。

選擇這些值可能具有挑戰性。這是因為最適合您應用程式的值,很大程度上取決於應用程式的 資源需求。載入測試您的應用程式是成功規劃資源需求,以及更了解應用程式需求的關鍵。

無狀態應用程式

對於水平擴展的無狀態應用程式,例如負載平衡器後方的應用程式,我們建議您先判斷應用程式在提供請求時耗用的記憶體量。若要這麼做,您可以使用傳統工具,例如 pstop,或監控 CloudWatch Container Insights 等解決方案。

決定CPU保留時,請考慮如何擴展應用程式以符合業務需求。您可以使用較小的CPU保留,例如 256 個CPU單位 (或 1/4 vCPU),以精細的方式擴展,將成本降至最低。但是,它們的擴展速度可能不夠快,無法滿足需求激增。您可以使用較大的CPU保留來更快地擴展,因此可以更快地符合需求激增。但是,較大的CPU預訂成本更高。

其他應用程式

對於未水平擴展的應用程式,例如單頓工作者或資料庫伺服器,可用容量和成本代表您最重要的考量。您應該選擇記憶體數量,CPU並根據負載測試指出您需要服務流量以滿足服務層級目標。Amazon ECS會確保應用程式放置在具有足夠容量的主機上。