Comment exécuter une commande sur une instance EC2 Windows existante lorsque je redémarre ou démarre l'instance ?

Lecture de 3 minute(s)
0

Je souhaite exécuter un script personnalisé sur mon instance Windows Amazon Elastic Compute Cloud (Amazon EC2) existante lorsque je redémarre ou démarre l'instance.

Brève description

Ajoutez un script aux données utilisateur, puis configurez-le pour qu'il s'exécute après le redémarrage d'une instance ou au démarrage d'une instance. EC2Config (Windows Server 2012 R2 et versions antérieures), EC2Launch (Windows Server 2016 et 2019) ou EC2Launchv2 (Windows Server 2022) traitent les données utilisateur.

Résolution

Lorsque vous ajoutez le script aux données utilisateur, vous devez le placer dans une balise spéciale. Cette balise détermine si les commandes s'exécutent dans une fenêtre d'invite de commandes ou dans Windows PowerShell. Pour plus d'informations, consultez Exécuter des commandes sur votre instance Windows au lancement.

Vous ne pouvez ni ajouter ni modifier les données utilisateur lorsque l'instance est en cours d'exécution, mais vous pouvez les consulter. Pour ajouter ou modifier des données utilisateur, l'instance doit être à l'état arrêté. Les scripts de données utilisateur ne s'exécutent pas automatiquement lorsque vous redémarrez ou démarrez l'instance. Vous pouvez configurer les données utilisateur pour qu'elles s'exécutent la prochaine fois ou chaque fois que vous redémarrez ou démarrez l'instance.

Important :

  • Si vous n'utilisez pas d'Adresse IP Elastic, l'adresse IP publique est libérée lorsque vous arrêtez l'instance.
  • Si cette instance possède un volume de stockage d'instances, toutes les données qu'il contient sont perdues lorsque l'instance est arrêtée.
  • Si le comportement d'arrêt de l'instance est défini sur Terminer, l'instance est mise hors service lorsqu'elle est arrêtée.
  • Si l'instance fait partie d'un groupe Auto Scaling, commencez alors par détacher l'instance du groupe Auto Scaling. Ensuite, après avoir arrêté et redémarré l'instance, rattachez l'instance au groupe Auto Scaling. Pour en savoir plus, consultez la section Arrêter et démarrer votre instance.

1.    Connectez-vous à votre instance Windows EC2.

2.    Pour Windows Server 2012 R2 ou version antérieure, ouvrez C:\Program Files\Amazon\EC2ConfigService\Ec2ConfigServiceSetting.exe. Ensuite, pour Données utilisateur, sélectionnez Activer l'exécution des données utilisateur pour le prochain démarrage du service.
Remarque : La commande précédente modifie le mot de passe de l'administrateur local de l'instance à chaque redémarrage. Si vous utilisez une AMI avec l'option Aucune paire de clés sélectionnée, vous risquez de perdre l'accès à votre instance au redémarrage.

Pour Windows Server 2016 et 2019, ouvrez une fenêtre de commande Windows PowerShell, puis exécutez la commande suivante :

C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 –Schedule

Pour Windows Server 2022, exécutez UserData sous forme de script et définissez la fréquence pour qu'elle s'exécute toujours à chaque démarrage. Pour plus d'informations, voir executeScripts pour la syntaxe et des exemples.

3.    À partir de la console Amazon EC2, arrêtez l'instance.

4.    Sélectionnez l'instance et choisissez Actions. Choisissez Paramètres de l'instance, puis choisissez Données utilisateur.

5.    Ajoutez ou mettez à jour les données utilisateur, puis choisissez Enregistrer.
Remarque : Pour exécuter des scripts de données utilisateur chaque fois que vous redémarrez ou redémarrez l'instance, ajoutez le paramètre suivant :

<persist>true</persist>

6.    Démarrez l'instance. Les scripts de données utilisateur s'exécutent dans le cadre du processus de démarrage de l'instance.
Pour un dépannage supplémentaire, les fichiers journaux EC2Config, EC2Launch et EC2Launchv2 contiennent le résultat de la sortie standard et les flux d'erreurs standard. Les fichiers journaux se trouvent comme suit :

  • EC2Config : C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2Config.log
  • EC2Launch: C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2 Launch V2 : C:\ProgramData\Amazon\EC2Launch\log\agent.log

Informations connexes

Comment exécuter une commande sur une nouvelle instance Windows EC2 au lancement

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