View a markdown version of this page

Amazon ECS 受管執行個體上的任務定義 - AWS Batch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon ECS 受管執行個體上的任務定義

AWS Batch Amazon ECS 受管執行個體上的 任務會使用具有 平台功能ecsProperties的任務定義格式MANAGED_INSTANCES。Amazon ECS 受管執行個體任務不支援舊版 containerProperties。

下列清單說明 Amazon ECS 受管執行個體任務的特定或限制的任務定義參數。

platformCapabilities

必須指定為 MANAGED_INSTANCES。

"platformCapabilities": [ "MANAGED_INSTANCES" ]
type

必須指定為 container。

"type": "container"
ecsProperties 中的參數
networkMode

控制任務的網路設定方式。此參數僅適用於 Amazon ECS 受管執行個體任務定義。此參數不適用於 Fargate 或 Amazon EC2 平台任務定義。

有效值:host

未指定時,預設值為 host。使用 host 模式時,容器會直接共用主機執行個體的網路堆疊,以提供最大的網路頻寬。

"networkMode": "host"
runtimePlatform

指定任務的作業系統系列和 CPU 架構。此參數同時適用於 Fargate 和 Amazon ECS 受管執行個體任務定義。使用此選項在 ARM64 (AWS Graviton) 執行個體上執行任務。的有效值operatingSystemFamily為 LINUX(預設值)。的有效值cpuArchitecture為 X86_64和 ARM64。

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

授予 Amazon ECS 容器代理程式代表您進行 AWS API 呼叫許可的 IAM 角色,例如從 Amazon ECR 提取容器映像。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的任務 IAM 角色。

resourceRequirements

記憶體和 vCPU 需求都必須在 中指定resourceRequirements。與 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 支援的 tmpfs 檔案系統。

  • ulimits — 在容器上設定資源限制 (nofile、nproc 等)。

  • volumes 使用 host.sourcePath — 將掛載主機路徑繫結至容器。

Amazon ECS 受管執行個體不支援參數
fargatePlatformConfiguration

不適用於 Amazon ECS 受管執行個體任務。

多節點平行 (MNP) 任務

Amazon ECS 受管執行個體不支援多節點平行任務。針對 MNP 工作負載使用 Amazon EC2 受管運算環境。

logConfiguration 中的參數
logDriver

Amazon ECS awslogs受管執行個體任務僅awsfirelens支援 splunk、 和 。