View a markdown version of this page

亚马逊 ECS 托管实例上的任务定义 - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

亚马逊 ECS 托管实例上的任务定义

Amazon Batch Amazon ECS 托管实例上的ecsProperties任务使用任务定义格式,平台功能为MANAGED_INSTANCES。Amazon ECS 托管实例任务不支持旧版containerProperties

以下列表描述了特定于 Amazon ECS 托管实例任务或仅限于 Amazon ECS 托管实例任务的任务定义参数。

platformCapabilities

必须指定为 MANAGED_INSTANCES

"platformCapabilities": [ "MANAGED_INSTANCES" ]
type

必须指定为 container

"type": "container"
ecsProperties 中的参数
networkMode

控制任务网络的配置方式。此参数仅适用于 Amazon ECS 托管实例任务定义。此参数不适用于 Fargate 或亚马逊 EC2 平台的任务定义。

有效值:host

如果未指定,则默认为host。使用host模式时,容器直接共享主机实例的网络堆栈,从而提供最大的网络带宽。

"networkMode": "host"
runtimePlatform

指定任务的操作系统系列和 CPU 架构。此参数适用于 Fargate 和 Amazon ECS 托管实例任务定义。使用它在 ARM64 (Amazon Graviton) 实例上运行作业。的有效值operatingSystemFamilyLINUX(默认)。的有效值cpuArchitectureX86_64ARM64

"runtimePlatform": { "operatingSystemFamily": "LINUX", "cpuArchitecture": "ARM64" }
executionRoleArn

IAM 角色授予亚马逊 ECS 容器代理代表您进行 Amazon API 调用的权限,例如从亚马逊 ECR 提取容器镜像。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的任务的 IAM 角色

resourceRequirements

必须在中resourceRequirements指定内存和 vCPU 要求。与 Fargate 不同,Amazon ECS 托管实例不限制哪些 vCPU 和内存组合有效,您可以指定任何符合计算环境可用实例类型的值。支持 GPU 资源。

"resourceRequirements": [ {"type": "MEMORY", "value": "8192"}, {"type": "VCPU", "value": "4"}, {"type": "GPU", "value": "1"} ]
Amazon ECS 托管实例支持但不支持 Fargate 的参数

以下参数可用于 Amazon ECS 托管实例任务,但 Fargate 无法使用以下参数:

  • privileged— 在主机实例上使用提升的权限运行容器。

  • resourceRequirements类型 GPU — 请求 NVIDIA GPU 设备。

  • linuxParameters.devices— 将主机设备暴露给容器。

  • linuxParameters.tmpfs— 挂载 RAM-backed tmpfs 文件系统。

  • ulimits— 在容器上设置资源限制(nofile、nproc 等)。

  • volumeswith host.sourcePath — 将挂载主机路径绑定到容器中。

Amazon ECS 托管实例不支持参数
fargatePlatformConfiguration

不适用于 Amazon ECS 托管实例任务。

Multi-node 并行 (MNP) 工作

Amazon ECS 托管实例不支持多节点并行任务。使用 Amazon EC2 托管计算环境来处理 MNP 工作负载。

logConfiguration 中的参数
logDriver

仅支持awslogssplunk、和awsfirelens,适用于 Amazon ECS 托管实例任务。