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 プラットフォーム |
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 です。
注記
タスクレベル CPU およびメモリのパラメータは Windows コンテナでは無視されます。