Amazon ECS 任务放置 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon ECS 任务放置

使用 EC2 启动类型来启动任务时,Amazon ECS 必须根据任务定义中指定的要求(例如 CPU 和内存)确定将任务放置在何处。同样,如果您缩减任务计数,Amazon ECS 必须确定终止哪些任务。您可以应用任务放置策略和约束,自定义 Amazon ECS 如何放置和终止任务。使用 Fargate 启动类型的任务不支持任务放置策略和约束。预设情况下,Fargate 任务分布在可用区中。对于所有其他任务,原定设置任务放置策略取决于您是手动还是在服务中运行任务。有关更多信息,请参阅计划 Amazon ECS 任务

任务放置策略是一种算法,用于选择放置任务的实例,或要终止的任务。例如,Amazon ECS 可以随机选择实例;还可以选择一组实例,将任务平均分配到其中。

任务放置约束是放置任务时会考虑的一条规则。例如,您可以使用约束,根据可用区或实例类型来放置任务。您也可以将属性(若干对名称/值)与容器实例相关联,然后根据属性使用约束来放置任务。

注意

任务放置策略是尽力而为。Amazon ECS 仍会尝试放置任务,即使在大多数最优放置选项不可用时也是如此。但是,任务放置约束是绑定的,它们可能阻止任务放置。

您可以将任务放置策略与约束配合使用。例如,您可以使用任务放置策略和任务放置约束在多个可用区中分配任务,并根据每个可用区中的内存装填任务,但只针对 G2 实例。

Amazon ECS 放置任务时,使用以下流程选择容器实例:

  1. 标识满足任务定义中对 CPU、GPU、内存和端口要求的实例。

  2. 识别满足任务放置约束的实例。

  3. 识别满足任务放置策略的实例。

  4. 选择放置任务的实例。