指定的 CPU 或内存值无效 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

指定的 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 平台 1.4.0 或更高版本。

16 GB 到 60 GB 之间(以 4 GB 为增量)

Linux

16384 (16vCPU)

注意

此选项需要 Linux 平台 1.4.0 或更高版本。

32 GB 到 120 GB 之间(以 8 GB 为增量)

Linux

对于托管在 Amazon EC2 上的任务,支持的任务 CPU 值介于 0.25 个 vCPU 和 192 个 vCPU 之间。

注意

Windows 容器将忽略任务级 CPU 和内存参数。