Lorsque la demande en ressources diminue, votre groupe de mise à l'échelle déclenche un événement de mise à l'échelle descendante selon vos politiques afin de réduire automatiquement le nombre d'instances et d'éviter le gaspillage de ressources. Ce guide vous accompagne dans la mise en œuvre de bonnes pratiques pour une mise à l'échelle descendante sans interruption.
Processus de mise à l'échelle descendante
Pendant un événement de mise à l'échelle descendante, le groupe de mise à l'échelle sélectionne les instances à supprimer en fonction des politiques configurées, puis les récupère selon le mode de récupération défini. Vous pouvez configurer des actions à différentes étapes du processus, comme illustré dans le diagramme de flux ci-dessous :
Déclencher une mise à l'échelle descendante
Contrôler les limites de la mise à l'échelle descendante
-
Méthode : Définissez le paramètre Minimum Number of Instances pour le groupe de mise à l'échelle.
Le nombre minimal d'instances constitue la limite inférieure de la mise à l'échelle descendante. Si une opération de réduction devait faire passer le nombre d'instances en dessous de ce seuil, l'activité est rejetée. Cela garantit que votre groupe conserve une capacité suffisante pour assurer votre charge de travail de base.
Procédure : Pour plus d'informations, consultez la rubrique Gérer les groupes de mise à l'échelle.
Mettre à l'échelle par niveaux de charge
-
Méthode : Créez une règle de mise à l'échelle par paliers pour le groupe de mise à l'échelle.
Une règle par paliers réduit progressivement la capacité en fonction des niveaux de charge, évitant ainsi les interruptions de service liées à la suppression simultanée d'un trop grand nombre d'instances. Par exemple, vous pouvez concevoir un plan de mise à l'échelle descendante basé sur l'utilisation moyenne du processeur de votre groupe :
Supprimez 5 instances lorsque l'utilisation moyenne du processeur est inférieure à 20 %.
Supprimez 3 instances lorsque l'utilisation moyenne du processeur est inférieure à 30 %.
Supprimez 1 instance lorsque l'utilisation moyenne du processeur est inférieure à 50 %.
Pour mettre en œuvre cette logique, configurez la règle par paliers suivante. Dans la boîte de dialogue Create Scaling Rule, définissez Monitoring Type sur System Monitoring. Pour Execution Time, sélectionnez la tâche d'alerte Low CPU Utilization (l'utilisation moyenne du processeur via l'agent est inférieure ou égale à 50 % pendant 3 périodes consécutives). Configurez la règle pour supprimer les instances par paliers : supprimez 1 instance si l'utilisation se situe entre 30 % et 50 %, 3 instances si elle se situe entre 20 % et 30 %, et 5 instances si elle est inférieure à 20 %. Définissez le paramètre instance warmup sur 300 secondes.
Procédure : Pour plus d'informations, consultez la rubrique Configurer des règles de mise à l'échelle.
Contrôler la vitesse et la fréquence de la mise à l'échelle descendante
Définissez une période de temporisation et la fréquence de déclenchement des tâches d'alerte afin d'éviter les perturbations de service causées par des opérations de mise à l'échelle descendante trop rapides.
Personnaliser les déclencheurs de mise à l'échelle descendante
Adaptez le moment du déclenchement de la mise à l'échelle descendante à vos besoins grâce aux méthodes suivantes.
Sélectionner les instances à supprimer lors de la mise à l'échelle descendante
Par défaut, un groupe de mise à l'échelle supprime les instances en fonction de la priorité des vSwitch que vous avez configurée. Vous pouvez modifier la politique de mise à l'échelle descendante pour sélectionner les instances à supprimer selon vos besoins.
Si vous souhaitez protéger une instance critique contre une suppression accidentelle lors d'une mise à l'échelle descendante, activez l'état Protégé. Pour obtenir des instructions détaillées, consultez la rubrique Ajouter ou retirer manuellement une instance de l'état Protégé.
Les groupes de mise à l'échelle basés sur Elastic Container Instance (ECI) ne permettent pas de configurer une Scaling Policy ni une Instance Removing Policy. Par défaut, un groupe ECI sélectionne d'abord l'ensemble d'instances créées par la configuration de mise à l'échelle la plus ancienne, puis supprime les instances les plus anciennes au sein de cet ensemble.
Solution 1 : Politique de distribution équilibrée
Cette solution privilégie la reprise après sinistre en maintenant une répartition homogène des instances entre les zones après la mise à l'échelle descendante, contribuant ainsi à atteindre une haute disponibilité multi-zones.
-
Méthode : Définissez la Scaling Policy sur Balanced Distribution Policy.
Avec cette politique, le groupe de mise à l'échelle privilégie la suppression des instances situées dans la zone qui en contient le plus. Si plusieurs instances sont éligibles à la suppression, le groupe applique ensuite la Instance Removing Policy configurée pour effectuer la sélection finale, par exemple en supprimant les instances les plus anciennes ou les plus récentes, ou celles issues de la configuration de mise à l'échelle la plus ancienne.
Procédure : Pour plus d'informations, consultez la rubrique Scénario 2 : Scaling Policy (Balanced Distribution Policy) + Scale-In Policy.
Solution 2 : Politique d'optimisation des coûts
Cette solution privilégie la maîtrise des coûts en supprimant en priorité les instances dont le prix unitaire est le plus élevé.
-
Méthode : Définissez la Scaling Policy sur Cost Optimization Policy.
Avec cette politique, le groupe de mise à l'échelle privilégie la suppression des instances dont le prix unitaire par vCPU est le plus élevé. Si plusieurs instances partagent le même prix maximal, le groupe applique ensuite la Instance Removing Policy configurée pour effectuer la sélection finale, par exemple en supprimant les instances les plus anciennes ou les plus récentes, ou celles issues de la configuration de mise à l'échelle la plus ancienne.
Procédure : Pour plus d'informations, consultez la rubrique Scénario 3 : Scaling Policy (Cost Optimization Policy) + Scale-In Policy.
Cette solution vous permet également de configurer le ratio entre les instances préemptibles et les instances à paiement à l'utilisation au sein du groupe de mise à l'échelle afin d'équilibrer les coûts.
Solution 3 : Politique de combinaison personnalisée
Vous pouvez combiner les stratégies des solutions 1 et 2 pour répondre à vos exigences spécifiques.
-
Méthode : Définissez la Scaling Policy sur Custom Combination Policy.
Cette politique vous permet d'ajuster le ratio entre les instances à paiement à l'utilisation et les instances préemptibles, d'équilibrer la capacité entre les zones et de définir des stratégies de distribution de capacité distinctes pour chaque type d'instance.
Procédure : Pour plus d'informations, consultez la rubrique Configurer une politique de terminaison d'instance pour un groupe de mise à l'échelle.
Solution 4 : Politique de mise à l'échelle descendante personnalisée
Si les politiques de mise à l'échelle descendante intégrées ne répondent pas à vos besoins, créez une politique personnalisée à l'aide de Function Compute.
-
Méthode : Définissez la Instance Removing Policy sur Custom Policy.
Définissez votre logique de mise à l'échelle descendante personnalisée dans Function Compute. À chaque déclenchement d'un événement de mise à l'échelle descendante, votre fonction est invoquée et vous pouvez spécifier quelles instances supprimer et lesquelles conserver.
Procédure : Pour plus d'informations, consultez la rubrique Personnaliser une politique de suppression d'instance ECS à l'aide d'une fonction.
Mise à l'échelle descendante sans interruption
La mise à l'échelle descendante sans interruption suspend la suppression des instances qui traitent encore des tâches, leur permettant de terminer leur travail avant d'être libérées. Cela évite les interruptions de service.
-
Méthode : Configurez un Lifecycle Hook.
Un hook de cycle de vie suspend la suppression d'instance pendant la mise à l'échelle descendante, vous permettant d'exécuter des actions personnalisées. Vous pouvez également appeler une API pour prolonger le temps d'attente du hook, offrant ainsi à l'instance le temps nécessaire pour achever ses tâches avant sa terminaison.
Procédure : Pour plus d'informations, consultez les rubriques Présentation des hooks de cycle de vie et Prolonger le temps d'attente d'un hook de cycle de vie.
La suppression, la suppression définitive ou l'arrêt direct d'instances ne déclenche pas les hooks de cycle de vie. Cette méthode ne s'applique donc pas dans ces cas de figure.
Récupération des instances supprimées
Par défaut, un groupe de mise à l'échelle utilise le mode Force Release pour récupérer les instances, ce qui libère immédiatement les instances supprimées. Pour modifier le Instance Reclaim Mode, consultez la rubrique Gérer les groupes de mise à l'échelle.