Résoudre les erreurs de processeur ou de mémoire non valides liées à la définition des tâches Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résoudre les erreurs de processeur ou de mémoire non valides liées à la définition des tâches Amazon ECS

Lorsque vous enregistrez une définition de tâche à l'aide de l'API Amazon ECS ou AWS CLI, si vous spécifiez une memory valeur cpu ou une valeur non valide, l'erreur suivante est renvoyée.

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

Lorsque vous utilisez Terraform, l'erreur suivante peut être renvoyée.

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

Pour résoudre ce problème, vous devez spécifier une valeur prise en charge pour l'UC et la mémoire de la tâche dans votre définition de tâche. La cpu valeur peut être exprimée en unités CPU ou CPUs en v dans une définition de tâche. Il est converti en un entier indiquant les unités du processeur lorsque la définition de tâche est enregistrée. La memory valeur peut être exprimée en MiB ou en Go dans une définition de tâche. Il est converti en un entier indiquant le MiB lorsque la définition de tâche est enregistrée.

Pour les définitions de tâches qui spécifient FARGATE le requiresCompatibilities paramètre (même s'il EC2 est également spécifié), vous devez utiliser l'une des valeurs du tableau suivant. Ces valeurs déterminent votre plage de valeurs prises en charge pour le paramètre CPU et mémoire.

Pour les tâches hébergées sur Fargate, le tableau suivant indique les combinaisons de processeur et de mémoire valides. Les valeurs de mémoire du fichier JSON sont spécifiées en Mio. Vous pouvez convertir la valeur en Go en Mio en la multipliant par 1 024. Par exemple, 1 Go = 1 024 Mio.

Valeur d'UC Valeur de mémoire Systèmes d'exploitation pris en charge pour AWS Fargate
256 (0,25 vCPU) 512 Mio, 1 Go, 2 Go Linux
512 (0,5 vCPU) 1 Go, 2 Go, 3 Go, 4 Go Linux
1 024 (1 vCPU) 2 Go, 3 Go, 4 Go, 5 Go, 6 Go, 7 Go, 8 Go Linux, Windows
2 048 (2 vCPU) Entre 4 Go et 16 Go par incréments de 1 Go Linux, Windows
4 096 (4 vCPU) Entre 8 Go et 30 Go par incréments de 1 Go Linux, Windows
8192 (8 vCPU)
Note

Cette option nécessite la plateforme Linux 1.4.0 ou ultérieure

Entre 16 Go et 60 Go par incréments de 4 Go Linux
16384 (16vCPU)
Note

Cette option nécessite la plateforme Linux 1.4.0 ou ultérieure

Entre 32 Go et 120 Go par incréments de 8 Go Linux

Pour les tâches hébergées sur Amazon EC2, les valeurs du processeur des tâches prises en charge sont comprises entre 0,25 v CPUs et 192 v. CPUs

Le mécanisme de contrôle du processeur diffère entre les types de EC2 lancement Amazon et Fargate :

  • Pour les tâches hébergées sur Amazon EC2 : Amazon ECS utilise la durée du processeur et le quota de processeur pour contrôler la taille des tâches, les limites strictes du processeur. Lorsque vous spécifiez le vCPU dans votre définition de tâche, Amazon ECS traduit la valeur en durée du processeur et en paramètres de quota de processeur qui s'appliquent au. cgroup

  • Pour les tâches hébergées sur Fargate : Amazon ECS utilise des partages de processeur pour contrôler l'allocation du processeur. Les valeurs de quota et de période du processeur ne sont pas utilisées pour limiter le processeur dans les tâches Fargate.

Pour les EC2 tâches Amazon, le quota de processeur contrôle le temps processeur accordé à un cgroup pendant une période de processeur donnée. Les deux paramètres sont exprimés en microsecondes. Lorsque le quota de processeur est égal à la période du processeur, cela signifie que a cgroup peut exécuter jusqu'à 100 % sur un vCPU (ou toute autre fraction totalisant 100 % pour plusieurs v). CPUs Le quota du processeur est au maximum de 1 000 000 us et la période du processeur est d'au moins 1 ms. Vous pouvez utiliser ces valeurs pour définir les limites de votre nombre de processeurs. Lorsque vous modifiez la période du processeur sans modifier le quota du processeur, vous disposez de limites effectives différentes de celles que vous avez spécifiées dans votre définition de tâche.

La période de 100 ms permet un v CPUs compris entre 0,125 et 10.

Note

Les paramètres d'UC et de mémoire de niveau tâche sont ignorés pour les conteneurs Windows.