Résolution des erreurs d’UC 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ésolution des erreurs d’UC 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

Si 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. Elle est convertie en un nombre entier indiquant le nombre d’unités d’UC lorsque la définition de la tâche est enregistrée. La valeur memory peut être exprimée en Mio ou en Go dans une définition de tâche. Elle est convertie en un entier indiquant le nombre de Mio lorsque la définition de la tâche est enregistrée.

Pour les définitions de tâches qui spécifient FARGATE pour le paramètre requiresCompatibilities (même si EC2 est également spécifié), vous devez utiliser l’une des valeurs indiquées dans le tableau suivant. Ces valeurs déterminent votre plage de valeurs prises en charge pour le paramètre d’UC et de 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 Fargate EC2 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 période d’UC et en paramètres de quota d’UC qui s’appliquent au cgroup.

  • Pour les tâches hébergées sur Fargate : Amazon ECS utilise des partages d’UC pour contrôler l’allocation de l’UC. Les valeurs de quota et de période d’UC ne sont pas utilisées pour limiter l’UC 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 d’UC est au maximum de 1 000 000 us et la période d’UC est d’au moins 1 ms. Vous pouvez utiliser ces valeurs pour définir les limites de votre nombre d’UC. Lorsque vous modifiez la période d’UC sans modifier le quota d’UC, 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.