J'ai configuré une alarme Amazon CloudWatch pour déclencher ma stratégie Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling. Pourquoi ma stratégie Amazon EC2 Auto Scaling ne se déclenche-t-elle pas lorsque mon alarme CloudWatch change d'état ?

Lorsqu'une alarme CloudWatch change d'état (OK, ALARM ou INSUFFICIENT_DATA), elle appelle les actions configurées pour cet état. Dans le cas d'actions Amazon EC2 Auto Scaling, l'alarme continue d'appeler l'action configurée pour chaque période pendant laquelle elle reste dans le nouvel état.

Les principales raisons pour lesquelles le changement d'état d'une alarme CloudWatch ne déclenche pas une stratégie Amazon EC2 Auto Scaling sont les suivantes :

  • L'action Auto Scaling n'est pas activée pour l'alarme CloudWatch, ce qui empêche l'appel de la stratégie de dimensionnement.
  • Le groupe Auto Scaling contient des stratégies conflictuelles de dimensionnement simple ou de dimensionnement à étapes, de qui empêche le déclenchement de certaines stratégies.
  • Le groupe Auto Scaling a un cycle de vie incomplet, ce qui empêche l'application de stratégies de dimensionnement simple. Un hook de cycle de vie se termine lorsqu'il arrive à expiration ou lorsqu'un appel d'API CompleteLifecycleAction ou d'interface de ligne de commande AWS est effectué.

Avant de commencer, assurez-vous que votre alarme CloudWatch passe à l'état ALARM. Si la configuration d'une alarme ne correspond pas au seuil de la métrique qu'elle surveille, l'alarme risque de ne pas passer à l'état ALARM. Si une alarme ne change pas d'état, elle ne déclenche pas les stratégies Amazon EC2 Auto Scaling. Pour plus d'informations sur l'évaluation des alarmes CloudWatch, consultez Évaluation d'une alarme.

Assurez-vous que votre alarme CloudWatch passe à l'état ALARM au moment prévu en vérifiant la valeur de seuil de l'alarme. Augmentez ou diminuez le seuil de manière à ce qu'il corresponde à la valeur souhaitée. Vérifiez également la période et la période d'évaluation de l'alarme. Vous devrez peut-être modifier votre alarme et changer la période et la période d'évaluation pour déclencher votre stratégie Amazon EC2 Auto Scaling comme prévu. Pour plus d'informations sur la manière de vous assurer que votre alarme déclenche des actions, consultez Comment puis-je m'assurer que les alarmes CloudWatch déclenchent des actions ?

Important : Assurez-vous de ne pas avoir interrompu les processus de dimensionnement (AlarmNotification, Launch ou Terminate) pour votre groupe Amazon EC2 Auto Scaling. Assurez-vous de reprendre ces processus de dimensionnement s'ils ont été interrompus.

Vérifier si les actions Amazon EC2 Auto Scaling sont activées pour l'alarme CloudWatch

Pour qu'une alarme CloudWatch appelle une stratégie Amazon EC2 Auto Scaling, le paramètre ActionsEnabled doit être activé dans la configuration de l'alarme. Assurez-vous que le paramètre ActionsEnabled est défini sur true dans la configuration de l'alarme.

Remarque : Si vous créez ou mettez à jour votre alarme via la console CloudWatch, le paramètre ActionsEnabled est défini sur true par défaut.

Pour vérifier et activer les actions d'une alarme via l'interface de ligne de commande AWS :

1.    Vérifiez votre configuration actuelle à l'aide de describe-alarms comme suit : N'oubliez pas de remplacer myalarm par l'ID de votre alarme.

aws cloudwatch describe-alarms --alarm-names "myalarm" --query 'MetricAlarms[].ActionsEnabled'

2.    Vérifiez la sortie. Si le paramètre ActionsEnabled n'est pas défini sur true, activez les actions de l'alarme à l'aide de enable-alarm-actions comme suit : N'oubliez pas de remplacer myalarm par l'ID de votre alarme.

aws cloudwatch enable-alarm-actions --alarm-names myalarm

Pour vérifier et activer les actions d'une alarme via l'API CloudWatch :

1.    Vérifiez votre configuration actuelle à l'aide de DescribeAlarms.

2.    Si les actions ne sont pas activées pour votre alarme, activez-les à l'aide de EnableAlarmActions.

Vérifier les stratégies de dimensionnement simple et de dimensionnement à étapes pour votre groupe Amazon EC2 Auto Scaling

Pour vérifier les stratégies de dimensionnement de votre groupe via la console Amazon EC2 :

1.    Connectez-vous à la console Amazon EC2.

2.    Dans le volet de navigation, sous Auto Scaling, choisissez Auto Scaling Groups (Groupes Auto Scaling).

3.    Dans le volet de contenu, sélectionnez votre groupe Auto Scaling.

4.    Choisissez la vue Scaling Policies (Stratégies de dimensionnement).

5.    Notez le type de stratégie (dimensionnement à étapes ou dimensionnement simple).

Pour vérifier les stratégies de dimensionnement via l'interface de ligne de commande AWS, utilisez la commande describe-policies pour l'ID de votre groupe Auto Scaling avec le paramètre --policy-types. La sortie contient la liste des stratégies de chaque type (SimpleScaling ou StepScaling).

Pour vérifier les stratégies de dimensionnement via une API, utilisez l'appel DescribePolicies avec le paramètre PolicyTypes. La sortie contient la liste des stratégies de chaque type (SimpleScaling ou StepScaling).

Si une stratégie de dimensionnement simple est en vigueur, aucune autre stratégie de dimensionnement simple n'est appelée avant que les conditions suivantes ne soient remplies :

  • La stratégie de dimensionnement simple en vigueur est terminée.
  • Le temps de stabilisation pour la stratégie Amazon EC2 Auto Scaling est écoulé. Une stratégie de dimensionnement simple respecte le temps de stabilisation spécifié ou par défaut de la stratégie Amazon EC2 Auto Scaling.

Remarque : L'exécution d'une stratégie de dimensionnement simple n'a pas d'impact sur l'exécution des stratégies de dimensionnement à étapes. Assurez-vous que des stratégies contradictoires ne sont pas appliquées simultanément.

Vérifier les hooks de cycle de vie Auto Scaling dans votre stratégie Amazon EC2 Auto Scaling

Lorsqu'un hook de cycle de vie Auto Scaling est en vigueur, les stratégies de dimensionnement simple ne sont pas exécutées. Si vous utilisez une stratégie de dimensionnement simple dans votre groupe Auto Scaling, veillez à arrêter tout hook de cycle de vie.

Remarque : Les stratégies de dimensionnement à étapes se déclenchent même si un hook de cycle de vie est en cours.

Vérifiez que tous les hooks de cycle de vie sont terminés et présentent un résultat CONTINUE ou ABANDON lorsque leur délai d'attente global ou de pulsation a expiré.

Pour vérifier les actions de hook de cycle de vie via la console Amazon EC2 :

1.    Connectez-vous à la console Amazon EC2.

2.    Dans le volet de navigation, sous Auto Scaling, choisissez Auto Scaling Groups (Groupes Auto Scaling).

3.    Dans le volet de contenu, sélectionnez votre groupe Auto Scaling.

4.    Choisissez la vue Historique des activités.

5.    Vérifiez l'activité des actions de hook de cycle de vie en cours.

6.    Pour connaître la procédure d'arrêt d'un hook de cycle de vie, consultez Exécuter le hook du cycle de vie. Pour exécuter les actions d'un hook de cycle de vie via l'interface de ligne de commande AWS, utilisez la commande complete-lifecycle-action. Pour exécuter les actions d'un hook de cycle de vie via une API, effectuez un appel CompleteLifecycleAction.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 26/12/2018