1 minute
lire
Depuis le 19 Janvier 2024, une nouvelle fonctionnalité est disponible sur ECS : le drainage des instances de façons automatisé. Cette fonctionnalité permet l'arrêt de manière sécurisée et planifié des charges de travail (conteneurs) déployées sur les instances EC2.
Pour rappel, AWS ECS propose deux modes d'exécution des tâches de conteneurs : Fargate ou EC2.
- Fargate permet d'exécuter des applications conteneurisées sans avoir à gérer un cluster d'instances.
- En déployant directement sur des instances EC2, vous avez plus de contrôle sur l'infrastructure, mais cela implique de gérer toutes les opérations de maintenance telles que la configuration de l'instance, les MAJ de sécurité, etc..
Le drainage managé des instances EC2
Cette fonctionnalité facilite l'arrêt progressif des charges de travail déployées sur les instances EC2 en arrêtant et en reprogrammant en toute sécurité les charges de travail sur d'autres instances.
Cela permet donc de simplifier les opérations de maintenance de l'infrastructure, tels que le déploiement d'une nouvelle version d’AMI . Ce drainage automatisé couvre de nombreux cas d'usage :
- Lors des mises à l'échelle (scale-in, suppression d'instances)
- Pour la mise en œuvre des durées de vie maximale de l'instance
- Lors des mises à jour de stack dans CloudFormation
- Pour les Spot instances :
- Pendant les interruptions
- Pendant le rééquilibrage des capacités
Pour bénéficier de cette nouvelle fonctionnalité:
- Pour les nouveaux fournisseurs de capacités : rien à faire cela sera activé par défaut.
- Pour les fournisseurs de capacités existants, il doit être activé :
- Manuellement dans la console AWS (flag)
- En utilisant la ligne de commande
Ou, comme nos clients qui gèrent efficacement leur infrastructure avec Terraform :
- Mettre à jour le provider AWS pour avoir la dernière version
- Activez la fonctionnalité dans votre ressource aws_ecs_capacity_provider:
- Fixer l'attribut managed_draining à "ENABLED"
Terraform registry : ecs capacity provider
Le drainage managé était une fonctionnalité très attendue qui manquait à cet orchestrateur. Auparavant, si on voulait un drainage en douceur, il fallait mettre en œuvre une "usine à gaz" basé sur l'écoute évènements sur le scaling (mise à l'échelle) avec des fonctions lambda pour vérifier certains états et déclencher des actions en conséquence.
Source : Amazon ECS : vidange des instances gérées