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 ECS les services Amazon 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 ECS services Amazon remplace les tâches en cours par de nouvelles tâches. Le nombre de tâches qu'Amazon ECS ajoute ou supprime du service lors d'une mise à jour continue est contrôlé par la configuration de déploiement du service. La configuration de déploiement se compose des éléments suivants :
-
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 ECS services Amazon 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 au cours d'un déploiement en raison de la configuration du déploiement du service. Mettez à jour la maximumPercent valeur minimumHealthyPercent or et réessayez..
Un déploiement propagé utilise le disjoncteur du circuit de déploiement pour déterminer si les tâches atteignent un état stable. Le disjoncteur du circuit de déploiement peut éventuellement restaurer un déploiement en cas de défaillance.
Résolution de l'image du conteneur
Pour garantir que toutes les tâches d'un service utilisent la même image de conteneur, Amazon convertit les noms ECS des images de conteneur et les balises d'image spécifiées dans la définition de la tâche en résumés d'images de conteneur. Si vous créez un service qui exécute et gère une seule tâche, cette tâche est utilisée pour établir le condensé de l'image du conteneur. Si vous créez un service qui exécute et gère plusieurs tâches, le planificateur de services démarre d'abord une tâche lors du déploiement. Cette première tâche est utilisée pour établir le condensé d'image du conteneur.
Une fois le résumé de l'image du conteneur établi, Amazon l'ECSutilise pour démarrer toutes les autres tâches souhaitées et pour toute future mise à jour du 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.
Si au moins trois tentatives d'établissement du condensé d'image du conteneur échouent, le déploiement se poursuit sans résolution du condensé d'image. Si le disjoncteur de déploiement est activé, le déploiement échoue en outre et est annulé.
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
Les versions d'Amazon ECS Agent inférieures à 1.31.0
ne prennent pas en charge la résolution du condensé d'image. Versions 1.31.0
d'agent permettant de 1.69.0
prendre en charge la résolution de condensé d'images uniquement pour les images transférées vers ECR les référentiels Amazon. Les versions de l'agent 1.70.0
ou supérieures prennent en charge la résolution de résumé d'image pour toutes les images.
Note
-
Amazon ECS ne capture pas les résumés des conteneurs annexes gérés par AmazonECS, tels que l'agent de GuardDuty sécurité Amazon ou le proxy Service Connect.
-
Pour réduire la latence potentielle associée à la résolution des images de conteneur dans les services comportant plusieurs tâches, exécutez la version de ECS l'agent Amazon
1.83.0
ou une version supérieure 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 ne ECS peut pas établir de résumé de conteneur 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 un condensé d'image mis à jour, vous pouvez forcer un nouveau déploiement. Ce résumé mis à jour sera utilisé pour démarrer de nouvelles tâches et n'affectera pas les tâches déjà en cours. Pour plus d'informations sur le fait de forcer de nouveaux déploiements, consultez forceNewDeploymentla ECSAPIréférence Amazon.
Détection des défaillances
Il existe deux méthodes permettant d'identifier rapidement l'échec d'un déploiement, puis de revenir éventuellement à l'échec jusqu'au dernier déploiement fonctionnel.
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.