DEV Community

La grâce Nkinki
La grâce Nkinki

Posted on

Automatisation des lancements et arrets d'instances EC2

Hi There!

Bienvenue dans ce tutoriel pratique !
Aujourd’hui, nous allons apprendre à automatiser la gestion d’une instance EC2 grâce à l’outil crontab, très utile pour planifier des tâches récurrentes.

Cela peut être très pratique si vous souhaitez :

Lancer une instance tous les matins à 5h00
L’éteindre automatiquement le soir à 0h00
Économiser des coûts en ne gardant pas l’instance active inutilement.

Let's start!

Prérequis :

Une instance EC2 sous Linux (Amazon Linux, Ubuntu, etc.)
AWS CLI installé et configuré
Accès SSH à l'instance (Nous utiliserons MobaXterm)

etape 1: connexion à son instance ec2 avec ssh via mobaxtem

pour celanous utiliserons la paire de clé que nouq avons attaché à notre instance ec2.

Image description

Etape 2: création du script

via notre éditeur de texte nano, nous allons inserer le code ci-dessous pour l'automatisation des taches:

créons le fichier de notre script via la commande :nano /home/ec2-user/shutdown_restart_ec2.sh

dedans nous allons y inscrire ce script:

Image description

`#!/bin/bash

Définir la région AWS

REGION="eu-north-1" # Remplace par ta région AWS

Arrêter toutes les instances EC2

aws ec2 stop-instances --region $REGION --instance-ids $(aws ec2 describe-instances --region $REGION --query "Reservations[].Instances[].InstanceId" --output text)

Attendre 10 secondes pour s'assurer que les instances sont bien arrêtées

sleep 10

Démarrer toutes les instances EC2

aws ec2 start-instances --region $REGION --instance-ids $(aws ec2 describe-instances --region $REGION --query "Reservations[].Instances[].InstanceId" --output text)`

enregistrons notre fichier et quittons le fichier nano

*Etape 3: Rendre le script exécutable *

Nous allons maintenant rendre le script executable
pour cela nous allons lancer la commande :

chmod +x /home/ec2-user/shutdown_restart_ec2.sh

*Etape 4: Ajouter notre script au planificateur crontab
*

Une fois les droits d’exécution accordés à nos scripts, nous allons les intégrer dans le planificateur de tâches cron, afin qu’ils s’exécutent automatiquement à des heures définies.

Pour cela, ouvrez l’éditeur de crontab avec la commande suivante :

crontab -e

Par défaut, cette commande ouvre l’éditeur vi ou vim (selon votre configuration). Dans cet éditeur, vous pourrez ajouter votre cron job à la fin du fichier, sous la forme suivante :

0 5 * * * /home/ec2-user/start_ec2.sh
0 0 * * * /home/ec2-user/stop_ec2.sh

Image description

retournons au mode commande en cliquant sur ESC puis wq pour enregistrer le script

un fois sur de retour sur notre instance, nous verrons un message indiquant que nous avons un crontab en cours d'éxecution.

Etape 5: lister nos cron

verifions si les services de nos cron sont actif en lacant la commane suivante: systemctl status crond

Image description

une fois fait, nous pouvons maintenant lister nos cron avec la commande crontab -l

Image description

congratulation, maintenant nous savons comment automatiser le lancement et l'arret d'instances ec2.

A la prochaine!

Top comments (0)