AWS Batch
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

计算环境参数

计算环境拆分为 5 个基本组成部分:计算环境的名称、类型和状态,计算资源定义(如果计算环境为托管计算环境)以及服务角色(用于向 AWS Batch 提供 IAM 权限)。

计算环境名称

computeEnvironmentName

您的计算环境的名称。您可以使用最多 128 个字母 (大写形式和小写形式)、数字、连字符和下划线。

类型:字符串

必需:是

类型

type

计算环境的类型。选择 MANAGED 可让 AWS Batch 管理您定义的计算资源。有关更多信息,请参阅计算资源。选择 UNMANAGED 可管理您自己的计算资源。

类型:字符串

有效值:MANAGED | UNMANAGED

必需:是

State

state

计算环境的状态。

如果状态为 ENABLED,则 AWS Batch 计划程序可以尝试将关联任务队列中的任务放到环境中的计算资源上。如果计算环境是托管计算环境,则此环境可根据作业队列需求,自动向外扩展或缩减其实例。

如果状态为 DISABLED,则 AWS Batch 计划程序不会尝试将任务放在环境中。处于 STARTINGRUNNING 状态的作业将继续正常运行。处于 DISABLED 状态的托管计算环境不会向外扩展;但是,在实例转为空闲状态后,这些环境会缩减到 minvCpus 值。

类型:字符串

有效值:ENABLED | DISABLED

必需:否

计算资源

computeResources

由计算环境托管的计算资源的详细信息。

类型:ComputeResource 对象

必需:此参数是托管计算环境所必需的

type

计算环境的类型。使用此参数可指定在计算环境中使用 Amazon EC2 按需实例还是 Amazon EC2 Spot 实例。如果您选择 SPOT,则还必须使用 spotIamFleetRole 参数指定 Amazon EC2 Spot 队组角色。有关更多信息,请参阅Amazon EC2 Spot 队列角色

有效值:EC2 | SPOT

必需:是

minvCpus

环境应保留的 EC2 vCPU 的最小数量(即使计算环境处于 DISABLED 状态)。

类型:整数

必需:是

maxvCpus

环境可达到的最大 EC2 vCPU 数。

类型:整数

必需:是

desiredvCpus

计算环境中所需的 EC2 vCPU 数。AWS Batch 根据任务队列需求,将此值修改为介于最小值和最大值之间。

类型:整数

必需:否

instanceTypes

可启动的实例类型。您可以指定实例系列以启动这些系列中的任何实例类型(例如,c5c5np3),也可以指定系列中的特定大小(例如,c5.8xlarge)。请注意,裸机实例类型不包括在实例系列中(例如,c5 不包括 c5.metal)。 您也可以选择 optimal 以(从最新的 C、M 和 R 实例系列中)动态选取符合作业队列要求的实例类型。

注意

在创建一个计算环境时,为该计算环境选择的实例类型必须共享同一架构。例如,您不能在同一个计算环境中混用 x86 和 ARM 实例。

类型:字符串数组

必需:是

imageId

用于计算环境中启动的实例的 Amazon 系统映像 (AMI) ID。

注意

为一个计算环境选择的 AMI 必须与要为该计算环境使用的实例类型的架构匹配。例如,如果您的计算环境使用 A1 实例类型,您选择的计算资源 AMI 必须支持 ARM 实例。Amazon ECS 同时提供经 Amazon ECS 优化的 Amazon Linux 2 AMI 的 x86 和 ARM 版本。有关更多信息,请参阅 Amazon Elastic Container Service Developer Guide 中的经 Amazon ECS 优化的 Amazon Linux 2 AMI

类型:字符串

必需:否

subnets

计算资源在其中启动的 VPC 子网。这些子网必须位于同一 VPC 中。

类型:字符串数组

必需:是

securityGroupIds

要与计算环境中启动的实例关联的 EC2 安全组。

类型:字符串数组

必需:是

ec2KeyPair

用于计算环境中启动的实例的 EC2 密钥对。您可以使用此密钥对通过 SSH 登录您的实例。

类型:字符串

必需:否

instanceRole

要附加到计算环境中 Amazon EC2 实例的 Amazon ECS 实例配置文件。您可以为实例配置文件指定短名称或完整的 Amazon 资源名称 (ARN)。例如,ecsInstanceRolearn:aws:iam::aws_account_id:instance-profile/ecsInstanceRole。有关更多信息,请参阅Amazon ECS 实例角色

类型:字符串

必需:是

tags

要应用于计算环境中启动的实例的键/值对标签。例如,您可以指定 "Name": "AWS Batch Instance - C4OnDemand" 作为标签,以便计算环境中的每个实例均具有此名称。这对于在 Amazon EC2 控制台中识别您的 AWS Batch 实例很有用。

类型:字符串到字符串映射

必需:否

bidPercentage

在启动实例之前,与该实例类型的按需价格进行比较时 Spot 实例价格可以达到的最大百分比。例如,如果最大百分比为 20%,则 Spot 价格必须低于该 EC2 实例的当前按需价格的 20%。您始终支付最低 (市场) 价格,并且绝不会高于您的最大百分比。如果将此字段留空,则默认值为按需价格。

必需:否

spotIamFleetRole

应用于 SPOT 计算环境的 Amazon EC2 Spot 队组 IAM 角色的 Amazon 资源名称 (ARN)。有关更多信息,请参阅Amazon EC2 Spot 队列角色

重要

要在创建时标记 Spot 实例,此处指定的 Spot 队组 IAM 角色必须使用较新的 AmazonEC2SpotFleetTaggingRole 托管策略。以前推荐的 AmazonEC2SpotFleetRole 托管策略不具有标记 Spot 实例所需的权限。有关更多信息,请参阅 在创建时未标记的 Spot 实例

类型:字符串

必需:此参数对于 SPOT 计算环境是必需的。

launchTemplate

要与计算资源关联的可选启动模板。要使用启动模板,您必须在请求中指定启动模板 ID 或启动模板名称,但不能同时指定两者。有关更多信息,请参阅 启动模板支持

类型:LaunchTemplateSpecification

object

必需:否

launchTemplateId

启动模板的 ID。

类型:字符串

必需:否

launchTemplateName

启动模板的名称。

类型:字符串

必需:否

version

启动模板的版本号。

类型:字符串

必需:否

服务角色

serviceRole

允许 AWS Batch 代表您调用其他 AWS 服务的 IAM 角色的完整 Amazon 资源名称 (ARN)。有关更多信息,请参阅AWS Batch 服务 IAM 角色

类型:字符串

必需:是