Utiliser l’agent EC2Launch v1 pour effectuer des tâches lors du lancement d’une instance EC2 Windows
EC2Launch est un ensemble de scripts Windows PowerShell qui a remplacé le service EC2Config sur les AMI Windows Server 2016 et 2019. Beaucoup de ces AMI sont encore disponibles. EC2Launch v2 est le dernier agent de lancement pour toutes les versions Windows prises en charge, qui remplace à la fois EC2Config et EC2Launch. Pour en savoir plus, consultez Utiliser l’agent EC2Launch v2 pour effectuer des tâches lors du lancement d’une instance EC2 Windows.
Note
Pour utiliser EC2Launch avec IMDSv2, la version doit être 1.3.2002730 ou ultérieure.
Vous pouvez utiliser la commande Windows PowerShell suivante pour vérifier la version installée de EC2Launch.
Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version
Tâches EC2Launch
EC2Launch effectue les tâches suivantes par défaut pendant le démarrage initial de l’instance :
-
Configure un nouveau fond d’écran qui présente les informations relatives à l’instance.
-
Définit le nom de l’ordinateur à l’adresse IPv4 privée de l’instance.
-
Envoie les informations d’instance à la console Amazon EC2.
-
Envoie l’empreinte numérique du certificat RDP à la console EC2.
-
Définit un mot de passe aléatoire pour le compte d’administrateur.
-
Ajoute des suffixes DNS.
-
Etend de manière dynamique la partition du système d’exploitation pour inclure l’espace non partitionné.
-
Exécute les données utilisateur (si spécifié). Pour plus d’informations sur la spécification de données utilisateur, consultez Exécutez des commandes lorsque vous lancez une instance EC2 avec des données utilisateur.
-
Définit des routes statiques permanentes pour atteindre le service de métadonnées et les serveurs AWS KMS.
Important
Si une AMI personnalisée est créée à partir de cette instance, ces routes sont capturées dans le cadre de la configuration du système d’exploitation et toutes les nouvelles instances lancées à partir de cette AMI conserveront les mêmes routes, quel que soit leur placement sur le sous-réseau. Pour mettre à jour les routes, consultez Mettre à jour les routes des métadonnées/serveurs KMS pour Server 2016 et versions ultérieures lors du lancement d’une AMI personnalisée.
Les tâches suivantes contribuent à assurer la rétrocompatibilité avec le service EC2Config. Vous pouvez également configurer EC2Launch pour réaliser ces tâches au moment du démarrage :
-
Initialiser des volumes EBS secondaires.
-
Envoyer des journaux d’événements Windows aux journaux de console EC2
-
Envoyer le message Windows is ready to use (Windows est prêt à être utilisé) à la console EC2
Pour plus d’informations concernant Windows Server 2019, consultez la page relative à la comparaison des fonctions dans les versions de Windows Server
Structure du répertoire EC2Launch
EC2Launch est installé par défaut sur les AMI Windows Server 2016 et versions ultérieures dans le répertoire racine C:\ProgramData\Amazon\EC2-Windows\Launch
.
Note
Par défaut, Windows masque les fichiers et les dossiers qui se trouvent sous C:\ProgramData
. Pour afficher les fichiers et les répertoires EC2Launch, vous devez tapez le chemin d’accès dans l’Explorateur Windows ou modifier les propriétés de dossier afin d’afficher les fichiers et les dossiers masqués.
Le répertoire Launch
contient les sous-répertoires suivants.
-
Scripts
— Contient les scripts PowerShell qui constituent EC2Launch. -
Module
— Contient le module pour créer des scripts liés à Amazon EC2. -
Config
— Contient les fichiers de configuration de script que vous pouvez personnaliser. -
Sysprep
— Contient les ressources Sysprep. -
Settings
— Contient une application pour l’interface utilisateur graphique de Sysprep. -
Library
—Contient des bibliothèques partagées pour les agents de lancement EC2. -
Logs
— Contient les fichiers journaux générés par des scripts.
Télémétrie
La télémétrie est une information supplémentaire qui aide AWS à mieux comprendre vos besoins, diagnostiquer les problèmes et fournir des fonctions pour améliorer votre expérience avec les services AWS.
La version EC2Launch 1.3.2003498
et les versions ultérieures collectent les données de télémétrie, comme les métriques d’utilisation et les erreurs. Ces données sont collectées à partir de l’instance Amazon EC2 sur laquelle s’exécute EC2Launch. Cela inclut toutes les AMI Windows appartenant à AWS.
Les types de données télémétriques suivants sont collectés par EC2Launch :
-
Usage information (Informations d’utilisation) : commandes de l’agent, méthode d’installation et fréquence d’exécution planifiée.
-
Errors and diagnostic information (Erreurs et informations de diagnostic) : installation de l’agent et exécution des codes d’erreur.
Exemples de données collectées :
2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true
2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsUserDataScheduledPerBoot=true
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandCode=1
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandErrorCode=5
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallCode=2
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallErrorCode=0
La télémétrie est activée par défaut. Vous pouvez désactiver la collecte de données de télémétrie à tout moment. Si la télémétrie est activée, EC2Launch v2 envoie des données de télémétrie sans notifications supplémentaires au client.
Le choix d’activer ou de désactiver la télémétrie est collecté.
Vous pouvez choisir de vous inscrire ou de vous désinscrire de la collecte de télémétrie. Votre choix est collecté afin de nous assurer que nous le respectons.
Visibilité de la télémétrie
Lorsque la télémétrie est activée, elle apparaît dans la sortie de la console Amazon EC2 comme suit :
2021/07/15 21:44:12Z: Telemetry: <Data>
Désactiver la télémétrie sur une instance
Pour désactiver la télémétrie en paramétrant une variable d’environnement système, exécutez la commande suivante en tant qu’administrateur :
setx /M EC2LAUNCH_TELEMETRY 0
Pour désactiver la télémétrie pendant l’installation, exécutez install.ps1
comme suit :
. .\install.ps1 -EnableTelemetry:$false