开始使用 Amazon Batch - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

开始使用 Amazon Batch

您可以使用Amazon Batch快速开始使用的首次运行向导Amazon Batch. 完成前提条件之后,您可以使用Amazon Batch首次运行向导以创建计算环境,只需几步即可创建作业定义和作业队列。

你也可以在Amazon Batch首次运行向导以测试配置。如果您已拥有要启动的 Docker 映像Amazon Batch对于,您可以使用该映像创建作业定义。

第 1 步:先决条件

在启动之前执行以下操作Amazon Batch首次运行向导:

第 2 步:创建计算环境

计算环境是对 Amazon EC2 实例的引用。计算环境中的设置和限制条件告诉Amazon Batch如何配置和自动启动 Amazon EC2 实例

创建计算环境:

注意

目前,您只能在首次运行向导中创建托管计算环境。要创建非托管计算环境,请参阅创建计算环境

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

  2. 计算环境配置部分:

    1. 适用于计算环境名称中,输入自定义名称。

    2. 适用于服务角色中,选择有权调用其他的服务角色Amazon Web Services代表您。如果您没有可以调用其他服务角色Amazon Web Services,系统将代表您创建角色。

  3. 实例配置部分:

    1. 适用于预配模式,选择FargateFargate Spot按需,或者Spot 实例.

    2. (Spot 实例仅)按需价格最高百分比中,输入要为竞价型资源支付的按需定价的最大百分比。

    3. (Spot 实例按需仅)最低 vCPUs中,输入实例使用的最低 vCPUs 数量。

      提示

      如果你设置最低 vCPUs0,如果没有工作可用,则不使用实例时间。

    4. (所有配置模式)对于最大 vCPUs对于,输入实例使用的最大 vCPUs 数量。

    5. (可选,Spot 实例按需仅)所需的 vCPUs对于,输入实例所需的 vCPUs 数量。

    6. (Spot 实例按需仅)允许的实例类型对于,选择实例使用的实例类型。

      重要

      默认情况下,最优的被选择。这些区域有:最优的设置选择最适合的 M4、C4 和 R4 实例类型,这些类型可用于您的Amazon Web Services 区域. 要使用一组自定义实例类型,请删除最优的设置,然后选择所需的实例类型。

    7. (Spot 实例按需仅)分配策略,选择BEST_FIT_进步式/进步式对于按需或SPOT_容量_优化适用于 Spot。

  4. 联网部分:

    1. 适用于VPC_ID中,选择一个亚马逊 VPC。

    2. 适用于Subnets,你的子网Amazon Web Services 账户默认情况下列出。如果要创建自定义子网集,请选择清除子网,然后选择你想要的子网。

      重要

      计算资源必须通过 VPC 终端节点或多个公有 IP 地址与 Amazon ECS VPC 终端节点进行通信。有关更多信息,请参阅 。Amazon ECS 接口 VPC 终端节点 (Amazon PrivateLink). 如果您的实例没有配置 VPC 终端节点或公有 IP 地址,则可以使用网络地址转换 (NAT)。有关 NAT 的更多信息,请参阅NAT 网关教程:为您的计算环境创建带有公有和私有子网的 VPC.

    3. (可选)展开其他设置:安全组、置放群组

      1. 适用于安全组对于,选择要与实例关联的 Amazon EC2 安全组。如果要创建一组自定义安全组,请选择清除安全组. 然后,选择您想要的安全组。

      2. (可选,按需Spot 实例仅)置放群组对于,如果您创建多节点 parallel 作业,请输入置放群组名称。

  5. 选择 Next(下一步)。

第 3 步:创建作业队列

作业队列存储您提交的作业,直到Amazon Batch调度程序在计算环境中的资源上运行作业。创建作业队列:

  1. Job 队列配置部分:

    1. 适用于Job 队列名称中,输入自定义名称。

    2. 适用于Priority (优先级)对于,为作业队列输入一个介于 0 到 100 之间的整数。

      重要

      较高的整数值被赋予更高的优先级Amazon Batch计划程序。

    3. (可选)如果你有Amazon要应用到作业队列的计划策略:

      1. 启用 。计划策略 ARN.

      2. 选择您想要的 Amazon 资源名称 (ARN)。

    4. (可选)展开其他配置.

      适用于中,选择作业队列状态。

  2. (可选)在标签部分።

    1. 选择 Add tag (添加标签)。输入键名称/值对,然后选择添加标签.

      重要

      如果选择添加标签,您必须输入键/值对并选择添加标签再次选择删除标签.

  3. 选择 Next(下一步)。

第 4 步:创建作业定义

创建作业定义:

  1. 常规配置部分:

    1. 适用于名称中,输入自定义作业定义名称。

    2. 适用于Execution timeout (执行超时)对于,输入未完成的作业在以秒为单位的时间长度(以秒为单位)。

      重要

      最短超时值为 60 秒。

    3. (可选)展开其他标签配置.

    4. 标签是分配给资源的标注。要添加标签,请选择 Add tag(添加标签)。输入键/值对,然后选择添加标签

      重要

      如果选择添加标签,您必须输入键/值对并选择添加标签再次选择删除标签.

    5. (可选)开启传播标签以便将标签传播到 Amazon Elastic Container Service 任务。

  2. 平台兼容性部分:

    1. 适用于执行角色对于,选择允许 Amazon Elastic Container Service (Amazon ECS) 代理进行的任务执行角色Amazon代表你打电话。例如,您可以选择ecstask 执行角色.

  3. Job 配置部分:

    1. 适用于Image对于,输入用于启动容器的映像的名称。默认情况下,Docker Hub 注册表中的所有映像都可用。您也可以在中指定其他存储库存储库 URL/ 图片:标签格式的日期和时间。参数最长可达 255 个字符。它可以包含大写和小写字母、数字、连字符 (-)、下划线 (_)、句点 (.)、正斜杠 (/) 和数字符 (#)。该参数映射到Image中的创建容器的 部分Docker 远程 APIIMAGE的参数docker run.

      注意

      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. 对于 Command,指定要传递到容器的命令。此参数映射到 Docker Remote API 创建容器部分中的 Cmd,以及 docker runCOMMAND 参数。有关 Docker CMD 参数的更多信息,请参阅 https://docs.docker.com/engine/reference/builder/#cmd

      注意

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

      提示

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

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

    5. 适用于内存对于,指定要提供给作业容器的内存硬限制 (以 MiB 为单位)。如果您的容器尝试使用超出此处指定的内存,该容器将停止。此参数将映射到 Docker Remote API创建容器部分中的 Memory 以及 docker run--memory 选项。

    6. (可选)开启配置环境变量以添加传递到容器的环境变量。此参数将映射到 Docker Remote API创建容器部分中的 Env 以及 docker run--env 选项。

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

      注意

      对于在 Fargate 资源上运行的作业,需要作业角色。

      注意

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

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

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

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

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

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

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

    12. (可选,按需Spot 实例仅限) 开启Ulinit 配置以配置 ulimit 值的列表。输入名称、软限制和硬限制,然后选择添加 ulimit.

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

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

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

      2. (可选,Spot 实例按需仅)Devices,选择添加设备.

        1. (可选,Spot 实例按需仅)Devices,选择添加设备添加设备

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

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

        4. (可选,Spot 实例并且仅限按需)对于Permissions (权限)对于,选择要应用到容器中的设备的一个或多个权限。可用的权限有 READWRITEMKNOD

      3. (可选,Spot 实例按需仅)共享内存大小,输入/dev/shm体积。

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

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

      6. (可选,Spot 实例按需仅)Tmpfs,选择添加 tmpfs添加tmpfs挂载模式。

      7. (可选,Spot 实例按需仅)容器路径对于,输入容器中的绝对文件路径,其中tmpfs已装入卷。

      8. (可选,Spot 实例按需仅)Size字段中输入的大小(以 MiB 为单位)tmpfs体积。

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

    15. (可选)开启日志配置向容器添加自定义日志驱动程序:

      注意

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

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

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

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

        提示

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

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

    1. 适用于参数,选择添加参数. 输入键/值对,然后选择添加参数

      重要

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

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

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

    2. (可选)选择退出时添加评估. 输入至少一个参数值,然后选择操作.

      重要

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

  6. 选择 Next(下一步)。

第 5 步:创建作业

作业是由执行的工作单位Amazon Batch. 作业将作为容器应用程序启动在 Amazon ECS 集群中的 Amazon Elastic Container Service 实例上的容器应用程序。

要创建任务:

  1. 常规配置部分:

    1. 适用于名称中,输入自定义名称。

    2. 适用于Execution timeout (执行超时)中,输入未完成作业终止之前的持续时间(以秒为单位)。最短超时值为 60 秒。

    3. (可选)开启数组作业将工作分散到多台主机上。输入中的主机数量数组大小.

    4. (可选)如果作业有任何依赖关系,请打开Job 依赖项. 然后输入作业 ID的依赖关系然后选择Add.

    5. (可选)展开其他标签配置. 从标签,选择添加标签添加标签。输入一个标签键和可选的值,然后选择添加标签

      重要

      如果选择添加标签,您必须输入键/值对并选择添加标签再次选择删除标签.

    6. (可选)开启传播标签将标签传播到 ECS 任务。

  2. Job 配置部分:

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

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

      注意

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

      提示

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

    3. 适用于vCPU对于,输入要为容器预留的 vCPUs 数量。

    4. 适用于内存中,输入容器可用的内存限制。

    5. 适用于GPU 数量对于,输入要为容器预留的图形处理单元 (GPU) 数量。

    6. (可选)开启配置环境变量以便将其他环境变量传递给容器。输入名称和值,然后选择Add.

  3. 参数部分中,您可以添加传递到作业的其他参数。这些参数将替换作业定义中的参数值。在参数部分中:

    1. (可选)对于参数,选择添加参数.

    2. 输入参数名称,然后选择添加参数.

    重要

    如果选择添加参数,您必须输入名称-值对并选择添加参数或者选择删除参数.

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

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

    2. (可选)选择退出时添加评估. 输入退出代码状态原因, 和Reason. 然后,选择操作.

      重要

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

  5. 选择 Next(下一步)。

第 6 步:审核和创建

适用于审核和创建,请查看配置步骤。如果需要进行更改,请选择编辑. 当你对配置感到满意时,选择Create.