Amazon ECS 的 Amazon EC2 容器執行個體 - Amazon Elastic Container Service

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

Amazon ECS 的 Amazon EC2 容器執行個體

Amazon ECS 容器執行個體是執行 Amazon ECS 容器代理程式並已在叢集中註冊的 Amazon EC2 執行個體。當您使用容量提供者、外部容量提供者或 Amazon EC2 Auto Scaling 群組容量提供者透過 Amazon ECS 執行任務時,您的任務會放置在作用中的容器執行個體上。 Auto Scaling 您必須負責容器執行個體的管理與維護。

雖然您可以建立自己的 Amazon EC2 執行個體 AMI,以符合在 Amazon ECS 上執行容器化工作負載所需的基本規格,但 Amazon ECS 最佳化 AMIs 是由 AWS 工程師在 Amazon ECS 上預先設定和測試。這是讓您快速上手並在 AWS 上執行容器最簡單的方法。

透過主控台建立叢集時,Amazon ECS 會使用與所選作業系統相關聯的最新 AMI 為執行個體建立啟動範本。

當您使用 CloudFormation 建立叢集時,SSM 參數是 Amazon EC2 Auto Scaling 群組執行個體的 Amazon EC2 啟動範本的一部分。您可以設定範本,透過動態 Systems Manager 參數來決定要部署的 Amazon ECS 最佳化 AMI。此參數可確保每次部署堆疊時,檢查是否有需要套用至 EC2 執行個體的可用更新。如需如何使用 Systems Manager 參數的範例,請參閱 AWS CloudFormation User Guide 中的 Create an Amazon ECS cluster with the Amazon ECS-optimized Amazon Linux 2023 AMI

您可以從與應用程式相容的執行個體類型中選擇。使用容量較大的執行個體,您可以同時啟動更多任務。使用較小的執行個體,您能夠以更精細的橫向擴充方式節省成本。您不需要選擇適合叢集中所有應用程式的單一 Amazon EC2 執行個體類型。反之,您可以建立多個 Amazon EC2 Auto Scaling 群組,其中每個群組都有不同的執行個體類型。然後,您可以為這些群組中的每一個建立 Amazon EC2 容量提供者。

依據以下準則,決定要使用的執行個體系列類型與執行個體類型:

  • 排除不符合應用程式特定需求的執行個體類型或執行個體系列。例如,如果您的應用程式需要 GPU,您可以排除任何沒有 GPU 的執行個體類型。

  • 考量包括網路輸送量與儲存空間在內的需求。

  • 考量 CPU 與記憶體。一般而言,CPU 和記憶體必須足夠容納至少一個要執行任務的複本。

Spot 執行個體

相較於隨需執行個體,Spot 容量可大幅節省成本。Spot 容量是指超額容量,其價格明顯低於隨需或預留容量。Spot 容量適用於批次處理和機器學習工作負載,以及開發和預備環境。更一般來說,它適用於任何能容忍暫時停機的工作負載。

了解下列結果,因為 Spot 容量可能無法隨時可用。

  • 在需求極高期間,Spot 容量可能無法使用。這可能會導致 Amazon EC2 Spot 執行個體啟動延遲。在這些事件中,Amazon ECS 服務會重試啟動任務,而 Amazon EC2 Amazon EC2 Auto Scaling 群組也會重試啟動執行個體,直到所需的容量可用為止。Amazon EC2 不會以隨需容量取代 Spot 容量。

  • 當容量的整體需求增加時,Spot 執行個體與任務可能只會在收到警告兩分鐘後隨即終止。在傳送警告之後,任務應該在執行個體完全終止之前,視需要開始依序關機。這有助於將錯誤的可能性降至最低。如需正常關機的詳細資訊,請參閱使用 ECS 正常關機

若要協助減少 Spot 容量短缺,請考慮下列建議:

  • 使用多個區域和可用區域:Spot 容量會因區域和可用區域而異。您可以透過在多個區域和可用區域執行工作負載來提高 Spot 可用性。如果可能,請在您執行任務和執行個體的區域中,在所有可用區域中指定子網路。

  • 使用多個 Amazon EC2 執行個體類型 - 當您搭配 Amazon EC2 Amazon EC2 Auto Scaling 使用混合執行個體政策時,多個執行個體類型會啟動到您的 Amazon EC2 Auto Scaling 群組。這可確保在需要時能滿足 Spot 容量的請求。為了將可靠性最大化並將複雜性最小化,請在混合執行個體政策中使用 CPU 和記憶體數量大致相同的執行個體類型。這些執行個體可以來自不同世代,也可以是相同基礎執行個體類型的變體。請注意,它們可能擁有您可能不需要的其他功能。這類清單的範例可能包括 m4.large、m5.large、m5a.large、m5d.large、m5n.large、m5dn.large 和 m5ad.large。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的具有多種執行個體類型的 Amazon EC2 Auto Scaling 群組和購買選項Amazon EC2 Auto Scaling

  • 使用容量最佳化的 Spot 配置策略:使用 Amazon EC2 Spot,您可以在容量和成本最佳化配置策略之間進行選擇。如果您在啟動新執行個體時選擇容量最佳化策略,Amazon EC2 Spot 會在所選可用區域中選取具有最高可用性的執行個體類型。這有助於降低執行個體在啟動後立即終止的可能性。

如需有關如何在容器執行個體上設定 Spot 終止通知的資訊,請參閱: