Création d'alarmes qui arrêtent, mettent hors service, redémarrent ou récupèrent une instance EC2 - Amazon CloudWatch

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.

Création d'alarmes qui arrêtent, mettent hors service, redémarrent ou récupèrent une instance EC2

À l'aide des actions CloudWatch d'alarme Amazon, vous pouvez créer des alarmes qui arrêtent, mettent fin, redémarrent ou restaurent automatiquement vos instances EC2. Vous pouvez utiliser les actions d’arrêt ou de terminaison pour vous permettre d’économiser de l’argent quand vous n’avez plus besoin qu’une instance s’exécute. De même, les actions de redémarrage et de récupération vous permettent de redémarrer automatiquement ces instances ou de les récupérer sur un nouveau matériel en cas de déficience du nouveau matériel.

Il existe un certain nombre de scénarios dans lesquels vous pourriez vouloir arrêter ou terminer automatiquement votre instance. Par exemple, vous pourriez avoir des instances dédiées aux tâches de traitement différé de la paie ou de calcul scientifique qui s’exécutent pendant une durée, puis achèvent leur travail. Plutôt que de laisser ces instances demeurer inactives (et d'accumuler les frais), vous pouvez les arrêter ou les terminer, ce qui vous aide à économiser de l'argent. La principale différence entre l'utilisation des actions d'alarme d'arrêt ou de fin est que vous pouvez facilement redémarrer une instance arrêtée si vous devez l'exécuter à nouveau ultérieurement. Vous pouvez conserver également les mêmes ID d'instance et volume racine. Cependant, vous ne pouvez pas redémarrer une instance terminée. Vous devez à la place lancer une nouvelle instance.

Vous pouvez ajouter les actions d'arrêt, de résiliation ou de redémarrage à toute alarme définie sur une métrique Amazon EC2 par instance, y compris les mesures de surveillance de base et détaillées fournies par Amazon CloudWatch (dans l'espace de noms AWS/EC2), en plus des mesures personnalisées incluant la dimension « InstanceId = », à condition que la InstanceId valeur fasse référence à une instance Amazon EC2 en cours d'exécution valide. Vous pouvez également ajouter l'action de restauration à des alarmes définies sur n'importe quelle mesure Amazon EC2 par instance, à l'exception de StatusCheckFailed_Instance.

Important

Les alarmes configurées sur les métriques Amazon EC2 peuvent passer temporairement à l'état INSUFICIENT_DATA s'il manque des points de données métriques. Cela est rare, mais cela peut se produire lorsque le reporting des métriques est interrompu, même lorsque l'instance Amazon EC2 est saine. Pour les alarmes relatives aux métriques Amazon EC2 configurées pour effectuer des actions d'arrêt, d'arrêt, de redémarrage ou de restauration, nous vous recommandons de configurer ces alarmes de manière à traiter les données manquantes comme missing telles et à ce que ces alarmes ne se déclenchent que lorsqu'elles sont en état ALARM.

Pour plus d'informations sur la manière dont vous pouvez CloudWatch configurer les mesures manquantes pour lesquelles des alarmes sont définies, consultezConfiguration de la façon dont les CloudWatch alarmes traitent les données manquantes.

Pour configurer une action CloudWatch d'alarme capable de redémarrer, d'arrêter ou de mettre fin à une instance, vous devez utiliser un rôle IAM lié à un service,. AWSServiceRoleForCloudWatchEvents Le rôle AWSServiceRoleForCloudWatchEvents IAM permet d' AWS effectuer des actions d'alarme en votre nom.

Pour créer le rôle lié au service pour CloudWatch Events, utilisez la commande suivante :

aws iam create-service-linked-role --aws-service-name events.amazonaws.com
Prise en charge de la console

Vous pouvez créer des alarmes à l'aide de la CloudWatch console ou de la console Amazon EC2. Les procédures décrites dans cette documentation utilisent la CloudWatch console. Pour les procédures qui utilisent la console Amazon EC2, consultez la section Créer des alarmes qui arrêtent, interrompent, redémarrent ou restaurent une instance dans le guide de l'utilisateur Amazon EC2.

Autorisations

Si vous utilisez un compte AWS Identity and Access Management (IAM) pour créer ou modifier une alarme qui exécute des actions EC2 ou des actions Systems Manager OpsItem , vous devez en avoir l'iam:CreateServiceLinkedRoleautorisation.

Ajouter des actions d'arrêt aux CloudWatch alarmes Amazon

Vous pouvez créer une alarme qui arrête une instance Amazon EC2 quand un certain seuil a été atteint. Par exemple, vous pouvez exécuter des instances de développement ou de test, et, à l’occasion, oublier de les fermer. Vous pouvez créer une alarme qui est déclenchée quand le pourcentage moyen d’utilisation de l’UC a été inférieur à 10 % pendant 24 heures, indiquant que l’instance est inactive et n’est plus en cours d’utilisation. Vous pouvez ajuster le seuil, la durée et la période en fonction de vos besoins. De plus, vous pouvez ajouter une notification SNS de façon à recevoir un e-mail quand l'alarme est déclenchée.

Les instances Amazon EC2 qui utilisent un volume Amazon Elastic Block Store comme périphérique racine peuvent être arrêtées ou résiliées, tandis que celles qui recourent au stockage d'instance comme périphérique racine peuvent uniquement être résiliées.

Pour créer une alarme afin d'arrêter une instance inactive à l'aide de la CloudWatch console Amazon
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, choisissez Alarms (alertes), All alarms (Toutes les alertes).

  3. Choisissez Create alarm (Créer une alerte).

  4. Choisissez Select Metric (Sélectionner une métrique).

  5. Pour les AWS namespaces (Espaces de nom ), choisissez EC2.

  6. Procédez comme suit :

    1. Sélectionnez Per-instance Metrics (Métriques par instance).

    2. Cochez la case de la ligne avec la bonne instance et la métrique CPUUtilization.

    3. Sélectionnez l'onglet Graphed metrics (Graphiques des métriques).

    4. Pour les statistiques, choisissez Average (Moyenne).

    5. Choisissez une période (par exemple, 1 Hour).

    6. Choisissez Select metric (Sélectionner une métrique).

  7. Pour l'étape Define Alarm (Définir une alarme), procédez comme suit :

    1. Sous Conditions, choisissez Static (Statique).

    2. Sous Whenever CPUUtilization is (chaque fois que CPUUtilization est), sélectionnez Lower (Plus bas).

    3. Pour than (que), saisissez 10.

    4. Choisissez Suivant.

    5. Sous Notification, pour Send notification to (Envoyer une notification à), choisissez une rubrique SNS existante ou créez-en une.

      Pour créer une rubrique SNS, choisissez New list (Nouvelle liste). Pour Send a notification to (Envoyer une notification à), saisissez un nom pour la rubrique SNS (par exemple, Stop_EC2_Instance). Pour Email list (Liste des adresses e-mail), tapez une liste séparée par des virgules des adresses e-mail pour être informé lorsque l'alarme passe à l'état ALARM. Chaque adresse e-mail reçoit un e-mail de confirmation d'abonnement à la rubrique. Vous devez confirmer l'abonnement avant de pouvoir recevoir des notifications à une adresse e-mail.

    6. Choisissez Add EC2 Action (Ajouter une action EC2).

    7. Pour Alarm state trigger (Déclencheur de l'état d'alarme), choisissez In alarm (En alarme). Pour Take the following action (Effectuer l'action suivante), choisissez Stop this instance (Arrêter cette instance).

    8. Choisissez Suivant.

    9. Saisissez un nom et une description pour l'alerte. Le nom ne doit contenir que des caractères ASCII. Sélectionnez ensuite Next (Suivant).

    10. Dans Preview and create (Prévisualiser et créer), confirmez que les informations et les conditions sont telles que vous les voulez, puis choisissez Create alarm (Créer une alerte).

Ajouter des actions de résiliation aux CloudWatch alarmes Amazon

Vous pouvez créer une alarme qui finit automatiquement une instance EC2 quand un certain seuil a été atteint (aussi longtemps que la protection de fin n’est pas activée pour l’instance). Par exemple, il se peut que vous vouliez mettre hors service une instance quand elle a terminé son travail et que vous n'en avez plus besoin. Si vous souhaitez utiliser l’instance par la suite, vous devez arrêter l’instance, et non y mettre fin. Pour plus d'informations sur l'activation et la désactivation de la protection contre la résiliation pour une instance, consultez la section Activation de la protection contre la résiliation pour une instance dans le guide de l'utilisateur Amazon EC2.

Pour créer une alarme afin de mettre fin à une instance inactive à l'aide de la CloudWatch console Amazon
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, choisissez Alarms (Alarmes), puis Create Alarm (Créer une alarme).

  3. Pour l'étape Select Metric (Sélectionner une métrique), procédez comme suit :

    1. Sous EC2 Metrics (Métriques EC2), choisissez Per-Instance Metrics (Métriques par instance).

    2. Sélectionnez la ligne avec l'instance et la métrique CPUUtilization.

    3. Pour les statistiques, choisissez Average (Moyenne).

    4. Choisissez une période (par exemple, 1 Hour).

    5. Choisissez Next (Suivant).

  4. Pour l'étape Define Alarm (Définir une alarme), procédez comme suit :

    1. Sous Alarm Threshold (Seuil de l'alarme), tapez un nom unique pour l'alarme (par exemple, « Mettre hors service l'instance EC2 ») et une description de l'alarme (par exemple, « Mettre hors service l'instance EC2 quand l'UC est inactive trop longtemps »). Les noms d’alarme doivent contenir uniquement des caractères ASCII.

    2. Sous Whenever, pour is, choisissez < et entrez 10. Pour for, tapez 24 périodes consécutives.

      Une représentation graphique du seuil apparaît sous Alarm Preview (Aperçu de l'alarme).

    3. Sous Notification, pour Send notification to (Envoyer une notification à), choisissez une rubrique SNS existante ou créez-en une.

      Pour créer une rubrique SNS, choisissez New list (Nouvelle liste). Pour Send a notification to (Envoyer une notification à), saisissez un nom pour la rubrique SNS (par exemple, Terminate_EC2_Instance). Pour Email list (Liste des adresses e-mail), tapez une liste séparée par des virgules des adresses e-mail pour être informé lorsque l'alarme passe à l'état ALARM. Chaque adresse e-mail reçoit un e-mail de confirmation d'abonnement à la rubrique. Vous devez confirmer l'abonnement avant de pouvoir recevoir des notifications à une adresse e-mail.

    4. Choisissez EC2 Action (Action EC2).

    5. Pour Whenever this alarm (Chaque fois que cette alarme), sélectionnez State is ALARM (L'état est ALARME). Pour Take this action (Effectuer cette action), choisissez Terminate this instance (Mettre fin à cette instance).

    6. Sélectionnez Create Alarm (Créer une alerte).

Ajouter des actions de redémarrage aux CloudWatch alarmes Amazon

Vous pouvez créer une CloudWatch alarme Amazon qui surveille une instance Amazon EC2 et redémarre automatiquement l'instance. L’action d’alarme de redémarrage est recommandée pour les défaillances de vérification de l’état d’instance (par opposition à l’action d’alarme de récupération, qui convient aux défaillances de la vérification de l’état du système). Le redémarrage d’une instance est similaire à celui d’un système d’exploitation. Dans la plupart des cas, il suffit de quelques minutes pour redémarrer votre instance. Lorsque vous redémarrez une instance, elle reste sur le même hôte physique, ce qui signifie qu’elle conserve son nom DNS public, son adresse IP privée et toutes les données se trouvant sur ses volumes de stockage d’instance.

Le redémarrage d'une instance ne déclenche pas de nouvelle heure de facturation d'instance, contrairement à l'arrêt, puis au redémarrage d'une instance. Pour plus d'informations sur le redémarrage d'une instance, consultez Redémarrer votre instance dans le guide de l'utilisateur Amazon EC2.

Important

Pour prévenir toute condition de concurrence entre les actions de redémarrage et de récupération, évitez de définir la même période d'évaluation pour une alarme de redémarrage et une alarme de récupération. Nous vous recommandons de définir des alarmes de redémarrage sur trois périodes d’évaluation d’une minute chacune.

Pour créer une alarme afin de redémarrer une instance à l'aide de la CloudWatch console Amazon
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, choisissez Alarms (Alarmes), puis Create Alarm (Créer une alarme).

  3. Pour l'étape Select Metric (Sélectionner une métrique), procédez comme suit :

    1. Sous EC2 Metrics (Métriques EC2), choisissez Per-Instance Metrics (Métriques par instance).

    2. Sélectionnez la ligne contenant l'instance et la métrique StatusCheckFailed_Instance.

    3. Pour la statistique, choisissez Minimum.

    4. Choisissez une période (par exemple, 1 Minute).

    5. Choisissez Next (Suivant).

  4. Pour l'étape Define Alarm (Définir une alarme), procédez comme suit :

    1. Sous Alarm Threshold (Seuil d'alarme), tapez un nom unique pour l'alarme (par exemple, « Redémarrer l'instance EC2 ») et une description de l'alarme (par exemple, « Redémarrer instance EC2 en cas d'échec de la vérification de l'état »). Les noms d’alarme doivent contenir uniquement des caractères ASCII.

    2. Sous Whenever, pour is, choisissez > et tapez 0. Pour for, tapez 3 périodes consécutives.

      Une représentation graphique du seuil apparaît sous Alarm Preview (Aperçu de l'alarme).

    3. Sous Notification, pour Send notification to (Envoyer une notification à), choisissez une rubrique SNS existante ou créez-en une.

      Pour créer une rubrique SNS, choisissez New list (Nouvelle liste). Pour Send a notification to (Envoyer une notification à), saisissez un nom pour la rubrique SNS (par exemple, Reboot_EC2_Instance). Pour Email list (Liste des adresses e-mail), tapez une liste séparée par des virgules des adresses e-mail pour être informé lorsque l'alarme passe à l'état ALARM. Chaque adresse e-mail reçoit un e-mail de confirmation d'abonnement à la rubrique. Vous devez confirmer l'abonnement avant de pouvoir recevoir des notifications à une adresse e-mail.

    4. Choisissez EC2 Action (Action EC2).

    5. Pour Whenever this alarm (Chaque fois que cette alarme), sélectionnez State is ALARM (L'état est ALARME). Pour Take this action (Effectuer cette action), choisissez Reboot this instance (Redémarrer cette instance).

    6. Sélectionnez Create Alarm (Créer une alerte).

Ajouter des actions de restauration aux CloudWatch alarmes Amazon

Vous pouvez créer une CloudWatch alarme Amazon qui surveille une instance Amazon EC2 et la récupère automatiquement si elle est endommagée en raison d'une défaillance matérielle sous-jacente ou d'un problème nécessitant une AWS intervention pour être réparée. Les instances mises hors service ne peuvent pas être récupérées. Une instance récupérée est identique à l'instance d'origine, y compris pour l'ID d'instance, les adresses IP privées, les adresses IP Elastic et toutes les métadonnées de l'instance.

Lorsque l'alarme StatusCheckFailed_System est déclenchée et que l'action de récupération est initiée, vous en êtes averti par la rubrique Amazon SNS que vous avez choisie quand vous avez créé l'alarme et associé l'action de récupération. Lors de la récupération d’instance, l’instance est migrée pendant un redémarrage d’instance, et toutes les données en mémoire sont perdues. Lorsque le processus est terminé, les informations sont publiées dans la rubrique SNS que vous avez configurée pour l'alarme. Toutes les personnes abonnées à cette rubrique SNS recevront une notification par e-mail qui inclut le statut de la tentative de récupération et les éventuelles instructions supplémentaires. Vous remarquerez un redémarrage d'instance sur l'instance récupérée.

L’action de récupération ne peut être utilisée qu’avec StatusCheckFailed_System, pas avec StatusCheckFailed_Instance.

Voici quelques exemples de problèmes entraînant l'échec des contrôles d'état du système :

  • Perte de connectivité réseau

  • Perte d’alimentation système

  • Problèmes logiciels sur un hôte physique

  • Problèmes matériels sur un hôte physique ayant un impact sur l’accessibilité du réseau

L'action de récupération n'est prise en charge que sur certains types d'instance. Pour plus d'informations sur les types d'instance pris en charge et les autres exigences, consultez Récupérer votre instance et Exigences.

Important

Pour prévenir toute condition de concurrence entre les actions de redémarrage et de récupération, évitez de définir la même période d'évaluation pour une alarme de redémarrage et une alarme de récupération. Nous vous recommandons de définir des alarmes de récupération sur deux périodes d'évaluation d'une minute chacune et des alarmes de redémarrage sur trois périodes d'évaluation d'une minute chacune.

Pour créer une alarme afin de récupérer une instance à l'aide de la CloudWatch console Amazon
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, choisissez Alarms (Alarmes), puis Create Alarm (Créer une alarme).

  3. Pour l'étape Select Metric (Sélectionner une métrique), procédez comme suit :

    1. Sous EC2 Metrics (Métriques EC2), choisissez Per-Instance Metrics (Métriques par instance).

    2. Sélectionnez la ligne contenant l'instance et la métrique StatusCheckFailed_System.

    3. Pour la statistique, choisissez Minimum.

    4. Choisissez une période (par exemple, 1 Minute).

      Important

      Pour prévenir toute condition de concurrence entre les actions de redémarrage et de récupération, évitez de définir la même période d'évaluation pour une alarme de redémarrage et une alarme de récupération. Nous vous recommandons de définir des alarmes de récupération sur deux périodes d’évaluation d’une minute chacune.

    5. Choisissez Next (Suivant).

  4. Pour l'étape Define Alarm (Définir une alarme), procédez comme suit :

    1. Sous Alarm Threshold (Seuil d'alarme), tapez un nom unique pour l'alarme (par exemple, « Récupérer l'instance EC2 ») et une description de l'alarme (par exemple, « Récupérer l'instance EC2 en cas d'échec de la vérification de l'état »). Les noms d’alarme doivent contenir uniquement des caractères ASCII.

    2. Sous Whenever, pour is, choisissez > et tapez 0. Pour for, tapez 2 périodes consécutives.

    3. Sous Notification, pour Send notification to (Envoyer une notification à), choisissez une rubrique SNS existante ou créez-en une.

      Pour créer une rubrique SNS, choisissez New list (Nouvelle liste). Pour Send a notification to (Envoyer une notification à), saisissez un nom pour la rubrique SNS (par exemple, Recover_EC2_Instance). Pour Email list (Liste des adresses e-mail), tapez une liste séparée par des virgules des adresses e-mail pour être informé lorsque l'alarme passe à l'état ALARM. Chaque adresse e-mail reçoit un e-mail de confirmation d'abonnement à la rubrique. Vous devez confirmer l'abonnement avant de pouvoir recevoir des notifications à une adresse e-mail.

    4. Choisissez EC2 Action (Action EC2).

    5. Pour Whenever this alarm (Chaque fois que cette alarme), sélectionnez State is ALARM (L'état est ALARME). Pour Take this action (Effectuer cette action), choisissez Recover this instance (Récupérer cette instance).

    6. Sélectionnez Create Alarm (Créer une alerte).

Affichage de l'historique des actions et des alarmes déclenchées

Vous pouvez consulter l'historique des alarmes et des actions dans la CloudWatch console Amazon. Amazon CloudWatch conserve l'historique des alertes et des actions des 30 derniers jours.

Pour afficher l'historique des actions et des alarmes déclenchées
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, sélectionnez Alarms (Alarmes), puis sélectionnez une alarme.

  3. Pour afficher la transition d'état la plus récente, ainsi que les valeurs de date et de métrique, choisissez Details (Détails).

  4. Pour afficher les entrées les plus récentes de l'historique, choisissez History (Historique).