本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
指定的 CPU 或内存值无效
使用 Amazon ECS API 注册任务定义时 Amazon CLI,或者如果您指定的memory
值无效cpu
,则会返回以下错误。
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
值可以用 CPU 单位或 vCPU 表示。它会转换为一个整数,表示注册任务定义时的 CPU 单位。在任务定义中,该memory
值可以用 MiB 或 GB 表示。它会转换为一个整数,表示注册任务定义时的 Mib。
对于仅为 requiresCompatibilities
参数指定 EC2
的任务定义,支持的 CPU 值介于 256
, CPU 单元(0.25
vCPU)和 16384
CPU 单元(16
vCPU)之间。内存值必须为整数,且限制取决于您使用的底层 Amazon EC2 实例上的可用内存量。
FARGATE
对于指定requiresCompatibilities
参数的任务定义(即使EC2
也已指定),您必须使用下表中的一个值。这些值决定了 CPU 和内存参数支持的值范围。
对于 Fargate 上托管的任务,下表显示了有效的 CPU 和内存组合。JSON 文件中的内存值以 MiB 为单位指定。您可以通过将 GB 值乘以 1024 来其转换为 MiB。例如 1 GB = 1024 MiB。
CPU 值 |
内存值 |
Amazon 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 值介于 0.25 个 vCPU 和 192 个 vCPU 之间。
注意
Windows 容器将忽略任务级 CPU 和内存参数。