Comment utiliser les fenêtres de maintenance de Systems Manager pour planifier le démarrage et l'arrêt de mes instances EC2 ?

Lecture de 6 minute(s)
0

Je souhaite utiliser les fenêtres de maintenance AWS Systems Manager pour planifier le démarrage ou l'arrêt de mes instances gérées par Amazon Elastic Compute Cloud (Amazon EC2).

Résolution

Enregistrez le runbook Systems Manager Automation AWS-StartEC2Instance ou AWS-StopEC2Instance dans une fenêtre de maintenance. La fenêtre de maintenance cible les instances EC2 configurées et utilise les étapes du document d'automatisation suivant le calendrier choisi pour arrêter ou démarrer les instances.

Remarque : pour redémarrer votre instance immédiatement après son arrêt, vous devez définir les tâches d'arrêt et de démarrage dans la même fenêtre de maintenance. Pour que votre instance demeure arrêtée pendant une durée prédéterminée avant son démarrage, vous devez définir une fenêtre de maintenance distincte pour chaque tâche.

Création d'un rôle et d'une politique IAM

Pour planifier les actions de démarrage ou d'arrêt de la fenêtre de maintenance, utilisez un rôle AWS Identity and Access Management (IAM) avec les autorisations ec2:StartInstances et ec2:StopInstances.

Remarque : le rôle IAM nécessite uniquement les autorisations correspondant au runbook Systems Manager enregistré dans la fenêtre de maintenance. Par exemple, si vous choisissez d'enregistrer AWS-StartEC2Instance et non AWS-StopEC2Instance, le rôle IAM nécessitera uniquement les autorisations ec2:StartInstances.

  1. Ouvrez la console IAM.
  2. Dans le volet de navigation, choisissez Rôles, puis Créer un rôle.
  3. Sur la page Sélectionner une entité de confiance, pour Type d'entité de confiance, choisissez Service AWS.
  4. Dans la liste déroulante Cas d'utilisation d'autres services AWS, choisissez Systems Manager.
  5. Choisissez Suivant.
  6. Sur la page Ajouter des autorisations, choisissez Créer une politique.
  7. Sur la page Spécifier les autorisations, collez la politique suivante dans l'éditeur de politique JSON :
    {  "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ssm:StartAutomationExecution",
            "ec2:DescribeInstanceStatus"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:StartInstances",
            "ec2:StopInstances"
          ],
          "Resource": "Instance ARN 1", "Instance ARN 2"
        }
      ]
    }
    Remarque : pour les instances ec2:StartInstances et ec2:StopInstances, il est recommandé d'ajouter les ARN de ressources des instances auxquelles vous souhaitez accorder l'accès. Pour en savoir plus, consultez la page Structure des politiques.
  8. Choisissez Suivant.
  9. Sur la page Vérifier et créer, sous Détails de la politique, saisissez un nom de politique. Par exemple, SSM_StartStopEC2Role.
  10. Choisissez Créer une politique.
  11. Revenez à la page Créer un rôle. Pour Politiques d'autorisations, choisissez la politique IAM. Choisissez ensuite Suivant.
  12. Choisissez Suivant : Vérifier.
  13. Dans Nom du rôle, saisissez un nom. Par exemple, SSM_StartStopEC2Role.
  14. Sur la page Nommer, vérifier et créer, sous Détails du rôle, saisissez un nom de rôle. (Facultatif) Ajoutez des balises pour le rôle.
  15. Choisissez Créer un rôle.

Pour en savoir plus, consultez la page Création d'un rôle pour un service AWS (console).

Création d'une fenêtre de maintenance

Si vous n'avez pas de fenêtre de maintenance, créez-en une. Dans la fenêtre de maintenance, organisez vos tâches dans le champ Priorité des tâches, 0 étant la priorité la plus élevée.

Pour enregistrer des cibles dans la fenêtre de maintenance, utilisez les options Choisir les instances manuellement ou Choisir un groupe de ressources comme option cible. N'utilisez pas l'option Spécifier des balises d'instance comme option cible, car elle ne permet pas aux instances de démarrer.

Remarque : si vous avez déjà une fenêtre de maintenance, passez à la section Enregistrement d'une tâche d'automatisation.

Pour exécuter la fenêtre de maintenance sur des instances gérées que vous n'avez pas enregistrées comme cibles, sélectionnez Autoriser les cibles non enregistrées.

Pour en savoir plus, consultez la page Attribuer des cibles à une fenêtre de maintenance (console).

Enregistrement d'une tâche d'automatisation

  1. Ouvrez la console Systems Manager.
  2. Dans le volet de navigation, choisissez Fenêtres de maintenance.
  3. Sur la page Fenêtres de maintenance, choisissez la fenêtre de maintenance cible. Choisissez Actions, puis Enregistrer une tâche d'automatisation.
  4. (Facultatif) Saisissez un nom et une description dans le champ Détails de la tâche de la fenêtre de maintenance.
  5. Pour Documents d'automatisation, choisissez AWS-StartEC2Instance ou AWS-StopEC2Instance.
    Remarque : pour enregistrer plusieurs documents d'automatisation, répétez ce processus pour chaque document.
  6. Pour Version du document, choisissez Version par défaut lors de l'exécution.
  7. La priorité de la tâche est définie sur 1 par défaut. Si vous avez enregistré plusieurs tâches dans la même fenêtre de maintenance, attribuez-leur différents niveaux de priorité pour établir un ordre d'exécution.
  8. Pour Cibles, si vous avez enregistré des instances cibles pour la fenêtre de maintenance, choisissez Sélection des groupes cibles enregistrés. Si vous n'avez pas enregistré d'instances cibles pour la fenêtre de maintenance, choisissez Sélection des cibles non enregistrées. Sélectionnez ensuite manuellement les instances. Vous pouvez aussi spécifier un groupe de ressources pour identifier les instances sur lesquelles vous souhaitez exécuter le document d'automatisation.
    Remarque : les balises pour les cibles sont uniquement prises en charge pour les instances gérées par Systems Manager.
  9. Pour le Contrôle du débit, spécifiez la Simultanéité et le Seuil d'erreur.
  10. Pour Fonction du service IAM, sélectionnez la fonction du service pour Systems Manager dans la liste déroulante. Si vous n'avez pas créé de fonction du service pour Systems Manager, créez-en une.
    Remarque : n'utilisez pas le rôle AWSServiceRoleForAmazonSSM, car celui-ci n'est pas disponible pour les nouvelles tâches.
  11. Pour Paramètres d'entrée, spécifiez les paramètres suivants :
    InstanceId : saisissez {{RESOURCE_ID}} sous forme de pseudo-paramètre pour cibler plusieurs ressources.
    AutomationAssumeRole : saisissez l'ARN complet du rôle IAM doté des autorisations ec2:StartInstances ou ec2:StopInstances. Exemple : arn:aws:iam::123456789101:role/SSM_StartStopEC2Role.
  12. Choisissez Enregistrer la tâche d'automatisation.
  13. (Facultatif) Si vous souhaitez enregistrer des documents d'automatisation afin de planifier des actions d'arrêt et de démarrage, répétez les étapes de la section Enregistrement d'une tâche d'automatisation pour le deuxième document.

Pour en savoir plus, consultez la page Attribuer des tâches à une fenêtre de maintenance (console).

Informations connexes

Fenêtres de maintenance AWS Systems Manager

Actions, ressources et clés de condition pour Amazon EC2

Pourquoi mon instance EC2 ne s'affiche-t-elle pas en tant que nœud géré ou indique-t-elle l'état « Connexion perdue » dans Systems Manager ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 6 mois