在 Amazon EC2 资源上创建单节点作业定义 - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon EC2 资源上创建单节点作业定义

要为 Amazon EC2 资源创建新任务定义,请执行以下操作:

  1. 打开Amazon Batch控制台Amazon Batch控制台首次运行向导.

  2. 从导航栏中,选择Amazon Web Services 区域要使用。

  3. 在左侧导航窗格中,依次选择Job 定义.

  4. 选择 Create(创建)。

  5. 对于任务类型,选择单节点.

  6. 适用于名称对于,为您的作业定义输入唯一名称。名称最长可为 128 个字符。可以包含大写和小写字母、数字、连字符 (-) 和下划线。

  7. 适用于Execution timeout (执行超时)中,输入超时值(以秒为单位)。执行超时是未完成的作业终止之前的时间长度。如果某次尝试超过了超时时间,该尝试将停止,状态将转为FAILED. 有关更多信息,请参阅 作业超时。最小值为 60 秒。

  8. (可选)开启计划优先级. 输入介于 0 到 100 之间的计划优先级值。较高的值被赋予更高的优先级。

  9. (可选)展开其他标签配置然后选择添加标签将标签添加到资源中。

  10. (可选)开启传播标签将标签从作业和作业定义传播到 Amazon ECS 任务。

  11. Foror平台类型,选择EC2.

  12. 适用于执行角色中,指定一个 IAM 角色,该角色授予 Amazon ECS 容器代理进行的权限AmazonAPI 代表您调用。此功能使用 Amazon ECS IAM 角色来执行任务功能。有关更多信息,请参阅 。Amazon ECS 任务执行 IAM 角色中的Amazon Elastic Container Service 开发指南.

  13. Job 配置部分:

    1. 适用于Image对于,选择要用于您的作业的 Docker 映像。默认情况下,Docker Hub 注册表中的映像可用。您也可以使用 repository-url/image:tag 指定其他存储库。名称最长可达 225 个字符。可以包含大写和小写字母、数字、连字符 (-)、冒号 (:)、正斜杠 (/) 和数字符 (#)。此参数可映射到 Docker Remote API创建容器部分中的 Imagedocker runIMAGE 参数。

      注意

      Docker 映像架构必须与为它们安排的计算资源的处理器架构相匹配。例如,基于 ARM 的 Docker 映像只能在基于 ARM 的计算资源上运行。

      • Amazon ECR 公共存储库中的映像使用完整registry/repository[:tag]要么registry/repository[@digest]命名约定。例如,public.ecr.aws/registry_alias/my-web-app:latest

      • Amazon ECR 存储库中的映像使用完整registry/repository[:tag]命名约定。例如,aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest

      • Docker Hub 上的官方存储库中的映像使用一个名称 (例如,ubuntumongo)。

      • Docker Hub 上其他存储库中的映像通过组织名称 (例如,amazon/amazon-ecs-agent) 进行限定。

      • 其他在线存储库中的映像由域名 (例如,quay.io/assemblyline/ubuntu) 进行进一步限定。

    2. 适用于命令语法,选择Bash要么JSON.

    3. 适用于命令,选择Bash要么JSON然后指定要传递到容器的命令。对于简单的命令,您可以在命令提示符中键入命令。然后,确保 JSON 结果正确无误。它将传递给 Docker 守护程序。对于较复杂的命令 (例如,带有特殊字符),您可以使用JSON语法。

      提示

      选择Info查看 Bash 和 JSON 代码示例。

      此参数映射到 Docker Remote API 创建容器部分中的 Cmd,以及 docker runCOMMAND 参数。有关 Docker CMD 参数的更多信息,请参阅 https://docs.docker.com/engine/reference/builder/#cmd

      注意

      您可以在命令中为参数替代和占位符使用默认值。有关更多信息,请参阅 参数

    4. 适用于vCPU对于,输入要为容器预留的 vCPUs 数量。此参数将映射到 Docker Remote API创建容器部分中的 CpuShares 以及 docker run--cpu-shares 选项。每个 vCPU 相当于 1024 个 CPU 份额。您必须指定至少一个 vCPU。

    5. 适用于内存中,输入容器可用的内存限制。如果容器试图超出此处指定的内存,该容器将停止。此参数将映射到 Docker Remote API创建容器部分中的 Memory 以及 docker run--memory 选项。您必须为任务指定至少 4 MiB 内存。

      注意

      您可以通过为特定实例类型的作业分配内存优先级,最大限度地提高资源利用率 有关说明,请参阅 计算资源内存管理

    6. 适用于GPU 数对于,选择要为容器预留的 GPU 数。

    7. (可选)开启环境变量配置将环境变量添加为名称-值对。这些变量将传递给容器。

    8. (可选)开启Job 角色配置添加有权限的 IAM 角色AmazonAPI。此功能使用 Amazon ECS IAM 角色来执行任务功能。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的任务的 IAM 角色

      注意

      只有具有Amazon Elastic Container Service Task Role (Amazon Elastic Container Service 任务角色)此处只显示信任关系。有关如何为您创建 IAM 角色的更多信息。Amazon Batch工作,请参阅为任务创建 IAM 角色和策略中的Amazon Elastic Container Service 开发指南.

    9. (可选)开启安全配置添加用户名以便在容器中使用。

      要为您的作业容器授予对主机实例的提升权限 (类似于root用户),拖动Privileged向右滑块。此参数将映射到 Docker Remote API创建容器部分中的 Privileged 以及 docker run--privileged 选项。

      对于 User,输入要在容器内使用的用户名。此参数将映射到 Docker Remote API创建容器部分中的 User 以及 docker run--user 选项。

    10. (可选)开启Secrets将 Secret 添加为名称-值对。容器中公开了这些秘密。有关更多信息,请参阅 。SecretOptionsJob 定义参数

    11. (可选)开启启用只读文件系统以删除对卷的写入访问权限。

    12. (可选)开启挂载点配置以添加数据卷的挂载点。您必须指定源卷和容器路径。这些挂载点将传递给容器实例上的 Docker 守护程序。

    13. (可选)开启Ulinit 配置滑块来为容器添加限制。输入名称、软限制和硬限制,然后选择添加 ulimit.

    14. (可选)开启卷配置创建要传递到容器的卷列表。Enter名称源路径对于卷,然后选择添加音量.

    15. (可选)开启Linux 参数配置添加设备或打开 Linux 特定设置,例如启用 Init 进程

      1. (可选)开启启用 Init 进程在容器内运行 init 进程。此过程转发信号和获得进程。

      2. (可选)对于Devices,选择添加设备.

        1. (可选)对于Devices,选择添加设备添加设备

        2. (可选)对于容器路径对于,指定容器实例中的路径以公开映射到主机实例的设备。如果将其留空 (未指定),则容器中使用主机路径。

        3. (可选)对于主机路径对于,指定主机实例中设备的路径。

        4. (可选)对于Permissions (权限)对于,选择要应用于容器中的设备的一个或多个权限。可用的权限有 READWRITEMKNOD

      3. (可选)对于共享内存大小对于 MiB 输入/dev/shm卷。

      4. (可选)我为最大交换大小对于,输入容器可以使用的交换内存总量(以 MiB 为单位)。

      5. (可选)对于Swappiness输入 0 到 100 之间的值以指示容器的交换行为。如果未指定,并启用交换,则默认值为 60。有关更多信息,请参阅 。SwapinessJob 定义参数.

      6. (可选)对于Tmpfs,添加安装,选择添加 tmpfs.

      7. (可选)对于容器路径对于,在容器中输入绝对文件路径,其中tmpfs已装入卷。

      8. (可选)在Size字段中,输入 tmpfs 卷的大小(以 MiB 为单位)。

      9. (可选)对于挂载选项中,输入挂载选项。有关更多信息(包括可用挂载选项的列表),请参阅。mountOptionsJob 定义参数.

    16. (可选)开启日志配置要将客户日志驱动程序添加到容器中:

      注意

      默认为awslogs使用日志驱动程序。

      1. 适用于LogDriver对于,选择要使用的日志驱动程序。有关可用日志驱动程序的更多信息,请参阅。LogDriverJob 定义参数.

      2. (可选)对于选项,选择添加选项以添加一个选项。输入名称-值对,然后选择添加选项.

      3. (可选)开启Secrets. 输入名称-值对,然后选择Add添加密钥。

        提示

        有关更多信息,请参阅 。SecretOptionsJob 定义参数.

  14. (可选)您可以将参数作为名称-值映射添加到作业定义中,以覆盖作业定义默认值。要添加参数:

    1. 适用于参数对,输入名称-值对,然后选择添加参数.

      重要

      如果选择添加参数对于,您必须至少配置一个参数或选择删除参数

  15. (可选)在重试策略部分中,配置重新提交失败作业的次数。您还可以配置退出代码和状态原因,以帮助对故障实例进行故障排除。要配置重试策略:

    1. 适用于Job 尝试对于,输入重新提交失败作业的次数。

    2. 选择退出时添加评估. 输入至少一个参数值,然后选择操作. 对于每组条件,操作必须设置为重试(在达到作业尝试次数之前重试)或Exit(停止重试作业)。

      重要

      如果选择退出时添加评估对于,您必须至少配置一个参数,然后选择操作或者选择退出时删除评估.

  16. 选择 Create(创建)。