将应用程序作为 Amazon ECS 任务运行 - Amazon Elastic Container Service

将应用程序作为 Amazon ECS 任务运行

您可以使用 AWS Management Console 为一次性过程创建任务。

要创建独立任务(AWS Management Console)
  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. Amazon ECS 控制台允许您通过集群详细信息页面或任务定义修订列表创建独立任务。根据您选择的资源页面,使用以下步骤来创建您的独立任务。

    从中启动服务 步骤

    集群详细信息页面...

    1. 集群页面上,选择要在其中创建服务的集群。

    2. 任务选项卡上,选择运行新任务

    任务定义修订页面...
    1. 任务定义页面上,选择任务定义系列以显示该系列的修订。

    2. 选择要使用的修订。

    3. 部署菜单中选择运行任务

  3. (可选)计算配置(高级)部分供您选择任务的分配方式。您可以使用容量提供程序策略启动类型。要使用容量提供程序策略,您必须在集群级别配置容量提供程序。如果您尚未将集群配置为使用容量提供程序,则请改用启动类型。

    分配方式 步骤

    容量提供程序策略

    1. Compute options(计算选项)部分中,选择 Capacity provider strategy(容量提供程序策略)。

    2. 选择策略:

      • 要使用集群的原定设置容量提供程序策略,请选择 Use cluster default(使用集群原定设置)。

      • 如果集群没有原定设置的容量提供程序策略,或者要使用自定义策略,请选择 Use custom(使用自定义),Add capacity provider strategy(添加容量提供程序策略),并通过指定 Base(基准)、Capacity provider(容量提供程序)和 Weight(权重)来定义自定义容量提供程序策略。

    注意

    要在策略中使用容量提供程序,容量提供程序必须与集群相关联。

    启动类型
    1. Compute options(计算选项)部分中,选择 Launch type(启动类型)。

    2. 对于 Launch type(启动类型),请选择一种启动类型。

    3. (可选)当指定 Fargate 启动类型时,对于平台版本中,指定要使用的平台版本。如果未指定任何版本,将使用 LATEST 平台版本。

  4. 对于应用程序类型,选择任务

  5. 对于任务定义,选择任务定义系列和修订。

    重要

    控制台验证选择内容,确保所选任务定义系列和修订版与定义的计算配置兼容。

  6. 对于 Desired tasks(预期任务),请输入要启动的任务数量。

  7. 如果您的任务定义使用 awsvpc 网络模式,请展开 Networking(联网)。使用以下步骤指定自定义配置。

    1. 对于 VPC,选择要使用的 VPC。

    2. 对于 Subnets(子网),选择 VPC 中的一个或多个子网,任务计划程序在放置任务时会考虑这些子网。

      重要

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

    3. 对于安全组,您可以选择现有安全组或创建新安全组。要使用现有安全组,请选择该安全组并移至下一步。要创建新安全组,请选择 Create a new security group (创建新安全组)。您必须指定安全组名称、说明,然后为该安全组添加一个或多个入站规则。

    4. 对于公有 IP,选择是否向任务的 elastic network interface (ENI) 自动分配公有 IP 地址。

      在公有子网中运行时,可以为 AWS Fargate 任务分配一个公有 IP 地址,以便它们具有通往互联网的路由。无法使用此字段为 EC2 任务分配公有 IP。有关更多信息,请参阅 Amazon ECS task networking options for the Fargate launch type 和为 Allocate a network interface for an Amazon ECS task

  8. 如果您的任务使用的数据卷与部署时的配置兼容,则可以通过扩展来配置该卷。

    卷名称和卷类型在创建任务定义修订时配置,在运行独立任务时无法更改。要更新卷名称和类型,您必须创建新的任务定义修订并使用新修订运行任务。

    要配置此卷类型 请执行该操作

    Amazon EBS

    1. EBS 卷类型选择要附加到任务的 EBS 卷的类型。

    2. 大小(GiB)输入卷大小的有效值,以吉字节(GiB)为单位。您可以指定最小 1GiB 和最大 16384GiB 的卷大小。除非您提供快照 ID,否则此值为必填值。

    3. 对于 IOPS,输入该卷应提供的输入/输出操作的次数(IOPS)的最大值。此值只能针对 io1io2gp3 卷类型进行配置。

    4. 对于吞吐量(MiB/s),以每秒兆字节(MiBps 或 MiB/s)为单位输入卷应提供的吞吐量。此值只能针对 gp3 卷类型进行配置。

    5. 对于快照 ID,请选择现有的 Amazon EBS 卷快照,或者如果您想从快照中创建卷,请输入快照的 ARN。您还可以通过不选择或输入快照 ID 来创建新的空卷。

    6. 对于终止策略,如果您希望在任务终止后保留为附加到任务而配置的卷,则请取消选中该复选框。默认情况下,任务终止时,将会删除附加到任务的 EBS 卷。

    7. 对于文件系统类型,请选择将用于在卷上数据存储和检索的文件系统的类型。您可以选择操作系统默认类型或特定的文件系统类型。Linux 的默认设置为 XFS。对于从快照创建的卷,必须指定创建快照时卷使用的相同文件系统类型。如果文件系统类型不匹配,则任务将无法启动。

    8. 对于基础设施角色,请选择一个具有必要权限的 IAM 角色,以允许 Amazon ECS 管理任务的 Amazon EBS 卷。您可以将 AmazonECSInfrastructureRolePolicyForVolumes 托管策略附加到该角色,也可以使用策略作为指南,以创建并附加您自己的具有满足您特定需求的权限的策略。有关必要权限的更多信息,请参阅 Amazon ECS 基础设施 IAM 角色

    9. 对于加密,如果您想使用 Amazon EBS 默认加密设置,则请选择默认。如果您的账户配置了默认加密,则该卷将使用设置中指定的 AWS Key Management Service(AWS KMS)密钥进行加密。如果您选择默认,但未开启 Amazon EBS 默认加密,则该卷将处于未加密状态。

      如果选择自定义,则可以为卷加密指定您选择的 AWS KMS key。

      如果选择,则除非您配置了加密,或者您使用加密的快照创建了卷,否则该卷将处于未加密状态。

    10. 如果您选择了自定义作为加密,则必须指定要使用的 AWS KMS key。为 KMS 密钥选择 AWS KMS key 或输入密钥 ARN。如果您选择使用对称的客户托管密钥对卷进行加密,请确保您拥有 AWS KMS key 策略中定义的正确权限。有关更多信息,请参阅 Amazon EBS 卷的数据加密

    11. (可选)在标签下,您可以通过传播任务定义中的标签或提供自己的标签来将标签添加到 Amazon EBS 卷中。

      如果您要传播任务定义中的标签,请为从中传播标签选择任务定义。如果您选择不传播,或者如果您未选择值,则不会传播标签。

      如果您想提供自己的标签,请选择添加标签,然后为您添加的每个标签提供密钥和值。

      有关标记 Amazon EBS 卷的更多信息,请参阅标记 Amazon EBS 卷

  9. (可选)要使用默认策略之外的其他任务放置策略,请展开 Task Placement(任务放置),然后从以下选项中进行选择。

    有关更多信息,请参阅 Amazon ECS 如何将任务放置在容器实例上

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

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

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

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

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

    如果您选择了 Custom(自定义),请定义放置任务的算法和任务放置过程中要考虑的规则。

    • Strategy(策略)下,对于 Type(类型)和 Field(字段),选择算法和用于该算法的实体。

      您最多可输入 5 个策略。

    • 约束下,对于类型表达式,选择要用于该约束的规则和属性。

      例如,要设置在 T2 实例上放置任务的约束,对于 Expression(表达式),输入 attribute:ecs.instance-type =~ t2.*

      您最多可输入 10 个约束。

  10. (可选)要覆盖任务定义中定义的任务 IAM 角色或任务执行角色,请展开 Task overrides(任务覆盖),然后完成以下步骤:

    1. 对于任务角色,请选择此任务的 IAM 角色。有关更多信息,请参阅 Amazon ECS 任务 IAM 角色

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

    2. 对于任务执行角色,请选择任务执行角色。有关更多信息,请参阅 Amazon ECS 任务执行 IAM 角色

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

    • 要向容器发送任务定义命令以外的命令,请在命令覆盖中输入 Docker 命令。

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

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

      MY_ENV_VAR="This variable contains a string."
  12. (可选)为了帮助识别您的任务,请展开 Tags(标签)部分,然后配置您的标签。

    要让 Amazon ECS 使用集群名称和任务定义标签自动标记全部新启动的任务,选择 Turn on Amazon ECS managed tags(启用 Amazon ECS 托管标签),然后选择 Task definitions(任务定义)。

    添加或删除标签。

    • [添加标签] 选择 Add tag(添加标签),然后执行以下操作:

      • 对于 Key(键),输入键名称。

      • 对于,输入键值。

    • [删除标签] 在标签旁,选择 Remove tag (删除标签)

  13. 选择创建