指定的 CPU 或内存值无效
使用 Amazon ECS API 或 AWS CLI 注册任务定义时,或者如果指定了无效的 cpu
或 memory
,则返回以下错误。
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.
使用 Terraform 时,可能会返回以下错误。
Error: ClientException: No Fargate configuration exists for given values.
要解决此问题,您必须在任务定义中为任务 CPU 和内存指定受支持的值。虽然在任务定义中可以用 CPU 单元或 vCPU 来表示 cpu
值,但在注册任务定义时,该值将转换为一个指示 CPU 单元的整数。虽然在任务定义中可以用 MiB 或 GB 来表示 memory
值,但在注册任务定义时,该值将转换为一个指示 MiB 的整数。
对于仅为 requiresCompatibilities
参数指定 EC2
的任务定义,支持的 CPU 值介于 128
, CPU 单元(0.125
vCPU)和 10240
CPU 单元(10
vCPU)之间。内存值必须为整数,且限制取决于您使用的底层 Amazon EC2 实例上的可用内存量。
对于为 requiresCompatibilities
参数指定的 FARGATE
任务定义(即使也指定了 EC2
),必须使用下表中的一个值,该值确定 CPU 和内存参数支持的值范围。
对于 Fargate 上托管的任务,下表显示了有效的 CPU 和内存组合。
CPU 值 |
内存值 |
AWS Fargate 支持的操作系统 |
---|---|---|
256 (.25 vCPU) |
512MiB、1GB、2GB |
Linux |
512 (.5 vCPU) |
1GB、2GB、3GB、4GB |
Linux |
1024 (1 vCPU) |
2GB、3GB、4GB、5GB、6GB、7GB、8GB |
Linux、Windows |
2048 (2 vCPU) |
4GB 到 16GB 之间 (以 1GB 为增量) |
Linux、Windows |
4096 (4 vCPU) |
8GB 到 30GB 之间 (以 1GB 为增量) |
Linux、Windows |
8192 (8 vCPU) 此选项需要 Linux 平台 |
16 GB 到 60 GB 之间(以 4 GB 为增量) |
Linux |
16384 (16vCPU) 此选项需要 Linux 平台 |
32 GB 到 120 GB 之间(以 8 GB 为增量) |
Linux |
对于 Amazon EC2 上托管的任务,受支持的任务 CPU 值介于 128 个 CPU 单元(0.125 个 vCPU)和 10240 个 CPU 单元(10 个 vCPU)之间。
Windows 容器将忽略任务级 CPU 和内存参数。