Amazon ECS 容量提供程序 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon ECS 容量提供程序

Amazon ECS 容量提供程序为集群中的任务管理基础设施的扩缩。每个集群可以有一个或多个容量提供程序和一个可选的容量提供程序策略。容量提供程序策略确定任务在集群的容量提供程序之间的分布方式。运行独立任务或创建服务时,您可以使用集群的默认容量提供程序策略,也可以使用覆盖默认策略的容量提供程序策略。

容量提供程序可用于在 Fargate 或在 Amazon EC2 实例上所运行的任务。您不能将容量提供程序用于在外部容器实例(Amazon ECS Anywhere)上所运行的任务。

容量提供程序类型

对于 Fargate 上托管的 Amazon ECS 工作负载,可以使用以下预定义容量提供程序:

  • Fargate

  • Fargate Spot

对于托管在 Amazon EC2 实例上的 Amazon ECS 工作负载,您必须创建并维护包含以下组件的容量提供程序:

  • 名称

  • 自动扩缩组

  • 托管扩缩和托管终止保护的设置。

您可以在创建集群时创建自动扩缩组,也可以在创建集群之前创建该组,然后在创建集群时指定组名。

容量提供程序注意事项

使用容量提供程序时,请考虑以下因素:

  • 在容量提供程序策略中指定之前,容量提供程序必须与集群关联。

  • 指定容量提供程序策略时,可指定的容量提供程序数限制为 20 个。

  • 使用自动扩缩组容量提供程序的服务无法更新为使用 Fargate 容量提供程序,反之亦然。

  • 在容量提供程序策略中,如果未在控制台中为容量提供程序指定 weight 值,则使用原定设置值 1。如果使用 API或 Amazon CLI,则使用原定设置值 0

  • 如果在容量提供程序策略中指定了多个容量提供程序,则至少有一个容量提供程序的权重值必须大于零。此外,任何权重为 0 的容量提供程序都不能用于放置任务。如果您在策略中指定的多个容量提供程序的权重全部为 0,则使用该容量提供程序策略的任何 RunTaskCreateService 操作都将失败。

  • 在容量提供程序策略中,只能有一个容量提供程序定义了基准值。如果未指定基准值,则使用默认设置值零。

  • 集群可能同时包含自动扩缩组容量提供程序和 Fargate 容量提供程序。但是,容量提供程序策略只能包含自动扩缩组容量提供程序或 Fargate 容量提供程序,而不能同时包含两者。

  • 集群可能包含使用两个容量提供程序和两种启动类型的服务和独立任务的组合。服务可以更新为使用容量提供程序策略而不是启动类型。但是在执行此操作时必须强制实施新部署。

  • 使用托管式终止保护时,还必须启用托管式扩缩。否则,托管式终止保护将无法工作。