Comment exécuter une commande au lancement d’une nouvelle instance Windows EC2 ?

Lecture de 3 minute(s)
0

Je souhaite exécuter un script personnalisé lors du lancement d’une nouvelle instance Windows Amazon Elastic Compute Cloud (Amazon EC2).

Brève description

Lorsque vous lancez une instance dans Amazon EC2, vous pouvez :

  • Transmettre les données utilisateur à l'instance pour réaliser des tâches de configuration automatisées courantes
  • Exécuter des scripts après le démarrage de l'instance

Si vous souhaitez exécuter un script au lancement de l'instance, vous devez ajouter celui-ci aux données utilisateur. Les données utilisateur sont traitées par EC2Config (Windows Server, versions 2012 R2 et antérieures), EC2Launch ou EC2Launch V2 (Windows Server, versions 2016 et ultérieures).

Résolution

Lorsque vous ajoutez un script aux données utilisateur, vous devez l’insérer dans une balise spéciale. Cette balise détermine si les commandes doivent s'exécuter dans une fenêtre d'invite de commandes ou utiliser Windows PowerShell. Pour en savoir plus, consultez la section Exécuter des commandes au lancement sur votre instance Windows.

Pour exécuter un script personnalisé au moment du démarrage, vous devez spécifier les données utilisateur de la nouvelle instance Windows EC2 lors de son lancement et de sa configuration. Dans une configuration standard, il est possible d’activer une Amazon Machine Images (AMI) AWS Windows pour exécuter les données utilisateur lors de son lancement initial.

Créer un script personnalisé pour exécuter les données utilisateur au démarrage

Si vous souhaitez que les scripts de données utilisateur s'exécutent au prochain redémarrage de l'instance, précisez-le. Vous pouvez également préciser que les scripts de données utilisateur doivent s'exécuter à chaque redémarrage de l'instance. Pour créer un script personnalisé, procédez comme suit :

  1. Ouvrez la console Amazon EC2, puis sélectionnez AMI dans le volet de navigation.

  2. Sélectionnez la nouvelle AMI, puis choisissez Lancer.

  3. Sélectionnez un type d'instance. Choisissez ensuite Suivant : Configurez les détails de l’instance.

  4. Sous Détails avancés, saisissez votre script personnalisé dans la zone de texte Données utilisateur.

    Le script personnalisé peut être exécuté sous forme de script batch, de script Windows PowerShell, de script de configuration YAML ou de codage Base64. Pour autoriser l'exécution d’un script, insérez-le dans une balise spécifique lorsque vous l'ajoutez aux données utilisateur. Par exemple, vous pouvez spécifier un script Windows PowerShell à l'aide de la balise powershell. Pour en savoir plus sur les types de script et obtenir des exemples de syntaxe de script, consultez la section Scripts de données utilisateur.
    Remarque : les données utilisateur ne s'exécutent pas automatiquement après le lancement initial. Toutefois, si un script inclut la balise persist, les données utilisateur s’exécutent au lancement, lors des démarrages ou redémarrages suivants.

  5. Pour exécuter vos scripts de données utilisateur à chaque redémarrage de l'instance, ajoutez le paramètre suivant :

    <persist>true</persist>
  6. Terminez le lancement avec l'assistant pour démarrer l'instance.

Remarque : vous pouvez exécuter un script personnalisé sur une instance Windows Amazon EC2 existante. Pour en savoir plus, consultez la section Exécuter une commande sur une instance EC2 Windows existante lors du démarrage ou du redémarrage l'instance ?

Examen des journaux

Si vous avez besoin d’obtenir plus d’informations, les fichiers journaux EC2Launch, EC2Launch V2 et EC2Config contiennent les résultats de la sortie standard et les flux d'erreurs standard. Les fichiers journaux se trouvent aux emplacements suivants :

  • EC2Launch : C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2Launch V2 : C:\ProgramData\Amazon\EC2Launch\log\agent.log
  • EC2Config : C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2Config.log
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois