什么是 AWS Batch? - AWS Batch

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

什么是 AWS Batch?

借助 AWS Batch,您可以在 AWS Cloud上运行批处理计算工作负载。Batch 计算是开发人员、科学家和工程师访问大量计算资源的常用方式。AWS Batch与传统的批量计算软件类似,消除了配置和管理所需基础架构的无差别繁重工作。此服务可以有效地预配置资源以响应提交的作业,以便消除容量限制、降低计算成本和快速交付结果。

作为一项完全托管的服务,AWS Batch借助,您可以运行任何规模的批处理计算工作负载。AWS Batch自动配置计算资源,并根据工作负载的数量和规模优化工作负载分配。与AWS Batch,无需安装或管理批量计算软件,因此您可以将时间集中在分析结果和解决问题上。

AWS Batch 的组成部分

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

任务

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

作业定义

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

作业队列

当你提交AWS Batch作业,你将其提交到特定的作业队列中,该作业将一直驻留在那里,直到它被安排到计算环境中。您可以将一个或多个计算环境与作业队列关联。您还可以为这些计算环境分配优先级值,甚至可以为作业队列本身分配优先级值。例如,您可以有一个高优先级队列供您提交对时间敏感的作业,而一个低优先级队列用于在计算资源较便宜时可以随时运行的作业。

计算环境

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

入门

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

这些区域有:AWS Batch首次运行向导允许您选择创建计算环境和作业队列以及提交示例 Hello World 作业。如果你已经有了 Docker 镜像,你想在里面启动AWS Batch,您可以使用该图像创建任务定义,然后将其提交到队列中。有关更多信息,请参阅开始使用 AWS Batch