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.
Déployez les services Amazon ECS en remplaçant les tâches
Lorsque vous créez un service qui utilise le type de déploiement rolling update (ECS
), le planificateur de services Amazon ECS remplace les tâches en cours d'exécution par de nouvelles tâches. Le nombre de tâches ajoutées au service ou supprimées du service par Amazon ECS lors d'une mise à jour propagée est contrôlé par la configuration de déploiement du service.
Amazon ECS utilise les paramètres suivants pour déterminer le nombre de tâches :
-
minimumHealthyPercent
représente la limite inférieure du nombre de tâches qui doivent être exécutées pour un service pendant un déploiement ou lorsqu'une instance de conteneur est drainée, en pourcentage du nombre souhaité de tâches pour le service. Cette valeur est arrondie à la valeur supérieure. Par exemple, si le pourcentage minimum d'instances saines est50
et que le nombre de tâches souhaité est de quatre, le planificateur peut arrêter deux tâches existantes avant de démarrer deux nouvelles tâches. De même, si le pourcentage de santé minimum est de 75 % et que le nombre de tâches souhaité est de deux, le planificateur ne peut pas arrêter de tâche car la valeur résultante est également de deux.Si les tâches ne fonctionnent plus correctement, le planificateur de services Amazon ECS commence d'abord par les tâches de remplacement et assure la maintenance des tâches jusqu'à ce que les
minimumHealthyPercent
tâches de remplacement redeviennent saines. Au fur et à mesure que les tâches de remplacement démarrent et deviennent saines, les tâches malsaines seront progressivement arrêtées. -
maximumPercent
représente la limite supérieure du nombre de tâches qui doivent être exécutées pour un service pendant un déploiement ou lorsqu'une instance de conteneur est drainée, en pourcentage du nombre souhaité de tâches pour un service. Cette valeur est arrondie à la valeur inférieure. Par exemple, si le pourcentage maximal est200
et que le nombre de tâches souhaitées est quatre, le planificateur peut démarrer quatre nouvelles tâches avant d'arrêter quatre tâches existantes. De même, si le pourcentage maximal est125
et que le nombre de tâches souhaité est de trois, le planificateur ne peut pas démarrer de tâche, car la valeur résultante est également de trois.
Important
Lorsque vous définissez un pourcentage minimum ou maximal d'instances saines, vous devez vous assurer que le planificateur peut arrêter ou démarrer au moins une tâche lorsqu'un déploiement est déclenché. Si votre service a un déploiement bloqué en raison d'une configuration de déploiement non valide, un message d'événement de service est envoyé. Pour de plus amples informations, veuillez consulter service (service-name) n'a pas pu arrêter ou démarrer des tâches pendant un déploiement en raison de la configuration du déploiement du service. Mettez à jour la valeur minimumHealthyPercent ou MaximumPercent et réessayez..
Les déploiements progressifs ont deux méthodes qui permettent d'identifier rapidement l'échec d'un déploiement de service :
Les méthodes peuvent être utilisées séparément ou conjointement. Lorsque les deux méthodes sont utilisées, le déploiement est défini comme ayant échoué dès que les critères d'échec de l'une ou l'autre méthode d'échec sont remplis.
Suivez les instructions suivantes pour déterminer quelle méthode utiliser :
-
Disjoncteur : utilisez cette méthode lorsque vous souhaitez arrêter un déploiement car les tâches ne peuvent pas démarrer.
-
CloudWatch alarmes - Utilisez cette méthode lorsque vous souhaitez arrêter un déploiement en fonction des métriques de l'application.
Les deux méthodes permettent de revenir à la révision du service précédente.
Résolution d'image du conteneur
Par défaut, Amazon ECS convertit les balises d'image de conteneur spécifiées dans la définition de tâche en résumés d'images de conteneurs. Si vous créez un service qui exécute et gère une seule tâche, cette tâche est utilisée pour établir des résumés d'images pour les conteneurs de la tâche. Si vous créez un service qui exécute et gère plusieurs tâches, la première tâche lancée par le planificateur de services lors du déploiement est utilisée pour établir les résumés d'images pour les conteneurs contenus dans les tâches.
Si au moins trois tentatives d'établissement des résumés d'images du conteneur échouent, le déploiement se poursuit sans résolution de condensé d'image. Si le disjoncteur de déploiement est activé, le déploiement échoue en outre et est annulé.
Une fois les résumés des images du conteneur établis, Amazon ECS les utilise pour démarrer toutes les autres tâches souhaitées et pour toute future mise à jour de service. Ainsi, toutes les tâches d'un service exécutent toujours des images de conteneur identiques, ce qui garantit la cohérence des versions de votre logiciel.
Vous pouvez configurer ce comportement pour chaque conteneur de votre tâche en utilisant le versionConsistency
paramètre figurant dans la définition du conteneur. Pour de plus amples informations, veuillez consulter versionConsistency.
Note
-
Les versions d'Amazon ECS Agent inférieures à
1.31.0
ne prennent pas en charge la résolution du condensé d'image. Versions1.31.0
d'agent prenant en1.69.0
charge la résolution de condensé d'images uniquement pour les images transférées vers les référentiels Amazon ECR. Les versions de l'agent1.70.0
ou supérieures prennent en charge la résolution de résumé d'image pour toutes les images. -
La version minimale de la plate-forme Fargate Linux pour la résolution du condensé d'image est.
1.3.0
La version minimale de la plate-forme Fargate Windows pour la résolution du condensé d'image est.1.0.0
-
Amazon ECS ne capture pas les résumés des conteneurs annexes gérés par Amazon ECS, tels que l'agent de GuardDuty sécurité Amazon ou le proxy Service Connect.
-
Pour réduire le temps de latence potentiel associé à la résolution des images de conteneur dans les services comportant plusieurs tâches, exécutez la version
1.83.0
ou supérieure de l'agent Amazon ECS sur les instances de EC2 conteneur. Pour éviter toute latence potentielle, spécifiez des résumés d'images de conteneur dans la définition de votre tâche. -
Si vous créez un service avec un nombre de tâches souhaité égal à zéro, Amazon ECS ne peut pas établir de résumés de conteneurs tant que vous n'avez pas déclenché un autre déploiement du service avec un nombre de tâches souhaité supérieur à zéro.
-
Pour établir des résumés d'images mis à jour, vous pouvez forcer un nouveau déploiement. Les résumés mis à jour seront utilisés pour démarrer de nouvelles tâches et n'affecteront pas les tâches déjà en cours. Pour plus d'informations sur le forçage de nouveaux déploiements, consultez forceNewDeploymentla référence des API Amazon ECS.