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.
Terminez les déploiements progressifs d'Amazon ECS à un stade précoce en fonction de critères de réussite
Lorsque vous mettez à jour un service qui utilise la stratégie de déploiement continu, Amazon ECS lance un déploiement qui remplace les tâches de la révision du service source par de nouvelles tâches de la révision du service cible. Amazon ECS termine le déploiement une fois que toutes les conditions suivantes sont remplies :
-
La révision du service cible atteint 100 % du nombre souhaité, et toutes ses tâches sont en cours d'exécution et en bon état.
-
Le disjoncteur de déploiement ou une CloudWatch alarme ne déclenchent pas de retour en arrière.
-
Si vous utilisez la fonction de restauration par alarme, le temps de cuisson s'écoule.
-
Les tâches relatives à la révision du service source sont nettoyées.
Grâce à des critères de réussite précoces, vous pouvez configurer le moment où Amazon ECS termine un déploiement, en fonction de la confiance et des besoins opérationnels de votre charge de travail.
Vous pouvez utiliser des critères de réussite précoce dans les scénarios suivants :
-
Vous êtes certain qu'un pourcentage de tâches saines sur la révision du service cible est suffisant pour terminer le déploiement, et vous souhaitez le terminer plus tôt afin que les déploiements, CI/CD pipelines et autres opérations dépendantes ultérieurs puissent se poursuivre.
-
Votre service fonctionne sur des capacités spécialisées ou limitées, telles que les charges de travail d' GPU-accelerated inférence, pour lesquelles le lancement de certaines tâches prend plus de temps en raison de la disponibilité du matériel.
-
Votre service comporte des tâches relatives à la révision du service source qui sont lentes à se vider et qui empêcheraient le déploiement de rester ouvert, telles que les tâches associées à des connexions de longue durée.
-
Vous souhaitez que le disjoncteur de déploiement ou l'annulation de l' CloudWatch alarme protège le déploiement jusqu'à ce que la révision du service cible atteigne le niveau de santé que vous définissez, et vous ne souhaitez pas de restauration après cette date.
Vous définissez les critères à l'aide des paramètres suivants dans la configuration de déploiement.
Pourcentage en bonne santé
Cela earlySuccessCriteria.healthyPercent représente le nombre de tâches qui doivent être en cours d'exécution et en bon état sur la révision du service cible avant qu'Amazon ECS ne termine le déploiement, en pourcentage du nombre de tâches souhaité pour le service. Cette valeur est arrondie à la valeur supérieure. Par exemple, si le pourcentage sain est de 90 et que le nombre souhaité est de 100, Amazon ECS termine le déploiement une fois que 90 tâches sont saines. Si le pourcentage sain est de 50 et que le nombre souhaité est de 3, Amazon ECS termine le déploiement une fois que 2 tâches sont saines.
Une tâche est saine lorsqu'elle passe avec succès les tests de santé que vous configurez pour le service.
Amazon ECS lance toutes les tâches restantes relatives à la révision du service cible en dehors du déploiement, par le biais d'une mise à l'échelle régulière du service. Une fois qu'Amazon ECS a terminé le déploiement, le disjoncteur de déploiement et l'annulation de l' CloudWatch alarme ne s'appliquent plus.
Le pourcentage sain doit se situer entre le service minimumHealthyPercent et 100.
Nettoyage des révisions du service source
earlySuccessCriteria.sourceServiceRevisionCleanupDétermine le moment où Amazon ECS nettoie les tâches à partir de la révision du service source. Il a deux valeurs, BLOCKING etDEFERRED.
AvecBLOCKING, le déploiement se déroule dans l'ordre suivant :
-
Le pourcentage correct de tâches sont en cours d'exécution et en bon état lors de la révision du service cible.
-
Si vous utilisez la fonction de restauration par alarme, le temps de cuisson s'écoule.
-
Amazon ECS nettoie les tâches relatives à la révision du service source.
-
Amazon ECS termine le déploiement.
AvecDEFERRED, le déploiement se déroule dans l'ordre suivant :
-
Le pourcentage correct de tâches sont en cours d'exécution et en bon état lors de la révision du service cible.
-
Si vous utilisez la fonction de restauration par alarme, le temps de cuisson s'écoule.
-
Amazon ECS termine le déploiement.
-
Amazon ECS nettoie les tâches relatives à la révision du service source, en dehors du déploiement.
AvecDEFERRED, Amazon ECS essaie de nettoyer les tâches relatives à la révision du service source pendant deux semaines maximum.
DEFERREDÀ utiliser pour les services dotés de connexions de longue durée ou d'une protection évolutive des tâches, où les tâches issues de la révision du service source peuvent devoir continuer à s'exécuter sans maintenir le déploiement ouvert. Ceci est utile lorsque la vidange de la révision du service source est une opération de longue haleine et que votre CI/CD outillage est limité dans le temps. Amazon ECS termine le déploiement lorsque le pourcentage normal est atteint et que les tâches relatives à la révision du service source sont épuisées en dehors du déploiement.
Comment Amazon ECS évalue les premiers critères de réussite
Amazon ECS réalise un déploiement qui utilise des critères de réussite précoce une fois que toutes les conditions suivantes sont remplies :
-
Le nombre de tâches en cours d'exécution et saines sur la révision de service cible correspond au moins au pourcentage normal du nombre souhaité, arrondi au chiffre supérieur.
-
Le disjoncteur de déploiement ou une CloudWatch alarme ne déclenchent pas de retour en arrière.
-
Si vous utilisez la fonction de restauration par alarme, le temps de cuisson s'écoule.
-
Si le nettoyage des révisions du service source est
BLOCKINGactivé, les tâches relatives à la révision du service source sont nettoyées.
Amazon ECS lance au moins une tâche sur la révision du service cible et attend que celle-ci soit saine avant d'évaluer le pourcentage de qualité.
| Nombre souhaité | Pourcentage en bonne santé | Tâches saines requises (arrondies au chiffre supérieur) |
|---|---|---|
| 2 | 50 | 1 |
| 3 | 50 | 2 |
| 10 | 80 | 8 |
| 100 | 90 | 90 |
| 10 | 100 | 10 |
Configurer des critères de réussite précoces
Vous pouvez configurer les premiers critères de réussite pour un service nouveau ou existant à l'aide de la console ou du AWS CLI.
- Console
-
Dans le flux de création ou de mise à jour du service, sous Configuration du déploiement, activez les premiers critères de réussite. Entrez une valeur pour Healthy Percent et choisissez une option de nettoyage des révisions du service source, bloquée ou différée.
- AWS CLI
-
Définissez les
earlySuccessCriteriavaleurs du--deployment-configurationparamètre lorsque vous créez ou mettez à jour un service.aws ecs update-service \ --cluster MyCluster \ --service MyService \ --deployment-configuration '{ "strategy": "ROLLING", "earlySuccessCriteria": { "enable": true, "healthyPercent": 90, "sourceServiceRevisionCleanup": "BLOCKING" } }'
Ce que vous observez
-
DescribeServiceDeploymentsrenvoie l'état du déploiement et les critères de réussite précoce configurés. Pendant que le déploiement est en cours, le décompte des tâches est en temps réel. Une fois le déploiement terminé, le nombre de tâches est un instantané de la date à laquelle le déploiement s'est terminé. Cela s'applique à la fois àBLOCKINGetDEFERRED. -
Pour afficher le nombre de tâches en temps réel pour un service, utilisez
DescribeServices. -
Les déploiements qui se terminent en avance sont inclus lorsque vous filtrez
ListServiceDeploymentsselon un statut deSUCCESSFUL. -
Les événements et les AWS CloudTrail enregistrements de changement d'état du déploiement indiquent la norme au
SUCCESSFULcycleIN_PROGRESSde vie. Le critère de réussite précoce n'ajoute pas de nouveau statut de déploiement.
Considérations
Passez en revue les considérations suivantes avant d'utiliser les premiers critères de réussite.
- La surveillance de la restauration s'applique pendant le déploiement
-
Le disjoncteur de déploiement et l'annulation de l' CloudWatch alarme sont des mécanismes de détection des défaillances pour le déploiement. Ils peuvent annuler le déploiement pendant qu'il est en cours. Une fois qu'Amazon ECS a terminé le déploiement, ces mécanismes n'annulent plus le service, y compris pendant qu'Amazon ECS lance les tâches restantes par le biais d'une mise à l'échelle normale du service. Vous ne pouvez pas arrêter un déploiement une fois celui-ci terminé. Définissez le pourcentage sain sur un pourcentage auquel vous êtes certain que la révision du service cible est saine.
DEFERREDnettoyage-
Avec
DEFERRED, Amazon ECS nettoie les tâches relatives à la révision du service source une fois le déploiement terminé. Si les tâches de la révision du service source sont protégées, par une protection intégrée des tâches ou par un autre mécanisme, pendant plus de deux semaines après le déploiement, Amazon ECS ne peut pas les nettoyer. PermetDescribeServicesde surveiller les tâches relatives à la révision du service source.