Valor inválido de CPU ou de memória especificado no Amazon ECS - Amazon Elastic Container Service

Valor inválido de CPU ou de memória especificado no Amazon ECS

Ao registrar uma definição de tarefa usando a API do Amazon ECS ou a AWS CLI, se você especificar um valor inválido de cpu ou memory, será retornado o erro a seguir.

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.
nota

Ao usar o Terraform, o erro a seguir pode ser retornado.

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

Para resolver esse problema, você deve especificar um valor compatível para a CPU e a memória em sua definição da tarefa. O valor de cpu pode ser expresso em unidades de CPU ou vCPUs em uma definição de tarefa. Ele é convertido em um número inteiro que indica as unidades de CPU quando a definição da tarefa é registrada. O valor de memory pode ser expresso em MiB ou GB em uma definição de tarefa. Ele é convertido em um número inteiro que indica o valor em MiB quando a definição da tarefa é registrada.

Para definições de tarefa que especificam apenas o EC2 para o parâmetro requiresCompatibilities, os valores de CPU compatíveis estão entre 256 unidades de CPU (0.25 vCPUs) e 16384 unidades de CPU (16 vCPUs). O valor da memória deve ser um número inteiro, e o limite depende da quantidade de memória disponível na instância subjacente do Amazon EC2 usada.

Em definições de tarefa que especificam o FARGATE para o parâmetro requiresCompatibilities (mesmo se o EC2 também estiver especificado), você deve usar um dos valores da tabela a seguir. Esses valores determinam sua faixa de valores compatíveis com os parâmetros de CPU e memória.

Para tarefas hospedadas no Fargate, a tabela a seguir mostra as combinações válidas de CPU e memória. Os valores de memória no arquivo JSON são especificados em MiB. É possível converter o valor de GB em MiB multiplicando o valor por 1024. Por exemplo, 1 GB = 1024 MiB.

Valor de CPU

Valor de memória

Sistemas operacionais com suporte para o AWS Fargate

256 (0,25 vCPU)

512 MiB, 1 GB, 2 GB

Linux

512 (0,5 vCPU)

1 GB, 2 GB, 3 GB, 4 GB

Linux

1024 (1 vCPU)

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

Linux, Windows

2048 (2 vCPU)

Entre 4 GB e 16 GB em incrementos de 1 GB

Linux, Windows

4096 (4 vCPU)

Entre 8 GB e 30 GB em incrementos de 1 GB

Linux, Windows

8192 (8 vCPU)

nota

Essa opção requer a plataforma Linux 1.4.0 ou posterior.

Entre 16 GB e 60 GB em incrementos de 4 GB

Linux

16384 (16 vCPU)

nota

Essa opção requer a plataforma Linux 1.4.0 ou posterior.

Entre 32 GB e 120 GB em incrementos de 8 GB

Linux

Em tarefas hospedadas no Amazon EC2, os valores de CPU da tarefa compatível estão entre 0,25 vCPUs e 192 vCPUs.

nota

Os parâmetros de CPU e memória em nível de tarefa são ignorados para contêineres do Windows.