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

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

AWS Fargate 上的 AWS Batch

AWS Fargate 是可与 AWS Batch 结合使用的技术,使您在运行容器而不必管理 Amazon EC2 实例的服务器或集群。使用 AWS Fargate,您不必再预置、配置或扩展虚拟机集群即可运行容器。这样一来,您就无需再选择服务器类型、确定扩展集群的时间和优化集群打包。

您在运行使用 Fargate 资源的作业时,需要将应用程序打包到容器中、指定 CPU 和内存要求、定义联网和 IAM 策略并启动应用程序。每个 Fargate 作业都具有自己的隔离边界,不与其他作业共享底层内核、CPU 资源、内存资源或 elastic network interface。

Fargate 上的 Job 定义

Fargate 上的 AWS Batch 作业不支持所有可用的作业定义参数。某些参数完全不受支持,而其他参数对于 Fargate 作业的行为则不同。

下面的列表介绍了 Fargate 作业中无效或受其他限制的作业定义参数。

platformCapabilities

必须指定为FARGATE

"platformCapabilities": [ "FARGATE" ]
type

必须指定为container

"type": "container"
containerProperties 中的参数
executionRoleArn

必须指定在 Fargate 资源上运行的作业。有关更多信息,请参阅 。适用于任务的 IAM 角色中的Amazon Elastic Container Service Elastic Contain

"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
fargatePlatformConfiguration

(可选,仅适用于 Fargate 作业定义)。指定 Fargate 平台版本,或LATEST,获取最新平台版本。可能的值platformVersion1.3.01.4.0, 和LATEST(默认值).

"fargatePlatformConfiguration": { "platformVersion": "1.4.0" }
instanceType
ulimits

不适用于在 Fargate 资源上运行的作业。

memory
vcpus

这些设置必须在resourceRequirements

privileged

不指定此参数,或指定false

"privileged": false
resourceRequirements

必须同时指定内存和 vCPU 要求,使用支持的值。Fargate 资源上运行的作业不受支持。

"resourceRequirements": [ {"type": "MEMORY", "value": "512"}, {"type": "VCPU", "value": "0.25"} ]
linuxParameters 中的参数
devices
maxSwap
sharedMemorySize
swappiness
tmpfs

不适用于在 Fargate 资源上运行的作业。

logConfiguration 中的参数
logDriver

仅支持 awslogsfluentd。有关更多信息,请参阅 使用 awslogs 日志驱动程序

中的成员networkConfiguration
assignPublicIp

如果私有子网没有连接的 NAT 网关来将流量发送到 Internet,assignPublicIp必须为”ENABLED“。有关更多信息,请参阅 AWS Batch 执行 IAM 角色

Fargate 上的 Job 队列

Fargate 上的 AWS Batch 作业队列基本上保持不变。唯一的限制是,computeEnvironmentOrder必须都是 Fargate 计算环境(FARGATE或者FARGATE_SPOT)。EC2 和 Fargate 计算环境不能混合使用。

Fargate 上的计算环境

Fargate 上的 AWS Batch 计算环境不支持所有可用的计算环境参数。某些参数完全不受支持,而其他参数对 Fargate 具有特定要求。

下面的列表描述了 Fargate 作业中无效或受其他限制的计算环境参数。

type

此参数必须为MANAGED

"type": "MANAGED"
中的参数computeResourcesobject
allocationStrategy
bidPercentage
desiredvCpus
imageId
instanceTypes
ec2Configuration
ec2KeyPair
instanceRole
launchTemplate
minvCpus
placementGroup
spotIamFleetRole

这些值不适用于 Fargate 计算环境,因此不应提供。

subnets

如果此参数中列出的子网没有连接 NAT 网关,则assignPublicIp参数必须设置为ENABLED

tags

此值不适用于 Fargate 计算环境,因此不应提供。要为 Fargate 计算环境指定标签,请使用tags参数,该参数不在computeResources对象。

type

必须是 FARGATEFARGATE_SPOT

"type": "FARGATE_SPOT"