Comment désactiver automatiquement les instances AWS EC2

0
145

Un cas d'utilisation courant pour les instances à la demande et ponctuelles EC2 utilise des machines puissantes à court terme, un -hors tâches. Cependant, si vous deviez laisser ces machines fonctionner par accident, vous pourriez vous retrouver avec une facture très élevée. Heureusement, AWS dispose d'outils pour empêcher cela.

Prévention du débordement du portefeuille

Il s'agit d'un cas de “débordement de cloud, ” où certains des services les plus évolutifs que vous exécutez sont dangereux pour votre portefeuille, et s'ils ne sont pas configurés correctement, peuvent finir par vous coûter des ordres de grandeur plus d'argent que prévu.

Par exemple, disons que vous devez effectuer une tâche à court terme et urgente sur une machine extrêmement puissante, comme exécuter une construction de base de code intensive sur une machine de travail à 64 cœurs ou effectuer un rendu 3D sur une machine avec plusieurs GPU. Dans tous les cas, les tarifs horaires de ces machines sont chers, de l'ordre de plusieurs milliers de dollars par mois. AWS dispose de machines informatiques accélérées qui vous coûteront 25 000 $ pour fonctionner en continu pendant 750 heures.

Cependant, les exécuter pendant quelques heures seulement est en fait assez rentable pour certaines charges de travail, et le système à la demande d'AWS rend cela possible. Le seul problème est d'éteindre la machine à chaque fois, car si vous ne le faites pas, vous continuerez à payer pour cela.

AWS n'a pas de moyen intégré pour assurez-vous de cela, mais il fournit des alarmes CloudWatch : des fonctions configurables qui vérifieront vos instances en permanence pour s'assurer que les choses sont en ordre. Ils peuvent être configurés pour surveiller l'utilisation du processeur, du réseau et du disque, et peuvent déclencher des arrêts ou des redémarrages automatiques. Vous pouvez même les connecter à une file d'attente SNS pour envoyer des notifications à d'autres systèmes.

Configuration d'une alarme

Pour ce cas d'utilisation, une simple alarme qui désactive les instances inactives fonctionnera correctement. Bien qu'il n'y ait pas d'alarme pour “a fonctionné depuis trop longtemps,” vous pouvez en simuler un en utilisant l'utilisation du processeur. Si la tâche que vous exécutez charge généralement tous les cœurs, l'utilisation du processeur doit être proche de zéro sur une machine inactive.

Publicité

Votre kilométrage variera cependant, vous devrez donc vérifier vos statistiques CloudWatch pour vous assurer que l'inactivité de votre machine sera détectée. La configuration de l'alarme fournit également un graphique à partir duquel vous pouvez comparer.

Depuis la console EC2, cliquez avec le bouton droit sur une instance et choisissez “Surveillance” > “Gérer les alarmes CloudWatch,” ou cliquez sur l'icône + à côté de “État de l'alarme” dans le navigateur s'il n'y a pas d'alarmes existantes.

Ici, vous pouvez configurer le seuil d'alarme. En règle générale, vous souhaiterez définir le regroupement sur “Moyenne,” choisissez “Utilisation CPU,” et réglez-le pour qu'il se déclenche lorsqu'il est inférieur à 10 % environ pendant une heure. Notez que la période ici est multipliée par le montant dans “Périodes consécutives,” ainsi, des périodes de 5 minutes multipliées par 12 seraient également valides au lieu de seulement 1 heure.

Ensuite, vous pouvez configurer l'action d'alarme pour arrêter l'instance.

Cela devrait être tout ce dont vous avez besoin , et il commencera automatiquement à s'exécuter une fois créé. Vous pouvez utiliser la même configuration d'alarme sur une machine plus petite si vous souhaitez tester votre configuration.

Publicité

Pour être sûr, vous devriez probablement activer les alertes de facturation AWS globales. Ceux-ci peuvent vous avertir tôt si vous dépassez votre budget cible, vous permettant de résoudre le problème manuellement avant qu'il ne s'épuise et ne vide votre portefeuille.