Amazon Amazon ECS 啟動類型和容量提供者 - Amazon Elastic Container Service

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

Amazon Amazon ECS 啟動類型和容量提供者

Amazon ECS 提供兩種方法來設定工作負載的容量。您可以使用啟動類型或容量提供者。啟動類型包括 EC2、Fargate 和 External。容量提供者為容量管理提供增強的靈活性和進階功能。您可以使用 Fargate 和 Fargate Spot 容量提供者在無伺服器運算上執行工作負載、透過 Auto Scaling 群組容量提供者在自我管理的 EC2 執行個體上執行工作負載,或使用結合 Fargate 簡易性和 EC2 運算彈性的 Amazon ECS 受管執行個體容量提供者在全受管運算上執行工作負載。容量提供者可更好地控制資源配置,並有助於最佳化效能和成本。與傳統啟動類型相比,容量提供者是為工作負載設定容量的建議方法。使用下列項目來了解容量提供者和啟動類型之間的差異。

最佳實務

以下是最佳實務:

使用啟動類型來定義基礎設施相容性

啟動類型會定義任務和服務執行所在的基礎設施。當您定義任務時,請指定 RequiresCompatibilities 以包含與任務相容的一或多個啟動類型。您可以使用下列啟動類型:EC2、Fargate、外部和 Amazon ECS 受管執行個體。雖然您也可以使用啟動類型來執行您的任務或服務,但我們建議您僅將啟動類型用於在任務定義中定義相容性,並使用容量提供者來啟動任務或服務。請注意,您可以選擇一或多個啟動類型來定義任務的相容性。

使用容量提供者來設定運算容量

當您啟動任務或服務時,請設定容量提供者策略。Amazon ECS 支援下列容量提供者:Fargate 和 FARGATE_SPOT、自我管理 EC2 執行個體的 Auto Scaling 群組,以及 Amazon ECS 受管執行個體。請注意,Spot Fleet 只能作為容量提供者使用,不能作為啟動類型。您可以在叢集中建立一或多個 Amazon ECS 受管執行個體或 Auto Scaling 群組容量提供者。Fargate 和 Fargate Spot 容量提供者是由 Amazon ECS 在每個叢集上建立和管理,您不需要建立它們。叢集可以混合所有容量提供者類型,但容量提供者策略不能混合不同的容量提供者類型。

更新 服務的容量

您可以直接更新服務的容量提供者策略,將其從一種運算類型移至另一種運算類型。

服務可變性

Amazon ECS 支援更新不同容量提供者之間的服務。這允許:

  • 從啟動類型無縫更新至容量提供者

  • 不同容量提供者類型之間的轉換

  • 在沒有服務重新建立的情況下測試不同的運算選項

以下是程序的高階概觀:

  1. 更新任務定義 – 例如確保 requiresCompatibilities 包含目標容量提供者 MANAGED_INSTANCES

    注意

    任務定義必須通過目標容量提供者的相容性驗證。如果任務定義版本的requiresCompatibilities檢查失敗,UpdateService呼叫會失敗。

  2. 建立容量提供者 – 如果您使用自訂 Amazon EC2 Auto Scaling 群組,請建立容量提供者。

  3. 更新服務 – 修改服務以使用容量提供者策略,而非啟動類型。

  4. 驗證部署 – 確認任務部署成功。

  5. 監控和最佳化 – 視需要調整容量提供者設定。

容量提供者至容量提供者

支援容量提供者到容量提供者的所有更新:

  • Amazon EC2 Auto Scaling 群組容量提供者至 Amazon ECS 受管執行個體

  • Fargate 容量提供者至 Amazon ECS 受管執行個體

  • Amazon EC2 Auto Scaling 群組容量提供者至 Fargate 容量提供者

  • Amazon ECS 受管執行個體到 Fargate 容量提供者

  • Fargate 容量提供者至 Amazon EC2 Auto Scaling 群組容量提供者

  • Amazon ECS 受管執行個體到 Amazon EC2 Auto Scaling 群組容量提供者

容量提供者的啟動類型

支援容量提供者更新的所有啟動類型:

  • Amazon ECS 受管執行個體的 EC2 啟動類型

  • Amazon ECS 受管執行個體的 Fargate 啟動類型

  • Fargate 容量提供者的 EC2 啟動類型

  • EC2 Auto Scaling 群組容量提供者的 EC2 啟動類型

  • Amazon EC2 Auto Scaling 群組容量提供者的 Fargate 啟動類型

  • Fargate 啟動類型至 Fargate 容量提供者

  • Amazon ECS 受管執行個體的外部啟動類型

  • Fargate 容量提供者的外部啟動類型

  • Amazon EC2 Auto Scaling 群組容量提供者的外部啟動類型

啟動類型以啟動類型

不支援啟動類型的啟動類型更新:

  • 從 EC2 啟動類型到 Fargate 啟動類型 (改用 Fargate 容量提供者)

  • Fargate 啟動類型轉換為 EC2 啟動類型 (改用 Amazon EC2 Auto Scaling 群組容量提供者)

遷移到同等容量提供者,以增強功能和未來相容性,而不是在啟動類型之間遷移。

注意

任務定義必須通過目標容量提供者的相容性驗證。如果任務定義版本的requiresCompatibilities檢查失敗,UpdateService呼叫將會失敗。