Conjuguer les services Run Command et Auto Scaling Group
Une commande à lancer sur la centaine de machines de votre Auto-Scaling Group ? Rien de plus facile avec le « Systems Manager Run Command » !
Configuration des droits
Les instances cibles doivent avoir un rôle contenant la policy AmazonEC2RoleforSSM.
L’utilisateur lançant les commandes doit avoir la policy AmazonSSMFullAccess.
Installation de l’agent sur les instances
L’agent est responsable de l’exécution de la commande. Sur les instances Windows, il est déjà installé. Pour Linux, il faut l’installer manuellement : soit en se connectant à l’instance et en lançant les commandes, soit via les user data (à utiliser pour l’Auto-Scaling Group).
Toutes les commandes d’installation de l’agent sont disponibles dans la page de documentation « Installing SSM Agent ».
Exemple de launch configuration avec une instance Amazon Linux AMI:
Identification des instances
Les instances de l’Auto-Scaling Group doivent être identifiables par un tag dont la key/value est spécifique à celui-ci.
Lancement d’une commande depuis la console
Dans le menu de l’interface EC2, aller dans « Systems Manager Services » -> « Run command » et cliquer sur le bouton « Run command ».
Remplir le formulaire avec les informations suivantes :
- Command document : sélectionner « AWS-RunShellScript »
- Select targets by : sélectionner « Specifiying a Tag » et entrer le tag de l’auto scaling group
- Commands : entrer « ps -aux »
Appuyer sur le bouton « Run » en bas à droite.
Vous pouvez alors suivre l’état d’avancement de la commande :
Le résultat de la commande est accessible via l’onglet « Output »:
Lancement d’une commande depuis AWS CLI
A la fin du formulaire précédent, un cadre donne la commande AWS CLI équivalente :
Il est alors possible d’intégrer cette commande dans un scheduler afin de lancer des commandes de maintenance telles qu’un vidage de cache.
Sources :