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

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

Amazon ECS 任務大小的最佳實務

您的容器和任務大小對於擴展和容量規劃都至關重要。在 Amazon ECS 中,CPU 和記憶體是用於容量的兩個資源指標。CPU 的測量單位為完整 vCPU 的 1/1024 (其中 1024 個單位等於整個 vCPU)。記憶體的測量單位為 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 可確保應用程式放置在具有足夠容量的主機上。