Créer des alarmes qui arrêtent, finissent, redémarrent ou récupèrent une instance - Amazon Elastic Compute Cloud

Créer des alarmes qui arrêtent, finissent, redémarrent ou récupèrent une instance

A l'aide des actions d'alarme Amazon CloudWatch, vous pouvez créer des alarmes qui arrêtent, mettent hors service, redémarrent ou récupèrent vos instances automatiquement. 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.

Le rôle lié à un service AWSServiceRoleForCloudWatchEvents permet à AWS d'exécuter des actions d'alarme en votre nom. La première fois que vous créez une alarme dans la AWS Management Console, la AWS CLI ou l'API IAM, CloudWatch crée automatiquement le rôle lié à un service.

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 peut vous aider à économiser de l'argent. La principale différence entre l'utilisation des actions d'alarme « stop » et « terminate » est que vous pouvez facilement démarrer une instance arrêtée si vous devez l'exécuter à nouveau ultérieurement, et que vous pouvez conserver les mêmes ID d'instance et volume racine. Cependant, vous ne pouvez pas démarrer une instance résiliée. Vous devez à la place lancer une nouvelle instance. Lorsqu'une instance est arrêtée ou résiliée, les données sur les volumes de stockage d'instances sont perdues.

Vous pouvez ajouter les actions d'arrêt, de terminaison, de redémarrage ou de récupération à toute alarme définie sur une métrique Amazon EC2 par instance, y compris les métriques de surveillance élémentaire ou détaillée fournies par Amazon CloudWatch (dans l'espace de noms AWS/EC2), ainsi que toute métrique personnalisée incluant la dimension InstanceId, aussi longtemps que sa valeur se réfère à une instance Amazon EC2 valide en cours d'exécution.

Prise en charge de la console

Vous pouvez créer des alarmes à l'aide de la console Amazon EC2 ou de la console CloudWatch. Les procédures décrites dans cette documentation utilisent la console Amazon EC2. Pour voir les procédures qui utilisent la console CloudWatch, consultez Création d'alarmes qui arrêtent, mettent hors service, redémarrent ou récupèrent une instance dans le Guide de l'utilisateur Amazon CloudWatch.

Autorisations

Vous devez disposer de l'autorisation iam:CreateServiceLinkedRole pour créer ou modifier une alarme exécutant des actions d'alarme EC2. Une fonction de service est un rôle IAM qu'un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer une fonction du service à partir d'IAM. Pour plus d'informations, consultez Création d'un rôle pour la délégation d'autorisations à un Service AWS dans le Guide de l'utilisateur IAM.

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

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 Amazon Simple Notification Service (Amazon SNS) de façon à recevoir un courrier électronique quand l'alarme est déclenchée.

Les instances qui utilisent un volume Amazon EBS 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. Les données stockées sur des volumes de stockage d'instance sont perdues lorsque l'instance est résiliée ou arrêtée.

Pour créer une alarme afin d'arrêter une instance inactive (console Amazon EC2)
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez l'instance et choisissez Actions, Monitor and troubleshoot (Surveiller et dépanner), Manage CloudWatch alarms (Gérer les alarmes CloudWatch).

    Vous pouvez également sélectionner le signe plus ( Plus sign. ) dans la colonne Alarm status (Statut de l'alarme) .

  4. Sur la page Manage CloudWatch alarms (Gérer les alarmes CloudWatch), procédez comme suit :

    1. Sélectionnez Create an alarm (Créer une alarme).

    2. Pour recevoir un e-mail lorsque l'alarme est déclenchée, sélectionnez une rubrique de Amazon SNS existante pour Alarm notification (Notification d'alarme). Vous devez d'abord créer une rubrique Amazon SNS à l'aide de la console Amazon SNS. Pour en savoir plus, consultez Utilisation d'Amazon SNS pour la messagerie d'application à personne (A2P) dans le Amazon Simple Notification Service Manuel du développeur.

    3. Activer l'option Alarm action (Action d'alarme), puis sélectionnez Stop (Arrêter).

    4. Pour Group samples by (Regrouper les échantillons par) et Type of data to sample (Type de données à échantillonner), sélectionnez une statistique et une métrique. Dans cet exemple, sélectionnez Average (Moyenne) et CPU utilization (Utilisation de l'UC).

    5. Pour Alarm When (Alarme Quand) et Percent (Pourcentage), spécifiez le seuil de la métrique. Dans cet exemple, spécifiez <= et 10 pour cent.

    6. Pour Consecutive period (Période consécutive) et Period (Période), spécifiez la période d'évaluation de l'alarme. Dans cet exemple, spécifiez 1 période consécutive de 5 Minutes.

    7. Amazon CloudWatch crée automatiquement un nom d'alarme pour vous. Pour modifier le nom, saisissez un nouveau nom dans Alarm name (Nom de l'alarme). Les noms d'alarme doivent contenir uniquement des caractères ASCII.

      Note

      Vous pouvez régler la configuration de l'alarme en fonction de vos propres besoins avant de créer l'alarme, ou pouvez la modifier ultérieurement. Les paramètres de configuration incluent ceux de métrique, de seuil, de durée, d'action et de notification. Cependant, après avoir créé une alarme, vous ne pourrez pas modifier son nom par la suite.

    8. Sélectionnez Créer.

Ajouter des actions de fin aux alarmes Amazon CloudWatch

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 finir une instance quand elle a terminé son travail et que vous n'avez pas besoin de l'instance à nouveau. Si vous souhaitez utiliser l'instance par la suite, vous devez arrêter l'instance, et non y mettre fin. Les données stockées sur des volumes de stockage d'instance sont perdues lorsque l'instance est résiliée. Pour plus d'informations sur l'activation et la désactivation de la protection contre la résiliation pour une instance, consultez Activer la protection de la résiliation.

Pour créer une alarme afin de résilier une instance inactive (console Amazon EC2)
  1. Ouvrez la console Amazon EC2 sur https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez l'instance et choisissez Actions, Monitor and troubleshoot (Surveiller et dépanner), Manage CloudWatch alarms (Gérer les alarmes CloudWatch).

    Vous pouvez également sélectionner le signe plus ( Plus sign. ) dans la colonne Alarm status (Statut de l'alarme) .

  4. Sur la page Manage CloudWatch alarms (Gérer les alarmes CloudWatch), procédez comme suit :

    1. Sélectionnez Create an alarm (Créer une alarme).

    2. Pour recevoir un e-mail lorsque l'alarme est déclenchée, sélectionnez une rubrique de Amazon SNS existante pour Alarm notification (Notification d'alarme). Vous devez d'abord créer une rubrique Amazon SNS à l'aide de la console Amazon SNS. Pour en savoir plus, consultez Utilisation d'Amazon SNS pour la messagerie d'application à personne (A2P) dans le Amazon Simple Notification Service Manuel du développeur.

    3. Activer l'option Alarm action (Action d'alarme), puis sélectionnez Terminate (Résilier).

    4. Pour Group samples by (Regrouper les échantillons par) et Type of data to sample (Type de données à échantillonner), sélectionnez une statistique et une métrique. Dans cet exemple, sélectionnez Average (Moyenne) et CPU utilization (Utilisation de l'UC).

    5. Pour Alarm When (Alarme Quand) et Percent (Pourcentage), spécifiez le seuil de la métrique. Dans cet exemple, spécifiez => et 10 pour cent.

    6. Pour Consecutive period (Période consécutive) et Period (Période), spécifiez la période d'évaluation de l'alarme. Dans cet exemple, spécifiez 24 périodes consécutives de 1 heure.

    7. Amazon CloudWatch crée automatiquement un nom d'alarme pour vous. Pour modifier le nom, saisissez un nouveau nom dans Alarm name (Nom de l'alarme). Les noms d'alarme doivent contenir uniquement des caractères ASCII.

      Note

      Vous pouvez régler la configuration de l'alarme en fonction de vos propres besoins avant de créer l'alarme, ou pouvez la modifier ultérieurement. Les paramètres de configuration incluent ceux de métrique, de seuil, de durée, d'action et de notification. Cependant, après avoir créé une alarme, vous ne pourrez pas modifier son nom par la suite.

    8. Sélectionnez Créer.

Ajouter des actions de redémarrage aux alarmes Amazon CloudWatch

Vous pouvez créer une alarme Amazon CloudWatch qui surveille une instance Amazon EC2 et la redémarre automatiquement. 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 période de facturation d'instance (avec frais d'une minute minimum), contrairement à l'arrêt, puis au redémarrage d'une instance. Les données des volumes de stockage d'instances sont conservées lorsque l'instance est redémarrée. Les volumes de stockage d'instances doivent être remontés dans le système de fichiers après un redémarrage. Pour de plus amples informations, veuillez consulter Redémarrer votre instance.

Important

Pour prévenir toute condition de concurrence entre les actions de redémarrage et de récupération, évitez de définir le même nombre de périodes 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 plus d'informations, consultez Évaluation d'une alarme dans le Guide de l'utilisateur Amazon CloudWatch.

Pour créer une alarme afin de redémarrer une instance (console Amazon EC2)
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez l'instance et choisissez Actions, Monitor and troubleshoot (Surveiller et dépanner), Manage CloudWatch alarms (Gérer les alarmes CloudWatch).

    Vous pouvez également sélectionner le signe plus ( Plus sign. ) dans la colonne Alarm status (Statut de l'alarme) .

  4. Sur la page Manage CloudWatch alarms (Gérer les alarmes CloudWatch), procédez comme suit :

    1. Sélectionnez Create an alarm (Créer une alarme).

    2. Pour recevoir un e-mail lorsque l'alarme est déclenchée, sélectionnez une rubrique de Amazon SNS existante pour Alarm notification (Notification d'alarme). Vous devez d'abord créer une rubrique Amazon SNS à l'aide de la console Amazon SNS. Pour en savoir plus, consultez Utilisation d'Amazon SNS pour la messagerie d'application à personne (A2P) dans le Amazon Simple Notification Service Manuel du développeur.

    3. Activer l'option Alarm action (Action d'alarme), puis sélectionnez Reboot (Redémarrer).

    4. Pour Group samples by (Regrouper les échantillons par) et Type of data to sample (Type de données à échantillonner), sélectionnez une statistique et une métrique. Dans cet exemple, sélectionnez Average (Moyenne) et Status check failed: instance (Échec du contrôle de statut : instance).

    5. Pour Consecutive period (Période consécutive) et Period (Période), spécifiez la période d'évaluation de l'alarme. Pour cet exemple, entrez 3 périodes consécutives de 5 minutes.

    6. Amazon CloudWatch crée automatiquement un nom d'alarme pour vous. Pour modifier le nom, saisissez un nouveau nom dans Alarm name (Nom de l'alarme). Les noms d'alarme doivent contenir uniquement des caractères ASCII.

    7. Sélectionnez Créer.

Ajouter des actions de récupération aux alarmes Amazon CloudWatch

Vous pouvez créer une alarme Amazon CloudWatch qui surveille une instance Amazon EC2. Si l'instance est dégradée suite à une défaillance du matériel sous-jacent ou à un problème nécessitant une intervention d'AWS pour sa résolution, vous pouvez créer récupérer automatiquement l'instance. 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.

CloudWatch vous empêche d'ajouter une action de récupération à une alarme figurant sur une instance qui ne prend pas en charge les actions de récupération.

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 reçoivent une notification par e-mail qui inclut le statut de la tentative de récupération et les éventuelles instructions supplémentaires. Vous remarquez un redémarrage d'instance sur l'instance récupérée.

Note

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

Les problèmes suivants peuvent entraîner l'échec des contrôles de statut de 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'opération de récupération est prise en charge uniquement sur les instances présentant certaines caractéristiques. Pour plus d'informations, veuillez consulter Récupération de votre instance.

Si votre instance a une adresse IP publique, elle la conserve après la récupération.

Important

Pour prévenir toute condition de concurrence entre les actions de redémarrage et de récupération, évitez de définir le même nombre de périodes 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. Pour plus d'informations, consultez Évaluation d'une alarme dans le Guide de l'utilisateur Amazon CloudWatch.

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

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez l'instance et choisissez Actions, Monitor and troubleshoot (Surveiller et dépanner), Manage CloudWatch alarms (Gérer les alarmes CloudWatch).

    Vous pouvez également sélectionner le signe plus ( Plus sign. ) dans la colonne Alarm status (Statut de l'alarme) .

  4. Sur la page Manage CloudWatch alarms (Gérer les alarmes CloudWatch), procédez comme suit :

    1. Sélectionnez Create an alarm (Créer une alarme).

    2. Pour recevoir un e-mail lorsque l'alarme est déclenchée, sélectionnez une rubrique de Amazon SNS existante pour Alarm notification (Notification d'alarme). Vous devez d'abord créer une rubrique Amazon SNS à l'aide de la console Amazon SNS. Pour en savoir plus, consultez Utilisation d'Amazon SNS pour la messagerie d'application à personne (A2P) dans le Amazon Simple Notification Service Manuel du développeur.

      Note

      Les utilisateurs doivent s'abonner à la rubrique SNS spécifiée pour recevoir des notifications par e-mail lorsque l'alarme se déclenche. L'Utilisateur racine d'un compte AWS reçoit toujours des notifications par e-mail lorsque des actions de récupération d'instance automatiques sont exécutées, même si aucune rubrique SNS n'est spécifiée ou si l'utilisateur root n'est pas abonné à la rubrique SNS spécifiée.

    3. Activer l'option Alarm action (Action d'alarme), puis sélectionnez Recover (Récupérer).

    4. Pour Group samples by (Regrouper les échantillons par) et Type of data to sample (Type de données à échantillonner), sélectionnez une statistique et une métrique. Dans cet exemple, sélectionnez Average (Moyenne) et Status check failed: system (Échec du contrôle de statut : système).

    5. Pour Consecutive period (Période consécutive) et Period (Période), spécifiez la période d'évaluation de l'alarme. Pour cet exemple, entrez 2 périodes consécutives de 5 minutes.

    6. Amazon CloudWatch crée automatiquement un nom d'alarme pour vous. Pour modifier le nom, saisissez un nouveau nom dans Alarm name (Nom de l'alarme). Les noms d'alarme doivent contenir uniquement des caractères ASCII.

    7. Sélectionnez Créer.

Utiliser la console Amazon CloudWatch pour afficher l'historique des alarmes et des actions

Utilisez la console Amazon CloudWatch pour afficher l'historique des alarmes et des actions. Amazon CloudWatch conserve l'historique des alarmes et des actions des deux dernières semaines.

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

  2. Dans le panneau de navigation, cliquez sur Alarms.

  3. Sélectionnez une alarme.

  4. L'onglet Détails affiche la transition d'état la plus récente, ainsi que les valeurs de date et de métrique.

  5. Choisissez l'onglet Historique pour afficher les entrées les plus récentes de l'historique.

Scénarios d'action d'alarme Amazon CloudWatch

Vous pouvez utiliser la console Amazon EC2 pour créer des actions d'alarme qui arrêtent ou finissent une instance Amazon EC2 quand certaines conditions sont satisfaites. Dans la capture d'écran suivante de la page de la console où vous avez défini les actions d'alarme, nous avons numéroté les paramètres. Nous avons également numéroté les paramètres des scénarios qui suivent afin de vous aider à créer les actions appropriées.

New console

              Page Gérer les alarmes CloudWatch.
Old console

              Boîte de dialogue de création d'alarme.

Scénario 1 : arrêter le développement inactif et tester les instances

Créez une alarme qui arrête une instance utilisée pour le développement ou le test de logiciels quand elle a été inactive pendant au moins une heure.

Paramètre Value

1

Arrêter

2

Maximum

3

CPU Utilization

4

<=

5

10 %

6

1

7

1 heure

Scénario 2 : arrêter les instances inactives

Créez une alarme qui arrête une instance et envoie un courrier électronique quand l'instance est inactive depuis 24 heures.

Paramètre Value

1

Arrêter et envoyer un e-mail

2

Moyenne

3

CPU Utilization

4

<=

5

5 %

6

24

7

1 heure

Scénario 3 : envoyer un e-mail relatif aux serveurs Web ayant un trafic inhabituellement élevé

Créez une alarme qui envoie un courrier électronique quand une instance dépasse 10 Go de trafic réseau sortant par jour.

Paramètre Value

1

E-mail

2

Somme

3

Réseau sortant

4

>

5

10 Go

6

24

7

1 heure

Scénario 4 : arrêter les serveurs Web avec un trafic inhabituellement élevé

Créez un alarme qui arrête une instance et envoie un SMS quand le trafic sortant excède 1 Go par heure.

Paramètre Value

1

Arrêter et envoyer un SMS

2

Somme

3

Réseau sortant

4

>

5

1 Go

6

1

7

1 heure

Scénario 5 : arrêter une instance déficiente

Créez une alarme qui arrête une instance après qu'elle a échoué à trois contrôles de statut consécutifs (exécutés à 5 minutes d'intervalle).

Paramètre Value

1

Arrêter

2

Moyenne

3

Échec du contrôle de du statut : Système

4

-

-

6

1

7

15 minutes

Scénario 6 : résilier les instances quand les tâches de traitement par batch sont terminés

Créez une alarme qui finit une instance exécutant des traitements par batch quand elle n'envoie plus de données de résultat.

Paramètre Value

1

Terminer

2

Maximum

3

Réseau sortant

4

<=

5

100,000 bytes

6

1

7

5 minutes