Utiliser l'agent EC2Launch v2 pour effectuer des tâches lors du lancement de l'instance EC2 Windows - 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.

Utiliser l'agent EC2Launch v2 pour effectuer des tâches lors du lancement de l'instance EC2 Windows

Toutes les instances prises en charge d'Amazon EC2 qui sont lancées à partir de AWS Windows Server 2022 et Windows Server 2025 AMIs incluent l'agent de lancement EC2Launch v2 (EC2Launch.exe) par défaut. Nous fournissons également Windows Server 2016 et 2019 AMIs avec EC2Launch v2 installée comme agent de lancement par défaut. Ils AMIs sont fournis en plus des versions Windows Server 2016 et 2019 AMIs qui incluent la EC2Launch v1. Vous pouvez rechercher des Windows AMIs qui incluent la EC2Launch v2 par défaut en saisissant le préfixe suivant dans votre recherche AMIssur la page de la EC2 console Amazon :EC2LaunchV2-Windows_Server-*.

Pour comparer les fonctionnalités des versions de l'agent de lancement, voirComparez les agents EC2 de lancement Amazon.

EC2Launchv2 est un service qui effectue des tâches pendant le démarrage de l'instance et s'exécute si une instance est arrêtée et démarrée ultérieurement, ou redémarrée. EC2Launchv2 peut également effectuer des tâches à la demande. Certaines de ces tâches sont automatiquement activées, alors que d’autres doivent être activées manuellement. Le service EC2Launch v2 prend en charge toutes EC2Config les EC2Launch fonctionnalités.

Ce service utilise un fichier de configuration pour contrôler son fonctionnement. Vous pouvez mettre à jour le fichier de configuration à l’aide d’un outil graphique ou en le modifiant directement en tant que fichier .yml unique (agent-config.yml). Les binaires de service se trouvent dans le répertoire %ProgramFiles%\Amazon\EC2Launch.

EC2Launchv2 publie les journaux d'événements Windows pour vous aider à résoudre les erreurs et à définir des déclencheurs. Pour de plus amples informations, veuillez consulter Journaux d’événements Windows.

L'agent EC2Launch v2 prend en charge les versions suivantes du système d'exploitation Windows Server :

Versions d'OS prises en charge
  • Windows Server 2025

  • Windows Server 2022

  • Windows Server 2019 (canal de maintenance à long terme et canal semestriel)

  • Windows Server 2016

EC2LaunchConcepts v2

Les concepts suivants sont utiles à comprendre lors de l'étude de la EC2Launch v2.

Tâche

Vous pouvez invoquer une tâche pour effectuer une action sur une instance. Vous pouvez configurer les tâches dans le fichier agent-config.yml ou via les données utilisateur. Pour consulter la liste des tâches disponibles pour la EC2Launch version 2, consultez Tâches disponibles pour la EC2Launch version 2. Pour le schéma de configuration des tâches et les détails, consultez EC2LaunchConfiguration de tâche v2.

Étape

Une étape est un regroupement logique de tâches que l'agent EC2Launch v2 exécute. Certaines tâches ne peuvent s’exécuter qu’à un stade spécifique. D’autres peuvent fonctionner en plusieurs étapes. Lors de l’utilisation de agent-config.yml, vous devez spécifier une liste d’étapes et une liste de tâches à exécuter au sein de chaque étape.

Le service exécute les étapes dans l’ordre suivant :

Étape 1 : Démarrage

Étape 2 : Réseau

Étape 3 : PreReady

Windows est prêt

Une fois la PreReady phase terminée, le service envoie le Windows is ready message à la EC2 console Amazon.

Étape 4 : PostReady

Les données utilisateur s'exécutent pendant l'PostReadyétape. Certaines versions de script s'exécutent avant le PostReadystage du agent-config.yml fichier et d'autres s'exécutent après, comme suit :

Avant agent-config.yml
  • YAMLdonnées utilisateur version 1.1

  • XMLdonnées utilisateur

Après agent-config.yml
  • YAMLdonnées utilisateur version 1.0 (ancienne version pour la rétrocompatibilité)

Pour des exemples d’étapes et de tâches, consultez Exemple : agent-config.yml.

Lorsque vous utilisez des données utilisateur, vous devez spécifier une liste de tâches que l’agent de lancement doit exécuter. L’étape est implicite. Pour des exemples de tâches, consultez Exemple : données utilisateur.

EC2Launchv2 exécute la liste des tâches dans l'ordre que vous spécifiez dans agent-config.yml et dans les données utilisateur. Les étapes s’exécutent de manière séquentielle. L’étape suivante commence lorsque l’étape précédente est terminée. Les tâches sont également exécutées de manière séquentielle.

Fréquence

La fréquence des tâches détermine le moment où les tâches doivent être exécutées, en fonction du contexte de démarrage. La plupart des tâches n’ont qu’une seule fréquence autorisée. Vous pouvez spécifier une fréquence pour les tâches executeScript.

Vous verrez les fréquences suivantes dans la EC2LaunchConfiguration de tâche v2.

  • Une fois : la tâche s'exécute une fois, lorsque démarre pour la première fois (Sysprep terminé). AMI

  • Toujours : la tâche s’exécute chaque fois que l’agent de lancement s’exécute. L’agent de lancement s’exécute lorsque :

    • une instance démarre ou redémarre

    • le EC2Launch service fonctionne

    • EC2Launch.exe run est invoqué

agent-config

agent-configest un fichier qui se trouve dans le dossier de configuration pour EC2Launch v2. Il inclut la configuration du démarrage PreReady, du réseau et des PostReady étapes. Ce fichier est utilisé pour spécifier la configuration de l'instance pour les tâches qui doivent s'exécuter lorsque AMI est démarrée pour la première fois ou pour les fois suivantes.

Par défaut, l'installation EC2Launch v2 installe un agent-config fichier contenant les configurations recommandées qui sont utilisées dans Amazon Windows AMIs standard. Vous pouvez mettre à jour le fichier de configuration pour modifier l'expérience de démarrage par défaut AMI que la EC2Launch v2 spécifie.

Données utilisateur

Les données utilisateur sont des données configurables lorsque vous lancez une instance. Vous pouvez mettre à jour les données utilisateur pour modifier dynamiquement la configuration personnalisée AMIs ou le démarrage rapideAMIs. EC2Launchv2 prend en charge une longueur d'entrée des données utilisateur de 60 Ko. Les données utilisateur incluent uniquement l' UserData étape et s'exécutent donc après le agent-config fichier. Vous pouvez entrer des données utilisateur lorsque vous lancez une instance à l'aide de l'assistant de lancement d'instance, ou vous pouvez modifier les données utilisateur à partir de la EC2 console. Pour plus d’informations sur l’utilisation des données d’utlisateur, consultez Comment Amazon EC2 gère les données utilisateur pour les instances Windows.

EC2Launchvue d'ensemble des tâches v2

EC2Launchv2 peut effectuer les tâches suivantes à chaque démarrage :

  • Configurez un nouveau fond d’écran personnalisé qui rend des informations sur l’instance.

  • Définissez les attributs du compte d’administrateur créé sur la machine locale.

  • Ajoutez des DNS suffixes à la liste des suffixes de recherche. Seuls les suffixes qui n’existent pas déjà sont ajoutés à la liste.

  • Définissez les lettres de lecteur pour les volumes supplémentaires et étendez-les pour utiliser l’espace disponible.

  • Écrivez les fichiers de configuration sur le disque.

  • Exécutez les scripts spécifiés dans le fichier de configuration EC2Launch v2 ou à partir deuser-data. Les scripts de user-data peuvent être en texte brut ou compressés et fournis au format base64.

  • Exécutez un programme avec des arguments donnés.

  • Définir le nom d’ordinateur

  • Envoyez des informations d'instance à la EC2 console Amazon.

  • Envoyez l'empreinte RDP numérique du certificat à la console AmazonEC2.

  • Etendez de manière dynamique la partition du système d’exploitation pour inclure l’espace non partitionné.

  • Exécutez des données utilisateur. Pour plus d’informations sur la spécification de données utilisateur, consultez EC2LaunchConfiguration de tâche v2.

  • Définissez des routes non statiques permanentes pour atteindre le service de métadonnées et les serveurs AWS KMS .

  • Définissez les partitions non amorçables sur mbr ougpt.

  • Démarrez le service Systems Manager après Sysprep.

  • Optimisez ENA les paramètres.

  • Activez Ouvrir SSH pour les versions ultérieures de Windows.

  • Activez les trames Jumbo.

  • Définissez Sysprep pour qu'il s'exécute avec v2. EC2Launch

  • Publiez les journaux des événements Windows.

EC2LaunchStructure du répertoire v2

EC2Launchv2 doit être installé dans les répertoires suivants :

  • Binaires de service : %ProgramFiles%\Amazon\EC2Launch

  • Données de service (paramètres, fichiers journaux et fichiers d’état) : %ProgramData%\Amazon\EC2Launch

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 v2, vous devez entrer 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 %ProgramFiles%\Amazon\EC2Launch contient des binaires et des bibliothèques de support. Il comprend les sous-répertoires suivants :

  • settings

    • EC2LaunchSettingsUI.exe — Interface utilisateur pour modifier le fichier agent-config.yml

    • YamlDotNet.dll— DLL pour prendre en charge certaines opérations dans l'interface utilisateur

  • tools

    • ebsnvme-id.exe— Outil pour examiner les métadonnées des EBS volumes sur l'instance

    • AWSAcpiSpcrReader.exe— Outil pour déterminer le COM port correct à utiliser

    • EC2LaunchEventMessage.dll— DLL pour prendre en charge la journalisation des événements Windows pourEC2Launch.

  • service

    • EC2LaunchService.exe — Exécutable de service Windows qui est lancé lorsque l’agent de lancement s’exécute en tant que service.

  • EC2Launch.exe— EC2Launch exécutable principal

  • EC2LaunchAgentAttribution.txt— Attribution du code utilisé dans EC2 Launch

Le répertoire %ProgramData%\Amazon\EC2Launch contient les sous-répertoires suivants. Toutes les données produites par le service, y compris les journaux, la configuration et l’état, sont stockées dans ce répertoire.

  • config— Configuration

    Le fichier de configuration du service est stocké dans ce répertoire sous la forme de agent-config.yml. Ce fichier peut être mis à jour pour modifier, ajouter ou supprimer des tâches exécutées par le service par défaut. L’autorisation de créer des fichiers dans ce répertoire est limitée au compte administrateur pour empêcher l’escalade des privilèges.

  • log— Journaux d'instance

    Les journaux relatifs au service (agent.log), à la console (console.log), aux performances (bench.log), aux erreurs (err.log) et à la télémétrie () telemetry.log sont stockés dans ce répertoire. Les fichiers journaux sont ajoutés lors des exécutions ultérieures du service.

  • state— Données sur l'état du service

    L’état utilisé par le service pour déterminer les tâches à exécuter est stocké ici. Il existe un fichier .run-once qui indique si le service a déjà été exécuté après Sysprep (donc les tâches avec une fréquence d’une fois seront ignorées lors de la prochaine exécution). Ce sous-répertoire inclut un state.json et previous-state.json pour suivre l’état de chaque tâche.

  • sysprep— Sysprep

    Ce répertoire contient des fichiers qui sont utilisés pour déterminer les opérations à effectuer par Sysprep lorsqu'il crée un Windows personnalisé AMI qui peut être réutilisé.

  • wallpaper— Fond d'écran

    Ces images de fond d'écran sont stockées dans ce répertoire.

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. Services AWS

EC2LaunchLa version v2 2.0.592 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'EC2instance Amazon sur laquelle s'exécute la EC2Launch v2. Cela inclut tous les Windows AMIs appartenant à AWS.

Les types de données télémétriques suivants sont collectés par EC2Launch v2 :

  • Usage information (Informations d’utilisation) : commandes de l’agent, méthode d’installation et fréquence d’exécution planifiée.

  • Erreurs et informations de diagnostic : codes d'erreur d'installation de l'agent, codes d'erreur d'exécution et piles d'appels 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.

Visibilité de la télémétrie

Lorsque la télémétrie est activée, elle apparaît dans la sortie de EC2 la console Amazon 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 pour une seule instance, vous pouvez définir une variable d'environnement système ou utiliser le MSI pour modifier l'installation.

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 à l'aide duMSI, exécutez la commande suivante après avoir télécharger le. MSI

msiexec /i ".\AmazonEC2Launch.msi" Remove="Telemetry" /q