Amazon Elastic Container Service
开发人员指南 (API Version 2014-11-13)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

正在运行的任务

在某些情况下,手动运行任务非常适合。例如,假设您正在开发一项任务,但还没有准备好使用服务计划程序来部署这项任务。可能您的任务是一次性或定期批处理作业,并不需要持续运行,完成后也不需要重启。

要使指定数量的任务持续运行或要将任务置于负载均衡器之后,请使用 Amazon ECS 服务计划程序。有关更多信息,请参阅 服务

运行任务

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在导航栏中,选择集群所在的区域。

  3. 在导航窗格中,选择 Task Definitions,并选择要运行的任务定义。

    • 要运行此处显示的任务定义的最新修订,请选择要运行的任务定义左侧的框。

    • 要运行此处显示的任务定义的早期修订,请选择任务定义以查看所有有效的修订,然后选择要运行的修订。

  4. 选择 ActionsRun Task

  5. 对于 Cluster,选择要使用的集群。对于 Number of tasks,键入要使用此任务定义启动的任务的数量。对于Task Group,键入任务组的名称。

  6. (可选) 对于 Task Placement,您可以使用任务放置策略和约束指定如何放置任务。从以下选项中进行选择:

    • AZ Balanced Spread - 在各个可用区以及每个可用区中的各个容器实例中分配任务。

    • AZ Balanced BinPack - 在各个可用区以及具有最低可用内存的容器实例中分配任务。

    • BinPack - 根据 CPU 或内存的最低可用量来分配任务。

    • One Task Per Host - 在每个容器实例中最多可放置服务的一个任务。

    • Custom - 定义您自己的任务放置策略。有关示例,请参阅 Amazon ECS 任务放置

    有关更多信息,请参阅 Amazon ECS 任务放置

  7. (可选) 要将命令或环境变量覆盖发送到任务定义中的一个或多个容器,或要指定 IAM 角色任务覆盖,请选择 Advanced Options 并完成以下步骤:

    1. 对于 Task Role Override,选择 IAM 角色,该角色可提供权限,允许任务中的容器代表您调用 AWS API。有关更多信息,请参阅 任务的 IAM 角色

      请注意,此处仅显示具有 Amazon EC2 Container Service Task Role 信任关系的角色。有关如何为您的任务创建 IAM 角色的更多信息,请参阅为任务创建 IAM 角色和策略

    2. 对于 Container Overrides,选择要接收命令或环境变量覆盖的容器。

      • 对于命令覆盖:对于 Command override,键入要发送的命令覆盖。如果您的容器定义未指定 ENTRYPOINT,则格式应为不带引号的字符串的逗号分隔的列表。例如:

        Copy
        /bin/sh,-c,echo,$DATE

        如果您的容器定义指定了 ENTRYPOINT (如 sh,-c),则格式应为不带引号的字符串,可用双引号将其引起来并作为参数传递给 ENTRYPOINT 命令。例如:

        Copy
        while true; do echo $DATE > /var/www/html/index.html; sleep 1; done
      • 对于环境变量覆盖:选择 Add Environment Variable。对于 Key,键入您的环境变量的名称。对于 Value,键入环境值的字符串值 (不使用引号引起来)。

         环境变量覆盖

        此环境变量覆盖以如下方式发送到容器:

        MY_ENV_VAR="This variable contains a string."
  8. 查看您的任务信息并选择 Run Task

    注意

    如果您的任务从 PENDING 移至 STOPPED,或者它显示 PENDING 状态,然后从列出的任务中消失,则您的任务可能因出错而停止。有关更多信息,请参阅故障排除部分中的检查已停止的任务是否存在错误