Risoluzione degli errori relativi a CPU o memoria non valide nella definizione delle attività Amazon ECS - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione degli errori relativi a CPU o memoria non valide nella definizione delle attività Amazon ECS

Quando si registra una definizione di attività utilizzando l'API Amazon ECS o AWS CLI, se si specifica un memory valore cpu o non valido, viene restituito il seguente errore.

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

Quando utilizzi Terraform, potrebbe essere restituito il seguente errore.

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

Per risolvere questo problema, devi specificare un valore di CPU e memoria supportato nella definizione di attività. Il cpu valore può essere espresso in unità CPU o v CPUs in una definizione di attività. Quando la definizione di attività è registrata, viene convertito in un numero intero che indica le unità CPU. Il valore memory può essere espresso in MiB o GB in una definizione dell'attività. Quando la definizione di attività è registrata, viene convertito in un numero intero che indica i MiB.

Per le definizioni di attività che specificano FARGATE per il parametro requiresCompatibilities (anche se è specificato EC2), è necessario utilizzare uno dei valori nella tabella seguente. Questi valori determinano l'intervallo di valori supportati per i parametri CPU e memoria.

Per i processi ospitati su Fargate, nella tabella seguente sono riportate le combinazioni valide di CPU e memoria. I valori di memoria nel file JSON sono specificati in MiB. Puoi convertire il valore in GB in MiB moltiplicando il valore per 1.024. Ad esempio 1 GB = 1.024 MiB.

Valore CPU Valore memoria Sistemi operativi supportati per 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) Tra 4 GB e 16 GB in incrementi di 1 GB Linux, Windows
4096 (4 vCPU) Tra 8 GB e 30 GB in incrementi di 1 GB Linux, Windows
8192 (8 vCPU)
Nota

Questa opzione richiede la piattaforma Linux 1.4.0 o successiva.

Tra 16 GB e 60 GB in incrementi di 4 GB Linux
16384 (16vCPU)
Nota

Questa opzione richiede la piattaforma Linux 1.4.0 o successiva.

Tra 32 GB e 120 GB in incrementi di 8 GB Linux

Per le attività ospitate su Amazon EC2, i valori della CPU delle attività supportati sono compresi tra 0,25 v CPUs e 192 v. CPUs

Il meccanismo di controllo della CPU è diverso da quello di EC2 Fargate:

  • Per le attività ospitate su Amazon EC2: Amazon ECS utilizza il periodo della CPU e la quota della CPU per controllare le dimensioni delle attività, i limiti rigidi della CPU. Quando si specifica la vCPU nella definizione dell'attività, Amazon ECS traduce il valore nelle impostazioni del periodo CPU e della quota CPU applicabili al cgroup.

  • Per le attività ospitate su Fargate: Amazon ECS usa le quote CPU per controllare l'allocazione della CPU. I valori relativi alla quota CPU e al periodo non vengono usati per limitare la CPU nelle attività Fargate.

Per EC2 le attività di Amazon, la quota CPU controlla la quantità di tempo di CPU concessa a un cgroup durante un determinato periodo di CPU. Entrambe le impostazioni sono espresse in microsecondi. Quando la quota della CPU è uguale al periodo della CPU significa che a cgroup può essere eseguito fino al 100% su una vCPU (o qualsiasi altra frazione che ammonta al 100% per più v). CPUs La quota CPU ha un massimo di 1000000us e il periodo CPU ha un minimo di 1ms. È possibile usare questi valori per impostare i limiti per il numero di CPU. Quando si modifica il periodo della CPU senza modificare la quota CPU, si ottengono limiti effettivi diversi da quelli specificati nella definizione dell'attività.

Il periodo di 100 ms consente un intervallo di v CPUs compreso tra 0,125 e 10.

Nota

I parametri della CPU e della memoria a livello di processo vengono ignorati per i container Windows.