4.51 Les différentes stratégies de mise à l'échelle pour les ASG
Pour piloter un Auto Scaling Group, AWS propose trois grandes familles de stratégies. La plus simple est le Target Tracking Scaling : on choisit une métrique (par exemple CPU moyen à 40 %) et l'ASG ajoute des instances dès qu'on dépasse la cible et en retire quand on passe en dessous, pour garder la métrique proche de la valeur souhaitée.
Ensuite vient le Step Scaling, qui s'appuie sur des alarmes CloudWatch. On configure par exemple « CPU > 70 % » comme déclencheur pour ajouter des instances, et « CPU < 30 % » comme déclencheur pour en retirer. Chaque palier peut ajouter ou retirer un nombre d'instances différent. Enfin, la stratégie Scheduled Scaling est planifiée : si on connaît les habitudes des utilisateurs (par exemple pic de trafic le vendredi soir 17h–20h), on programme un changement de capacité aux heures voulues.
Cooldown et lissage
- La période de stabilisation (cooldown) empêche l'ASG d'ajouter ou retirer une instance avant que les effets de la précédente opération soient pris en compte.
- Valeur par défaut : 300 secondes.
- On peut la surcharger par stratégie (par exemple 180 s) si les démarrages sont rapides.
- Si l'application crée beaucoup d'instances sur une courte période, augmenter le cooldown pour éviter de scaler à perte.
- Tant que le cooldown court, l'ASG ne déclenche pas de nouvelle mise à l'échelle.
Dans la console, sur la page de l'ASG (capacité min 1, désirée 2, max 3), on ajoute une stratégie de scaling. On choisit Target tracking scaling policy, on cible une moyenne d'utilisation CPU à 40 %, et on surcharge la stabilisation à 200 s. On crée la stratégie. Comme la CPU mesurée est très inférieure à 40 %, l'ASG considère qu'on a trop de capacité et déclenche une alarme basse qui fait passer la capacité de 2 à 1. Dans l'onglet Activity, on voit l'instance terminée, et dans Details, la capacité désirée actualisée à 1.
On crée ensuite une action planifiée baptisée mise-a-jour-vendredi : récurrence hebdomadaire, date future (pas antérieure à aujourd'hui), vendredi à minuit, qui force la capacité désirée à 10 machines. Ce Scheduled scaling est utile pour anticiper des pics récurrents. Important : un ASG peut terminer des instances de manière automatique au scale-in, c'est attendu — il faut bien tenir compte de cet effet sur l'état applicatif (sessions, jobs en cours) avant d'augmenter agressivement les politiques de réduction.