在经典 Amazon ECS 控制台中运行独立任务 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在经典 Amazon ECS 控制台中运行独立任务

在某些情况下,我们建议您将应用程序作为独立任务部署。例如,假设您正在开发一个应用程序,但还没有准备好用服务调度器来部署。如果您的应用程序是一次性或定期批处理作业,并不需要持续运行,完成后也不需要重启。

要将应用程序部署为持续运行或将其置于负载均衡器后面,请创建 Amazon ECS 服务。有关更多信息,请参阅Amazon ECS 服务

Classic console

要使用经典控制台运行独立任务

  1. 打开 https://console.aws.amazon.com/ecs/ 上的 Amazon ECS 控制台。

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

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

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

  3. 选择 ActionsRun Task

  4. Run Task (运行任务) 页上,完成以下步骤。

    1. 选择容量提供程序策略或启动类型。

      • 要使用容量提供程序策略,然后选择切换到容量提供程序策略。然后,选择任务是使用为集群定义的原定设置容量提供程序策略还是自定义容量提供程序策略。容量提供程序必须与要在自定义容量提供程序策略中使用的集群相关联。有关更多信息,请参阅Amazon ECS 容量提供程序

      • 要使用启动类型,请选择 切换到启动类型,然后选择 EC2EXTERNAL 有关启动类型的更多信息,请参阅 Amazon ECS 启动类型

    2. 对于 Cluster,选择要使用的集群。

    3. 对于任务数,键入要使用此任务定义启动的任务的数量。

    4. 对于任务组,键入任务组的名称。

  5. 如果任务定义使用 awsvpc 网络模式,请完成这些子步骤。否则,转到下一步。

    1. 对于 Cluster VPC,选择容器实例驻留的 VPC。

    2. 对于 Subnets,请为您的任务选择可用子网。

      重要

      awsvpc 网络模式仅支持私有子网。任务不接收公有 IP 地址。因此,出站互联网访问需要 NAT 网关,且入站互联网流量通过负载均衡器进行路由。

    3. 对于安全组,已经为任务创建了一个安全组,允许来自互联网的 HTTP 流量 (0.0.0.0/0)。要编辑此安全组的名称或规则,请选择 Edit(编辑),然后修改安全组设置。如果要选择现有安全组,请执行相同操作。

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

    • AZ Balanced Spread (AZ 均衡分散) – 在各个可用区以及每个可用区中的各个容器实例中分配任务。

    • AZ Balanced BinPack (AZ 均衡装填) – 在各个可用区以及具有最低可用内存的容器实例中分配任务。

    • BinPack (装填) – 根据 CPU 或内存的最低可用量来分配任务。

    • One Task Per Host (每个主机一项任务) – 在每个容器实例中最多可放置服务的一个任务。

    • Custom (自定义) – 定义您自己的任务放置策略。

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

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

    注意

    如果要使用任务定义中的参数值,则无需指定替代。这些字段仅用于覆盖任务定义中指定的值。

    1. 对于任务角色覆盖,请选择此任务的 IAM 角色以覆盖任务定义中指定的任务 IAM 角色。有关更多信息,请参阅任务的 IAM 角色

      此处只显示具有 ecs-tasks.amazonaws.com 信任关系的角色。有关如何为任务创建 IAM 角色的说明,请参阅 为任务创建 IAM 角色和策略

    2. 对于任务执行角色覆盖,请选择任务执行角色以覆盖任务定义中指定的任务执行角色。有关更多信息,请参阅Amazon ECS 任务执行 IAM 角色

  8. (可选)要覆盖容器命令和环境变量,请展开 Container Overrides(容器覆盖),然后展开容器。

    • 对于 Command override(命令覆盖),请输入发送到容器的 Docker 命令,而不是任务定义中指定的命令。

      有关 Docker 运行命令的更多信息,请参阅“Docker Reference Manual”(《Docker 参考手册》)中的 Docker Run reference(Docker 运行参考)。

    • 要添加环境变量,请选择 Add Environment Variable(添加环境变量)。对于 Key,键入您的环境变量名称。对于,输入环境值的字符串值(不使用双引号 (" "))。

      Amazon 用双引号(" ")括起字符串,并按以下格式将字符串传递给容器:

      MY_ENV_VAR="This variable contains a string."
  9. Task tagging configuration(任务标记配置)部分中,完成以下步骤:

    1. 如果希望 Amazon ECS 使用 Amazon ECS 托管的标记自动标记每个任务,请选择启用 ECS 托管的标记。有关更多信息,请参阅标记 Amazon ECS 资源

    2. 对于传播标签,选择以下项之一:

      • 不传播— 此选项不会传播任何标签。

      • 任务定义— 此选项将任务定义中指定的标签传播到任务。

        注意

        如果您在标签部分中指定一个具有相同 key 的标签,它将覆盖从任务定义传播的标记。

  10. 标签部分中,指定要与任务关联的每个标签的键和值。有关更多信息,请参阅标记 Amazon ECS 资源

  11. 查看您的任务信息并选择 Run Task

    注意

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

Command line

使用 run-task 命令。有关更多信息,请参阅《Amazon Command Line Interface 参考》中的 run-task