Amazon ECS タスク定義の無効な CPU またはメモリエラーをトラブルシューティングする - Amazon Elastic Container Service

Amazon ECS タスク定義の無効な CPU またはメモリエラーをトラブルシューティングする

Amazon ECS API または AWS CLI を使用してタスク定義を登録する場合、無効なcpuまたはmemory値を指定すると、以下のエラーが返されます。

An error occurred (ClientException) when calling the RegisterTaskDefinition operation: Invalid 'cpu' setting for task.
注記

Terraform の使用時に、以下のエラーが返される可能性があります。

Error: ClientException: No Fargate configuration exists for given values.

この問題を解決するには、タスク定義でタスクの CPU とメモリにサポートされている値を指定する必要があります。cpu 値はタスク定義で、CPU ユニットまたは vCPU で表すことができます。タスク定義が登録されると、CPU ユニットを示す整数に変換されます。memory 値はタスク定義で、MiB または GB で表すことができます。タスク定義が登録されると、MiB を示す整数に変換されます。

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

Fargate でホストされるタスクの場合、次の表に有効な CPU とメモリの組み合わせを示します。JSON ファイルのメモリ値は MiB 単位で指定されます。この値に 1024 を掛けると、GB 値を MiB に変換できます。例えば、1 GB = 1024 MiB です。

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 の値は、0.25 vCPU ~ 192 vCPU です。

注記

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