Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

指定的 CPU 或内存值无效

在注册任务时,如果指定了无效的 cpumemory 值,那么您将收到以下错误:

An error occurred (ClientException) when calling the RegisterTaskDefinition operation: Invalid 'cpu' setting for task. For more information, see the Troubleshooting section of the Amazon ECS Developer Guide.

要解决此问题,您必须在任务定义中为任务 CPU 和内存指定受支持的值。

虽然在任务定义中可以用 CPU 单元或 vCPU 来表示 cpu 值,但在注册任务定义时,该值将转换为一个指示 CPU 单元的整数。如果您使用的是 EC2 启动类型,则受支持的值介于 128 个 CPU 单元 (0.125 个 vCPU) 和 10240 个 CPU 单元 (10 个 vCPU) 之间。如果使用 Fargate 启动类型,则必须使用下表中的值之一,该表决定了 memory 参数的受支持值的范围。

虽然在任务定义中可以用 MiB 或 GB 来表示 memory 值,但在注册任务定义时,该值将转换为一个指示 MiB 的整数。如果您使用的是 EC2 启动类型,则必须指定一个整数。如果使用 Fargate 启动类型,则必须使用下表中的值之一,该表决定了 cpu 参数的受支持值的范围。

Fargate 任务受支持的任务 CPU 和内存值如下:

CPU value Memory value (MiB)
256 (.25 vCPU) 512 (0.5GB), 1024 (1GB), 2048 (2GB)
512 (.5 vCPU) 1024 (1GB), 2048 (2GB), 3072 (3GB), 4096 (4GB)
1024 (1 vCPU) 2048 (2GB), 3072 (3GB), 4096 (4GB), 5120 (5GB), 6144 (6GB), 7168 (7GB), 8192 (8GB)
2048 (2 vCPU) Between 4096 (4GB) and 16384 (16GB) in increments of 1024 (1GB)
4096 (4 vCPU) Between 8192 (8GB) and 30720 (30GB) in increments of 1024 (1GB)