Bonnes pratiques relatives à la taille 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.

Bonnes pratiques relatives à la taille des tâches Amazon ECS

La taille de vos conteneurs et de vos tâches est essentielle à la mise à l'échelle et à la planification des capacités. Dans Amazon ECS, le processeur et la mémoire sont deux indicateurs de ressources utilisés pour déterminer la capacité. Le processeur est mesuré en unités de 1/1024 d'un vCPU complet (1024 unités étant égales à 1 vCPU entier). La mémoire est mesurée en mégaoctets. Dans la définition de votre tâche, vous pouvez configurer les réservations et les limites des ressources.

Lorsque vous configurez une réservation, vous définissez la quantité minimale de ressources requise par une tâche. Votre tâche reçoit au moins le montant des ressources demandées. Votre application peut utiliser plus de processeur ou de mémoire que la réservation que vous déclarez. Toutefois, cela est soumis aux limites que vous avez également déclarées. Le fait d'utiliser un montant supérieur au montant de la réservation est appelé « bursting ». Dans Amazon ECS, les réservations sont garanties. Par exemple, si vous utilisez des instances Amazon EC2 pour fournir de la capacité, Amazon ECS ne place aucune tâche sur une instance où la réservation ne peut pas être exécutée.

Une limite est la quantité maximale d'unités de processeur ou de mémoire que votre conteneur ou votre tâche peut utiliser. Toute tentative d'utilisation d'un processeur supérieur à cette limite entraîne un ralentissement. Toute tentative d'utilisation de plus de mémoire entraîne l'arrêt de votre conteneur.

Le choix de ces valeurs peut s'avérer difficile. En effet, les valeurs les mieux adaptées à votre application dépendent dans une large mesure des besoins en ressources de votre application. Le test de charge de votre application est la clé d'une planification réussie des besoins en ressources et d'une meilleure compréhension des exigences de votre application.

Demandes apatrides

Pour les applications sans état qui évoluent horizontalement, telles qu'une application située derrière un équilibreur de charge, nous vous recommandons de déterminer d'abord la quantité de mémoire consommée par votre application lorsqu'elle traite des demandes. Pour ce faire, vous pouvez utiliser des outils traditionnels tels que ps ou top des solutions de surveillance telles que CloudWatch Container Insights.

Lorsque vous déterminez une réservation de processeur, réfléchissez à la manière dont vous souhaitez adapter votre application aux besoins de votre entreprise. Vous pouvez utiliser des réserves de processeur plus petites, telles que 256 unités de processeur (ou 1/4 de vCPU), pour effectuer une mise à l'échelle précise tout en minimisant les coûts. Cependant, ils risquent de ne pas évoluer assez rapidement pour répondre à des pics de demande importants. Vous pouvez utiliser des réservations de processeur plus importantes pour augmenter les volumes entrants et sortants plus rapidement et ainsi répondre plus rapidement aux pics de demande. Cependant, les réservations de processeurs plus importantes sont plus coûteuses.

Autres applications

Pour les applications qui ne sont pas évolutives horizontalement, telles que les serveurs de base de données ou les serveurs de base de données, la capacité disponible et les coûts constituent vos considérations les plus importantes. Vous devez choisir la quantité de mémoire et de processeur en fonction des tests de charge indiquant que vous devez desservir le trafic pour atteindre votre objectif de niveau de service. Amazon ECS garantit que l'application est placée sur un hôte doté d'une capacité adéquate.