Configurer une instance Windows à l’aide d’EC2Launch - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer une instance Windows à l’aide d’EC2Launch

EC2Launch est un ensemble de PowerShell scripts Windows qui ont 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 plus d’informations, consultez Configurer une instance Windows à l’aide d’EC2Launch v2.

Note

Pour utiliser EC2Launch avec IMDSv2, la version doit être 1.3.2002730 ou ultérieure.

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 sur 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 Utiliser les données utilisateur d’instance.

  • Définit des itinéraires statiques persistants pour atteindre le service de métadonnées et AWS KMS les serveurs.

    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 sur Microsoft.com.

Télémétrie

La télémétrie est une information supplémentaire qui permet de mieux AWS comprendre vos besoins, de diagnostiquer les problèmes et de fournir des fonctionnalités pour améliorer votre expérience avec AWS les services.

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 détenues par 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

Vérification de la version d’EC2Launch

Utilisez la PowerShell commande Windows suivante pour vérifier la version installée d'EC2Launch.

PS C:\> Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version

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 PowerShell scripts qui composent 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.

Version EC2Launch et versions ultérieures 1.3.2004592

Les utilisateurs du Administrators groupe sont autorisés à accéder à Full control tous les annuaires EC2Launch. Les utilisateurs qui ne font pas partie du groupe Administrateurs sont autorisés à accéder à Read & execute tous les annuaires EC2Launch, sauf. C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Config L'Configannuaire est réservé aux utilisateurs membres du Administrators groupe.

Version 1.3.2004491 EC2Launch et antérieures

Tous les répertoires EC2Launch héritent de leurs autorisations, sauf. C:\ProgramData C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Scripts Ce dossier hérite de toutes les autorisations C:\ProgramData initiales depuis sa création, mais empêche les utilisateurs normaux d'accéder CreateFiles au répertoire.

Configurer EC2Launch

Lorsque votre instance a été initialisée pour la première fois, vous pouvez configurer EC2Launch pour s’exécuter à nouveau et effectuer des tâches de start-up distinctes.

Configuration des tâches d’initialisation

Spécifiez les paramètres dans le fichier LaunchConfig.json pour activer ou désactiver les tâches d’initialisation suivantes :

  • Définissez le nom d'ordinateur sur l'adresse IPv4 privée de l'instance.

  • Réglez le moniteur pour qu’il reste toujours en fonction.

  • Configurer un nouveau fond d’écran

  • Ajouter une liste de suffixes DNS

    Note

    Cela ajoute une recherche de suffixe DNS pour le domaine suivant et configure d'autres suffixes standard. Pour plus d'informations sur la façon dont les agents de lancement définissent les suffixes DNS, consultez. Configurer le suffixe DNS

    region.ec2-utilities.amazonaws.com
  • Elargir la taille de volume de démarrage

  • Définir le mot de passe de l’administrateur

Pour configurer les paramètres d’initialisation
  1. Dans l’instance à configurer, ouvrez le fichier suivant C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json dans un éditeur de texte.

  2. Mettez à jour les paramètres suivants au besoin et enregistrez vos modifications. Indiquez un mot de passe dans adminPassword uniquement si adminPasswordtype est Specify.

    { "setComputerName": false, "setMonitorAlwaysOn": true, "setWallpaper": true, "addDnsSuffixList": true, "extendBootVolumeSize": true, "handleUserData": true, "adminPasswordType": "Random | Specify | DoNothing", "adminPassword": "password that adheres to your security policy (optional)" }

    Les types de mots de passe sont définis comme suit :

    Random

    EC2Launch génère un mot de passe et le chiffre à l’aide de la clé de l’utilisateur. Le système désactive ce paramètre après le lancement de l’instance afin que ce mot de passe persiste si l’instance est redémarrée, arrêtée ou démarrée.

    Specify

    EC2Launch utilise le mot de passe que vous spécifiez dans adminPassword. Si ce mot de passe ne répond pas aux exigences du système, EC2Launch génère un mot de passe aléatoire à la place. Le mot de passe est stocké dans le fichier LaunchConfig.json sous forme de texte clair et est supprimé une fois que le mot de passe est défini par Sysprep. EC2Launch chiffre le mot de passe à l’aide de la clé de l’utilisateur.

    DoNothing

    EC2Launch utilise le mot de passe que vous spécifiez dans le fichier unattend.xml. Si vous ne spécifiez pas de mot de passe dans unattend.xml, le compte d’administrateur est désactivé.

  3. Dans Windows PowerShell, exécutez la commande suivante pour planifier l'exécution du script en tant que tâche planifiée Windows. Le script s’exécute une seule fois lors du prochain démarrage, puis désactive toute nouvelle exécution de ces tâches.

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

Planification d’EC2Launch pour exécution lors de chaque démarrage

Vous pouvez planifier l’exécution d’EC2Launch lors de chaque démarrage plutôt que seulement lors du démarrage initial.

Pour activer l’exécution d’EC2Launch lors de chaque démarrage :

  1. Ouvrez Windows PowerShell et exécutez la commande suivante :

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot
  2. Ou exécutez le fichier exécutable avec la commande suivante :

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe

    Ensuite, sélectionnez Run EC2Launch on every boot. Vous pouvez spécifier Shutdown without Sysprep ou Shutdown with Sysprep pour votre instance EC2.

Note

Lorsque vous activez l’exécution d’EC2Launch à chaque démarrage, voici ce qui se produira lors de la prochaine exécution d’EC2Launch :

  • Si AdminPasswordType est toujours défini sur Random, EC2Launch générera un nouveau mot de passe au prochain démarrage. Après ce démarrage, AdminPasswordType est automatiquement défini sur DoNothing pour empêcher EC2Launch de générer de nouveaux mots de passe lors des démarrages suivants. Pour empêcher EC2Launch de générer un nouveau mot de passe lors du premier démarrage, définissez manuellement AdminPasswordType sur DoNothing avant de redémarrer.

  • HandleUserData sera redéfini sur false sauf si persist est défini sur true pour les données utilisateur. Pour plus d’informations sur les scripts de données utilisateur, consultez Scripts de données utilisateur dans le Guide de l’utilisateur Amazon EC2.

Initialisation des disques et mappage des lettres de lecteur

Spécifiez les paramètres dans le fichier DriveLetterMappingConfig.json pour mapper les lettres de lecteur avec les volumes appropriés de votre instance EC2. Le script initialise les lecteurs qui ne sont pas encore initialisés et partitionnés. Pour plus d’informations sur l’obtention de détails sur les volumes sous Windows, veuillez consulter Get-Volume (français non garanti) dans la documentation Microsoft.

Pour mapper les lettres de lecteur avec les volumes
  1. Ouvrez le fichier C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json dans un éditeur de texte.

  2. Spécifiez les paramètres de volume suivants et enregistrez vos modifications :

    { "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] }
  3. Ouvrez Windows PowerShell et utilisez la commande suivante pour exécuter le script EC2Launch qui initialise les disques :

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1

    Pour initialiser les disques chaque fois que l’instance démarre, ajoutez l’indicateur -Schedule comme suit :

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule

Envoi des journaux d’événements Windows à la console EC2

Spécifiez les paramètres dans le fichier de EventLogConfig.json afin d’envoyer les journaux d’événements Windows aux journaux de la console EC2.

Pour configurer les paramètres permettant d’envoyer les journaux d’événements Windows
  1. Sur l’instance, ouvrez le fichier C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json dans un éditeur de texte.

  2. Configurez les paramètres de journaux suivants au besoin et enregistrez vos modifications.

    { "events": [ { "logName": "System", "source": "An event source (optional)", "level": "Error | Warning | Information", "numEntries": 3 } ] }
  3. Sous Windows PowerShell, exécutez la commande suivante afin que le système planifie l'exécution du script en tant que tâche planifiée Windows à chaque démarrage de l'instance.

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendEventLogs.ps1 -Schedule

    Trois minutes trois ou plus peuvent être nécessaires pour voir les journaux dans la console EC2.

Envoi du message « Windows Is Ready » après un démarrage réussi

Le service EC2Config envoyait le message « Windows est prêt » dans la console EC2 après chaque démarrage. EC2Launch envoie ce message uniquement après le démarrage initial. Pour assurer la rétrocompatibilité avec le service EC2Config, vous pouvez programmer EC2Launch de sorte à envoyer ce message après chaque démarrage. Sur l'instance, ouvrez Windows PowerShell et exécutez la commande suivante. Le système programme le script pour s’exécuter en tant que tâche planifiée Windows.

PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendWindowsIsReady.ps1 -Schedule