Risolvi gli errori di CPU o memoria non validi relativi alla definizione delle attività di 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à.

Risolvi gli errori di CPU o memoria non validi relativi alla definizione delle attività di 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 si utilizza 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à. Viene convertito in un numero intero che indica le unità CPU al momento della registrazione della definizione dell'attività. Il memory valore può essere espresso in MiB o GB in una definizione di attività. Viene convertito in un numero intero che indica il MiB quando viene registrata la definizione dell'attività.

Per le definizioni delle attività che specificano FARGATE il requiresCompatibilities parametro (anche se EC2 è specificato anche), è necessario utilizzare uno dei valori nella tabella seguente. Questi valori determinano l'intervallo di valori supportati per il parametro 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

Amazon ECS utilizza il periodo e la quota della CPU per controllare le dimensioni delle attività, i limiti rigidi della CPU. Quando specifichi la vCPU nella definizione dell'attività, Amazon ECS traduce il valore nel periodo della CPU e nelle impostazioni della quota CPU applicabili a. cgroup

La quota CPU controlla la quantità di tempo di CPU concessa a a cgroup durante un determinato periodo di CPU. Entrambe le impostazioni sono espresse in termini di 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 della CPU ha un minimo di 1 ms. È possibile utilizzare questi valori per impostare i limiti per il numero di CPU. Quando si modifica il periodo della CPU senza modificare la quota della CPU, i limiti effettivi sono 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.