什么是 Amazon Batch? - Amazon Batch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

什么是 Amazon Batch?

Amazon Batch可让您在Amazon云。Batch 量计算是开发人员、科学家和工程师用来访问大量计算资源的常见方法。Amazon Batch消除配置和管理所需基础设施的一致的繁重工作,与传统批量计算软件相似。此服务可以有效地预配置资源以响应提交的作业,以便消除容量限制、降低计算成本和快速交付结果。

作为一项完全托管服务,Amazon Batch可帮助您运行任意规模的批量计算工作负载。Amazon Batch将根据工作负载的数量和规模自动预配置计算资源并优化工作负载分配。与Amazon Batch,不再需要安装或管理批量计算软件,从而使您可以将时间放在分析结果和解决问题上。

Amazon Batch 的组成部分

Amazon Batch可让您轻松地在某个区域内跨多个可用区运行批处理任务。您可以在新的或现有的 VPC 中创建 Amazon Batch 计算环境。在计算环境就绪并与任务队列关联后,您可以定义任务定义,以指定要运行任务的 Docker 容器映像。容器映像将在容器注册表中存储和提取,可能存在于您的 Amazon 基础设施的内部或外部。

Jobs

提交到 Amazon Batch 的工作单位 (如 shell 脚本、Linux 可执行文件或 Docker 容器映像)。它有一个名称,并作为一个容器化应用程序运行在Amazon您的计算环境中的 Fargate 或 Amazon EC2 资源,使用您在任务定义中指定的参数。任务可以按名称或按 ID 引用其他任务,并且可以依赖于其他任务的成功完成。有关更多信息,请参阅 Jobs

作业定义

作业定义指定作业的运行方式。您可以把任务定义看成是任务中的资源的蓝图。您可以为您的任务提供 IAM 角色,以提供对其他Amazon资源的费用。您还可以指定内存和 CPU 要求。任务定义还可以控制容器属性、环境变量和持久性存储的挂载点。任务定义中的许多规范可以通过在提交单个任务时指定新值来覆盖。有关更多信息,请参阅 Job 定义

作业队列

当您提交Amazon Batch作业时,会将其提交到特定的任务队列中,然后作业驻留在那里直到被安排到计算环境中为止。您将一个或多个计算环境与一个作业队列相关联。您还可以为这些计算环境甚至跨任务队列本身分配优先级值。例如,您可以有一个高优先级队列用以提交时间敏感型任务,以及一个低优先级队列供可在计算资源较便宜时随时运行的任务使用。

计算环境

计算环境是一组用于运行任务的托管或非托管计算资源。使用托管计算环境,您可以在多个详细级别指定所需的计算类型(Fargate 或 EC2)。您可以设置使用特定类型 EC2 实例的计算环境,例如c5.2xlarge或者m5.10xlarge。或者,您可以选择仅指定要使用最新的实例类型。您还可以指定环境的最小、所需和最大 vCPUs 数,以及您愿意为 Spot 实例支付的金额占按需实例价格的百分比以及目标 VPC 子网集。Amazon Batch根据需要高效地启动、管理和终止计算类型。您还可以管理自己的计算环境。因此,您负责在 Amazon ECS 集群中设置和扩展Amazon Batch会为您创建。有关更多信息,请参阅 计算环境

入门

通过在 Amazon Batch 控制台中创建任务定义、计算环境和任务队列来开始使用 Amazon Batch。

这些区域有:Amazon Batch首次运行向导为您提供了创建计算环境和作业队列并提交示例 Hello World 作业的选项。如果您已拥有 Docker 镜像,您希望在Amazon Batch,您可以使用此映像创建作业定义并改为将此定义提交到您的队列。有关更多信息,请参阅 开始使用 Amazon Batch