Amazon ECS 独立任务
如果您具有执行某些工作然后再停止(例如批处理进程)的应用程序,则您可以将应用程序作为任务运行。如果您想运行一次任务,则可以使用控制台、Amazon CLI、API 或 SDK。
如果您需要按基于费率、基于 cron 的计划或一次性计划运行应用程序,则可以使用 EventBridge 计划程序创建计划。
任务工作流程
当您启动 Amazon ECS 任务(独立任务或 Amazon ECS 服务执行的任务)时,会创建一项任务且最初会将其移至 PROVISIONING
状态。当任务处于 PROVISIONING
状态时,任务和容器都不存在,因为 Amazon ECS 需要找到用于放置任务的计算容量。
Amazon ECS 会根据您的启动类型或容量提供程序配置为您的任务选择合适的计算容量。您可以在 Fargate 和 Amazon EC2 启动类型中使用容量提供程序和容量提供程序策略。使用 Fargate,您不必考虑集群容量的预调配、配置和扩展。Fargate 负责您的任务的所有基础设施管理。对于 EC2 启动类型,您可以通过将 Amazon EC2 实例注册到集群来管理集群容量,也可以使用集群自动扩缩来简化计算容量管理。集群自动扩缩负责动态扩展集群容量,以便您可以专注于正在运行的任务。Amazon ECS 根据您在任务定义中指定的要求(例如 CPU 和内存)以及您的放置约束和策略确定将任务放置在何处。有关更多信息,请参阅Amazon ECS 如何将任务放置在容器实例上。
如果您使用启用了托管式扩缩的容量提供程序,则由于缺乏计算容量而无法启动的任务将移至 PROVISIONING
状态,而不是立即失败。找到放置任务的容量后,Amazon ECS 会预调配必要的附件(例如,awsvpc
模式下任务的弹性网络接口(ENI))。它使用 Amazon ECS 容器代理提取您的容器映像,然后再启动您的容器。预调配完成且相关容器启动后,Amazon ECS 会将任务移至 RUNNING
状态。有关任务状态的信息,请参阅 Amazon ECS 任务生命周期。