Amazon ECS 容量提供者 - Amazon Elastic Container Service

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

Amazon ECS 容量提供者

Amazon ECS 容量提供者會管理叢集中任務的基礎設施擴展。每個叢集可以有一或多個容量提供者,以及選用的容量提供者策略。容量提供者策略會決定任務在叢集的容量提供者之間分散的方式。當您執行獨立任務或建立服務時,可以使用叢集的預設容量提供者策略,也可以使用能覆寫預設值的容量提供者策略。

容量提供者適用於在 Fargate 或 Amazon EC2 執行個體上執行的任務。您無法將容量提供者用於在外部容器執行個體 (Amazon ECS Anywhere) 上執行的任務。

容量提供者類型

對於 Fargate 上託管的 Amazon ECS 工作負載,可使用下列預先定義的容量提供者:

  • Fargate

  • Fargate Spot

對於 Amazon EC2 執行個體上託管的 Amazon ECS 工作負載,您必須建立和維護由以下組件組成的容量提供者:

  • 名稱

  • Auto Scaling 群組

  • 受管擴展和受管終止保護的相關設定。

您可以在建立叢集時建立 Auto Scaling 群組,也可以在叢集之前建立群組,然後在建立叢集時指定群組名稱。

容量提供者考量事項

使用容量提供者時,請考慮下列事項:

  • 容量提供者必須與叢集相關聯,方能在容量提供者策略中指定。

  • 當您指定容量提供者策略時,您可以指定的容量提供者數目限制為 20 個。

  • 您無法將使用 Auto Scaling 群組容量提供者的服務更新為使用 Fargate 容量提供者。反之亦然。

  • 在容量提供者策略中,如果沒有在主控台中對容量提供者指定 weight 值,則會使用預設值 1。如果使用 API 或 AWS CLI,則會使用的0預設值。

  • 在容量提供者策略中指定多個容量提供者時,至少有一個容量提供者必須具有大於零的權重值。此外,任何權重為零的容量提供者都不會用來放置任務。如果您在策略中指定多個容量提供者權重均為零,則使用容量提供者策略的任何 RunTaskCreateService 動作都會失敗。

  • 在容量提供者策略中,只有一個容量提供者已定義基準值。如果未指定基準值,則會使用預設值零。

  • 叢集可以同時包含 Auto Scaling 群組容量提供者以及 Fargate 容量提供者。不過,容量提供者策略只能包含 Auto Scaling 群組或 Fargate 容量提供者,不能同時包含兩者。

  • 叢集可以同時包含使用容量提供者和啟動類型的各種服務和獨立任務。服務可以更新為使用容量提供者策略,而非啟動類型。不過,若要執行此操作,您必須強制執行新部署。

  • 使用受管終止保護時,也必須使用受管擴展。否則,受管終止保護不會起作用。