指定された CPU またはメモリの値が無効 - Amazon Elastic Container Service

指定された 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 値はタスク定義では CPU ユニットまたは vCPU で表現できますが、タスク定義の登録時に CPU ユニットを示す整数に変換されます。memory 値はタスク定義では MiB または GB で表現できますが、タスク定義の登録時に MiB を示す整数に変換されます。

requiresCompatibilitiesパラメータのみをEC2指定するタスク定義では、サポートされる CPU 値は、128CPU 単位 (0.125vCPUs) と10240CPU 単位 (10vCPUs)の間です。メモリ値は整数である必要があり、制限は使用する Amazon EC2 インスタンスの使用可能なメモリの量に依ります。

requiresCompatibilitiesパラメーター (EC2も指定されている場合でも)を指定しているFARGATEタスク定義では、次の表のいずれかの値を使用する必要があります。この値により CPU およびメモリパラメータでサポートされる値の範囲が決まります。

Fargate でホストされるタスクの場合、次の表に有効な CPU とメモリの組み合わせを示します。

CPU の値

メモリの値

AWS Fargate でサポートされるオペレーティングシステム

256 (.25 vCPU)

512 MiB、1 GB、2 GB

Linux

512 (.5 vCPU)

1 GB、2 GB、3 GB、4 GB

Linux

1,024 (1 vCPU)

2 GB、3 GB、4 GB、5 GB、6 GB、7 GB、8 GB

Linux、Windows

2,048 (2 vCPU)

4 GB ~ 16 GB (1 GB のインクリメント)

Linux、Windows

4,096 (4 vCPU)

8 GB ~ 30 GB (1 GB のインクリメント)

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 値は 128 CPU ユニット (0.125 vCPU) ~ 10240 CPU ユニット (10 vCPU) です。

注記

タスクレベル CPU およびメモリのパラメータは Windows コンテナでは無視されます。