Ok, les gars, vous le demandiez, je livre :Comment arrêter automatiquement les instances EC2 (AWS) du jour au lendemain et économiser de l'argent. AWS. Certains d'entre vous, comme moi, ont eu du mal à suivre la documentation officielle d'AWS, alors j'ai pensé vous simplifier un peu les choses.
Sans plus tarder, plongeons dedans.
1. Comment ça marche
Nous créons essentiellement un morceau de code qui s'exécute sur Lambda d'Amazon, leur service informatique sans serveur, qui nous permet d'exécuter du code à certains moments. Nous tirerons parti de ce code pour arrêter et démarrer nos instances EC2 aux heures souhaitées.
Nous pouvons soit saisir le code manuellement à l'aide de Lambda directement, soit utiliser le modèle AWS CloudFormation ec2-scheduler déjà existant, de la manière la plus simple que nous choisirons.
2. Lancement de la pile
Tout d'abord, connectez-vous à votre console AWS. Ensuite, ouvrez Ce lien (c'est le lien de la documentation officielle) pour créer la pile ec2-scheduler.
Par défaut, USA Est (Virginie du Nord) est sélectionné comme région. Suivez donc les 3 étapes ci-dessous :
- Remplacer la région par votre région
- Vérifiez que le modèle ec2-scheduler est sélectionné
- Cliquez sur Suivant
Sur la page Spécifier les détails qui s'affiche ensuite, vous pouvez modifier le nom de la pile si vous le souhaitez et, plus important encore, vous pouvez définir l'heure par défaut à laquelle vous souhaitez que vos serveurs s'arrêtent. Une description plus détaillée de chaque fonction se trouve dans la documentation officielle .
Ce temps n'est pas un temps fixe. C'est l'heure par défaut, vous pouvez toujours ajuster l'heure de démarrage et d'arrêt pour chaque serveur individuellement, en utilisant les valeurs des balises, je vous expliquerai cela plus tard.
L'heure par défaut est TOUJOURS en UTC , vous devez donc faire quelques calculs pour vous adapter à votre fuseau horaire.
Choisissez simplement une bonne heure par défaut que vous souhaitez peut-être utiliser sur plusieurs serveurs.
Cliquez sur Suivant lorsque vous avez terminé.
Sur la page Options, cliquez sur Suivant.
Sur la page de révision, vérifiez si tout vous convient et faites défiler vers le bas pour cocher la case indiquant que vous reconnaissez que le modèle créera une identité AWS :
Cliquez sur Créer pour créer la pile.
Maintenant que vous affichez l'état de la pile dans la console AWS CloudFormation dans la colonne État, cela devrait prendre environ 5 minutes jusqu'à ce que vous voyiez :CREATE_COMPLETE.
Prenez un bon verre de vin en attendant, et surtout, faites-moi un don pour que je puisse aussi prendre un verre 😉
Très bien! La création d'une pile est terminée - allons-y Tagging !
2. Balisage de nos instances EC2
Accédez à votre tableau de bord EC2 et recherchez l'instance EC2 que vous souhaitez arrêter automatiquement.
Sélectionnez-le puis cliquez sur Balises et Ajouter/Modifier les balises :
Maintenant, vous avez probablement déjà un nom pour votre serveur en place, vous verrez donc le nom de la clé avec la valeur "Yourservername". Cela peut rester tel quel, cliquez simplement sur Créer une balise pour créer une nouvelle balise.
Pour la clé que vous souhaitez saisir :scheduler:ec2-start-stop
Pour la valeur, vous voulez entrer :default
Cela signifie que le serveur s'arrête et démarre à l'heure que vous avez définie précédemment lors de la création de la pile. Vous pouvez le modifier individuellement en saisissant, par exemple, 0800;1800;utc;all
comme valeur. Ainsi, ce serveur n'utilisera pas l'heure par défaut, mais l'heure que vous définissez à valeur. Vous pouvez trouver une liste de ces commandes dans la Documentation officielle lorsque vous faites défiler vers le bas.
Cliquez sur Enregistrer une fois que vous avez terminé.
Et voila. C'est aussi simple que cela si vous n'avez pas à lire la documentation, c'est-à-dire 🙂