判斷 Amazon ECS 的任務大小 - Amazon Elastic Container Service

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

判斷 Amazon ECS 的任務大小

在 Amazon ECS 上部署容器時,最重要的選擇之一是容器和任務大小。您的容器和任務大小對於擴展和容量規劃至關重要。

Amazon ECS 使用兩種資源指標來提供容量:CPU 和記憶體。Amazon ECS 測量 CPU,單位為完整 vCPU 的 1/1024 (其中 1024 個單位等於整個 vCPU)。Amazon ECS 以 MB 為單位測量記憶體。

在任務定義中,您可以宣告資源保留和限制。

當您宣告保留時,您會宣告任務所需的資源數量下限。您的任務至少會收到您請求的資源量。您的應用程式可能可以使用比您宣告的保留更多的 CPU 或記憶體。不過,這受限於您同時宣告的任何限制。

使用超過預留數量稱為爆量。爆量表示您的應用程式使用的資源多於您預留的資源,但會保持在您宣告的限制內。Amazon ECS 保證保留。例如,如果您使用 Amazon EC2 執行個體提供容量,Amazon ECS 不會在無法完成保留的執行個體上放置任務。

限制是容器或任務可以使用的 CPU 單位或記憶體數量上限。如果您的容器嘗試使用超過此限制的 CPU,Amazon ECS 會對其進行調節。如果您的容器嘗試使用超過此限制的記憶體,Amazon ECS 會停止您的容器。

選擇這些值可能具有挑戰性。最適合您應用程式的值,很大程度上取決於您應用程式的資源需求。

負載測試應用程式是成功規劃資源需求的關鍵。負載測試可協助您更了解應用程式的需求。

無狀態應用程式

對於水平擴展的無狀態應用程式,例如負載平衡器後方的應用程式,我們建議您先判斷應用程式在處理請求時耗用多少記憶體。

若要這樣做,您可以使用傳統工具,例如 pstop。您也可以使用監控解決方案,例如 CloudWatch Container Insights。

當您決定 CPU 保留時,請考慮如何擴展應用程式以符合您的業務需求。

您可以使用較小的 CPU 保留,例如 256 個 CPU 單位 (或 1/4 vCPU),以將成本降至最低的精細方式橫向擴展。但擴展速度可能不夠快,無法滿足需求激增。

您可以使用較大的 CPU 保留來更快地擴展和擴展。這可協助您更快地符合需求激增。不過,較大的 CPU 保留成本更高。

其他應用程式

對於未水平擴展的應用程式,例如單頓工作者或資料庫伺服器,可用容量和成本是您最重要的考量。

根據負載測試顯示您需要為流量提供服務並滿足您的服務水準目標,選擇記憶體和 CPU 的數量。Amazon ECS 可確保您的應用程式放置在具有足夠容量的主機上。