Archives de
Mois : mai 2017

Conjuguer les services Run Command et Auto Scaling Group

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.

iam-policy-ssm

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:

launch-configuration

 

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.

autoscalinggroup-tag

 

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 ».

goto-runcommand

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

select-targets-by-tag

  • Commands : entrer « ps -aux »

Appuyer sur le bouton « Run » en bas à droite.

Vous pouvez alors suivre l’état d’avancement de la commande :

run-command-table

Le résultat de la commande est accessible via l’onglet « Output »:

run-command-output

 

Lancement d’une commande depuis AWS CLI

A la fin du formulaire précédent, un cadre donne la commande AWS CLI équivalente :

cli-from-form

 

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 :