Je souhaite exécuter un script personnalisé sur mon instance Windows Amazon Elastic Compute Cloud (Amazon EC2) lorsque je redémarre ou démarre l'instance. Comment dois-je procéder ?
Brève description
Vous pouvez exécuter un script qui s'exécute après le redémarrage ou le démarrage de l'instance en l'ajoutant aux données utilisateur. Les données utilisateur sont traitées par EC2Config (Windows Server 2012 R2 et versions antérieures) ou EC2Launch (Windows Server 2016 et versions ultérieures).
Résolution
Lorsque vous ajoutez le script aux données utilisateur, vous devez le placer dans une balise spéciale. Cette identification détermine si les commandes s'exécutent dans une fenêtre d'invite de commande ou dans Windows PowerShell. Pour plus d'informations, consultez Exécuter des commandes sur votre instance Windows au lancement.
Vous ne pouvez pas ajouter ni modifier les données utilisateur lorsque l'instance est en cours d'exécution, mais vous pouvez les afficher. 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 activer 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.
Avertissement : avant l'arrêt d'une instance, tenez compte des points suivants.
1. Connectez-vous à votre instance EC2 Windows.
2. Pour Windows Server 2016 ou une version ultérieure, 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 2012 R2 ou une version antérieure, ouvrez C:\Program Files\Amazon\Ec2ConfigService\Ec2ConfigServiceSetting.exe.
Ensuite, pour Données utilisateur, sélectionnez Activer l’exécution UserData au prochain démarrage du service.
Remarque : la commande précédente modifie le mot de passe 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.
3. Sur la console Amazon EC2, arrêtez l'instance.
4. Sélectionnez l'instance. Choisissez Actions, Paramètres de l'instance, puis Modifier les 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 relancez l'instance, ajoutez les éléments suivants :
<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 EC2Launch et EC2Config contiennent la sortie standard et les flux d'erreurs standard. Les fichiers journaux se trouvent comme suit :
- EC2Launch : C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
- EC2Config : C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2Config.log
Informations connexes
Comment exécuter une commande sur une nouvelle instance EC2 Windows lors du lancement ?