本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 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) 实例上运行作业。的有效值
operatingSystemFamily是LINUX(默认)。的有效值cpuArchitecture为X86_64和ARM64。"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 等)。 -
volumeswithhost.sourcePath— 将挂载主机路径绑定到容器中。
-
- Amazon ECS 托管实例不支持参数
-
fargatePlatformConfiguration-
不适用于 Amazon ECS 托管实例任务。
- Multi-node 并行 (MNP) 工作
-
Amazon ECS 托管实例不支持多节点并行任务。使用 Amazon EC2 托管计算环境来处理 MNP 工作负载。
logConfiguration中的参数-
logDriver-
仅支持
awslogssplunk、和awsfirelens,适用于 Amazon ECS 托管实例任务。