精细任务定义

借助 AWS Batch,您可以指定资源要求,如 vCPU 和内存、AWS Identity and Access Management (IAM) 角色、卷挂载点、容器属性及环境变量,以定义如何执行任务。AWS Batch 将您的任务作为在 Amazon ECS 上运行的应用程序来执行。

简单的任务依赖关系建模

借助 AWS Batch,您可以定义不同任务之间的依赖关系。例如,您的批处理任务可能分为三个不同的处理阶段,且各个阶段所需资源不同。有了依赖关系,您可以创建资源要求不同的三个任务,其中下一个任务均依赖于上一个任务。

AWS Batch 可与商用开源工作流引擎和语言集成(如 Pegasus WMS 和 Luigi),让您能够使用熟悉的工作流语言为批量计算管道建模。

动态计算资源预置和扩展

AWS Batch 提供托管计算环境,此类环境可根据所提交任务的卷和资源要求以动态方式预置和扩展计算资源。您可以结合如下要求配置 AWS Batch 托管计算环境:EC2 实例类型、VPC 子网配置、跨所有实例的最少/最多/基本 vCPU 及 Spot 出价等。

此外,如果您需要针对 EC2 实例使用不同的配置(如更大的 EBS 卷或另一种操作系统)而不是 AWS Batch 托管计算资源所提供的配置,您还可以在 AWS Batch 非托管计算资源中预置和管理自己的计算资源。您只需预置含有 Amazon ECS 代理的 EC2 实例并运行支持的 Linux 和 Docker 版本。然后,AWS Batch 会在您预置的 EC2 实例上执行批处理任务。

基于优先级的任务安排

借助 AWS Batch,您可以设置多个具有不同优先级的队列。批处理任务会一直存储在队列中,直到计算资源可用于执行任务。AWS Batch 计划程序会根据每个任务的资源要求评估已提交给队列的任务的执行时间、执行位置及执行方式。该计划程序会评估每个队列的优先级并按最优计算资源(如内存与优化型 CPU)的优先级执行任务,只要这些任务依赖关系确定即可。

动态竞价

借助 AWS Batch,您可以轻松使用 Amazon EC2 Spot 进一步降低执行批处理任务所需费用。AWS Batch 会根据任务数量和任务资源要求及针对计算资源设置的配置参数,代您以动态方式对 Spot 实例进行出价。

集成的监控和日志记录

AWS Batch 在 AWS 管理控制台中显示批处理任务的主要操作指标。您可以查看与计算容量相关的指标以及执行中、待执行和已完成的任务。您可以在 AWS 管理控制台中查看您的任务日志(如 STDERR 和 STDOUT),也可以将其写入 Amazon CloudWatch Logs。

对访问权限的精细控制

AWS Batch 使用 IAM 控制和监控您的任务可访问的 AWS 资源,如 Amazon DynamoDB 表。此外,您还可以通过 IAM 为组织中的不同用户定义策略。比如,管理员可以拥有对所有 AWS Batch API 操作的完全访问权限,开发人员可以拥有与配置计算环境及注册任务相关的有限权限,而最终用户只能拥有提交和删除任务所需的权限。

了解有关 AWS Batch 定价的更多信息

访问定价页面
准备好开始构建了?
开始使用 AWS Batch
还有更多问题?
联系我们