Verwenden Sie den EC2Launch v2-Agenten, um Aufgaben beim Start der EC2 Windows-Instanz auszuführen - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie den EC2Launch v2-Agenten, um Aufgaben beim Start der EC2 Windows-Instanz auszuführen

Alle unterstützten Instances von AmazonEC2, die von AWS Windows Server 2022 aus gestartet werden, AMIs enthalten standardmäßig den EC2Launch v2-Startagenten (EC2Launch.exe). Wir bieten auch Windows Server 2016 und 2019 an, AMIs bei denen EC2Launch v2 als Standard-Launch-Agent installiert ist. Diese AMIs werden zusätzlich zu den Windows Server 2016 und 2019 bereitgestelltAMIs, die EC2Launch Version 1 enthalten. Sie können nach Windows suchenAMIs, das standardmäßig EC2Launch v2 enthält, indem Sie bei Ihrer Suche auf der AMIsSeite in der EC2 Amazon-Konsole das folgende Präfix eingeben:EC2LaunchV2-Windows_Server-*.

Informationen zum Vergleich der Funktionen der Launch Agent-Version finden Sie unterAmazon EC2 Launch Agents vergleichen.

EC2Launchv2 führt Aufgaben beim Instanzstart aus und wird ausgeführt, wenn eine Instanz gestoppt und später gestartet oder neu gestartet wird. EC2Launchv2 kann auch Aufgaben bei Bedarf ausführen. Einige dieser Aufgaben sind automatisch aktiviert, während andere manuell aktiviert werden müssen. Der EC2Launch v2-Dienst unterstützt alle EC2Config EC2Launch Funktionen.

Dieser Service verwendet eine Konfigurationsdatei zur Steuerung seines Betriebs. Sie können die Konfigurationsdatei entweder mit einem grafischen Tool aktualisieren oder direkt als einzelne .yml-Datei (agent-config.yml) bearbeiten. Die Binärdateien des Services befinden sich im %ProgramFiles%\Amazon\EC2Launch-Verzeichnis.

EC2Launchv2 veröffentlicht Windows-Ereignisprotokolle, um Ihnen bei der Behebung von Fehlern und beim Einrichten von Auslösern zu helfen. Weitere Informationen finden Sie unter Windows-Ereignisprotokolle.

Der EC2Launch v2-Agent unterstützt die folgenden Versionen des Windows Server-Betriebssystems (OS):

Unterstützte Betriebssystemversionen
  • Windows Server 2022

  • Windows Server 2019 (Langzeitwartungskanal und halbjährlicher Kanal)

  • Windows Server 2016

EC2Launchv2-Konzepte

Es ist hilfreich, die folgenden Konzepte zu verstehen, wenn Sie EC2Launch v2 in Betracht ziehen.

Aufgabe

Sie können eine Aufgabe aufrufen, um eine Aktion für eine Instance durchzuführen. Sie können Aufgaben in der agent-config.yml-Datei oder über Benutzerdaten konfigurieren. Eine Liste der verfügbaren Aufgaben für EC2Launch Version 2 finden Sie unter Aufgaben EC2Launch der Version 2. Schemata und Einzelheiten zur Aufgabenkonfiguration finden Sie unter EC2LaunchKonfiguration der v2-Aufgabe.

Stufe

Eine Phase ist eine logische Gruppierung von Aufgaben, die der EC2Launch v2-Agent ausführt. Einige Aufgaben können nur in einer bestimmten Phase ausgeführt werden. Andere können in mehreren Phasen ausgeführt werden. Bei der Verwendung von agent-config.yml müssen Sie eine Liste von Stufen und eine Liste von Aufgaben angeben, die innerhalb jeder Stufe ausgeführt werden sollen.

Der Service führt die Phasen in der folgenden Reihenfolge aus:

Phase 1: Boot

Phase 2: Netzwerk

Stufe 3: PreReady

Windows ist bereit

Nach Abschluss der PreReady Phase sendet der Service die Windows is ready Nachricht an die EC2 Amazon-Konsole.

Stufe 4: PostReady

Benutzerdaten werden während der PostReadyPhase ausgeführt. Einige Skriptversionen werden vor der agent-config.yml PostReadyDateiphase ausgeführt, andere danach, und zwar wie folgt:

Vor agent-config.yml
  • YAMLBenutzerdaten, Version 1.1

  • XMLBenutzerdaten

Nach agent-config.yml
  • YAMLBenutzerdaten Version 1.0 (Legacy-Version aus Gründen der Abwärtskompatibilität)

Beispiele für Phasen und Aufgaben finden Sie unter Beispiel: agent-config.yml.

Wenn Sie Benutzerdaten verwenden, müssen Sie eine Liste von Aufgaben angeben, die der Startagent ausführen soll. Die Phase ist impliziert. Beispiele für Aufgaben finden Sie unter Beispiel: Benutzerdaten.

EC2Launchv2 führt die Liste der Aufgaben in der Reihenfolge aus, die Sie in agent-config.yml und in den Benutzerdaten angeben. Die Phasen werden der Reihe nach ausgeführt. Die nächste Phase beginnt, nachdem die vorherige Phase abgeschlossen ist. Aufgaben werden nacheinander ausgeführt.

Häufigkeit

Die Frequenz der Aufgaben bestimmt, wann Aufgaben ausgeführt werden sollen, abhängig vom Startkontext. Die meisten Aufgaben haben nur eine zulässige Frequenz. Sie können eine Frequenz für executeScript-Aufgaben festlegen.

Sie können die folgenden Frequenzen in der EC2LaunchKonfiguration der v2-Aufgabe anzeigen.

  • Einmal — Die Aufgabe wird einmal ausgeführt, wenn sie zum ersten Mal gestartet AMI wurde (Sysprep beendet).

  • Immer – Die Aufgabe wird jedes Mal ausgeführt, wenn der Startagent ausgeführt wird. Der Launch-Agent wird ausgeführt, wenn:

    • eine Instance startet oder neu startet

    • der Dienst wird ausgeführt EC2Launch

    • EC2Launch.exe run wird aufgerufen

agent-config

agent-configist eine Datei, die sich im Konfigurationsordner für EC2Launch v2 befindet. Sie umfasst die Konfiguration für den Start, das Netzwerk und die PostReady Stufen. PreReady Diese Datei wird verwendet, um die Instanzkonfiguration für Aufgaben anzugeben, die ausgeführt werden sollen, wenn die entweder zum ersten Mal gestartet AMI wird, oder für spätere Male.

Standardmäßig installiert die EC2Launch v2-Installation eine agent-config Datei, die empfohlene Konfigurationen enthält, die im standardmäßigen Amazon Windows verwendet werdenAMIs. Sie können die Konfigurationsdatei aktualisieren, um das standardmäßige Boot-Erlebnis für Sie zu ändernAMI, das in EC2Launch Version 2 angegeben ist.

Benutzerdaten

Benutzerdaten sind Daten, die beim Starten einer Instance konfiguriert werden können. Sie können Benutzerdaten aktualisieren, um dynamisch zu ändern, wie benutzerdefinierte Einstellungen AMIs oder Schnellstartkonfigurationen konfiguriert AMIs werden. EC2Launchv2 unterstützt eine Benutzerdateneingabelänge von 60 kB. Benutzerdaten enthalten nur den UserData Stagingbereich und werden daher nach der agent-config Datei ausgeführt. Sie können Benutzerdaten eingeben, wenn Sie eine Instance mit dem Launch-Instance-Assistenten starten, oder Sie können Benutzerdaten von der EC2 Konsole aus ändern. Weitere Informationen zum Arbeiten mit Benutzerdaten finden Sie unter Wie Amazon EC2 mit Benutzerdaten für Windows-Instances umgeht.

EC2LaunchÜbersicht über die v2-Aufgaben

EC2Launchv2 kann bei jedem Start die folgenden Aufgaben ausführen:

  • Einrichten eines neuen und optional angepassten Hintergrundbildes, das Informationen über die Instance wiedergibt.

  • Festlegen der Attribute für das Administratorkonto, das auf dem lokalen Computer erstellt wird.

  • Fügen Sie der Liste der DNS Suchsuffixe Suffixe hinzu. Nur Suffixe, die noch nicht vorhanden sind, werden der Liste hinzugefügt.

  • Festlegen von Laufwerkbuchstaben für zusätzliche Volumes und deren Erweiterung, um den verfügbaren Speicherplatz zu nutzen.

  • Schreiben Sie Dateien aus der Konfiguration auf die Festplatte.

  • Führt die in der EC2Launch v2-Konfigurationsdatei angegebenen Skripts aus oder vonuser-data. Skripte von user-data können Klartext oder gezippt sein und im Base64-Format bereitgestellt werden.

  • Führen Sie ein Programm mit angegebenen Argumenten aus.

  • Erstellen des Computer-Namens.

  • Senden Sie Instance-Informationen an die EC2 Amazon-Konsole.

  • Senden Sie den Fingerabdruck des RDP Zertifikats an die EC2 Amazon-Konsole.

  • Erweiterung der Betriebssystempartition, um den gesamten nicht partitionierten Speicherplatz mit einzuschließen.

  • Führen Sie Benutzerdaten aus. Weitere Informationen zur Angabe von Benutzerdaten finden Sie unter EC2LaunchKonfiguration der v2-Aufgabe.

  • Legen Sie nicht-persistente statische Routen fest, um den Metadatendienst und die AWS KMS -Server zu erreichen.

  • Setzen Sie Partitionen, die nicht zum Starten verwendet werden, auf oder. mbr gpt

  • Starten Sie den Systems-Manager-Service nach Sysprep.

  • Optimieren Sie die ENA Einstellungen.

  • Aktivieren Sie „Öffnen“ SSH für spätere Windows-Versionen.

  • Aktivieren von Jumbo-Frames.

  • Stellen Sie Sysprep so ein, dass es mit EC2Launch Version 2 ausgeführt wird.

  • Veröffentlichen von Windows-Ereignisprotokollen.

EC2Launchv2-Verzeichnisstruktur

EC2Launchv2 sollte in den folgenden Verzeichnissen installiert werden:

  • Service-Binärdateien: %ProgramFiles%\Amazon\EC2Launch

  • Servicedaten (Einstellungen, Protokolldateien und Statusdateien): %ProgramData%\Amazon\EC2Launch

Anmerkung

Windows blendet Dateien und Ordner unter C:\ProgramData standardmäßig aus. Um EC2Launch v2-Verzeichnisse und -Dateien anzuzeigen, müssen Sie entweder den Pfad im Windows Explorer eingeben oder die Ordnereigenschaften so ändern, dass versteckte Dateien und Ordner angezeigt werden.

Das %ProgramFiles%\Amazon\EC2Launch-Verzeichnis enthält Binärdateien und unterstützende Bibliotheken. Es enthält die folgenden Unterverzeichnisse:

  • settings

    • EC2LaunchSettingsUI.exe — Benutzeroberfläche zum Ändern der agent-config.yml-Datei

    • YamlDotNet.dll— DLL zur Unterstützung einiger Operationen in der Benutzeroberfläche

  • tools

    • ebsnvme-id.exe— Tool zur Untersuchung der Metadaten der EBS Volumes auf der Instanz

    • AWSAcpiSpcrReader.exe— Tool zur Bestimmung des richtigen zu verwendenden COM Ports

    • EC2LaunchEventMessage.dll— DLL zur Unterstützung der Windows-Ereignisprotokollierung fürEC2Launch.

  • service

    • EC2LaunchService.exe — Ausführbare Windows-Dienstdatei, die gestartet wird, wenn der Launch-Agent als Dienst ausgeführt wird.

  • EC2Launch.exe— EC2Launch Haupt-Programmdatei

  • EC2LaunchAgentAttribution.txt— Zuordnung für Code, der in EC2 Launch verwendet wird

Das Verzeichnis %ProgramData%\Amazon\EC2Launch enthält die folgenden Unterverzeichnisse. Alle von dem Service erzeugten Daten, einschließlich Protokolle, Konfiguration und Status, werden in diesem Verzeichnis gespeichert.

  • config— Konfiguration

    Die Servicekonfigurationsdatei wird in diesem Verzeichnis als agent-config.yml gespeichert. Diese Datei kann aktualisiert werden, um Standardaufgaben zu ändern, hinzuzufügen oder zu entfernen, die von dem Service ausgeführt werden. Die Berechtigung zum Erstellen von Dateien in diesem Verzeichnis ist auf das Administratorkonto beschränkt, um die Eskalation von Berechtigungen zu verhindern.

  • log— Instanzprotokolle

    Protokolle für den Dienst (agent.log), die Konsole (console.log), die Leistung (bench.log), die Fehler (err.log) und die Telemetrie () telemetry.log werden in diesem Verzeichnis gespeichert. Protokolldateien werden bei nachfolgenden Ausführungen des Services angehängt.

  • state— Daten zum Dienststatus

    Hier wird der Status gespeichert, mit dem der Service ermittelt wird, welche Aufgaben ausgeführt werden sollen. Es gibt eine .run-once-Datei, die angibt, ob der Service bereits nach Sysprep ausgeführt wurde (so dass Aufgaben mit der Häufigkeit "einmal" bei der nächsten Ausführung übersprungen werden). Dieses Unterverzeichnis enthält ein state.json und previous-state.json, um den Status jeder Aufgabe zu verfolgen.

  • sysprep— Sysprep

    Dieses Verzeichnis enthält Dateien, anhand derer bestimmt wird, welche Operationen von Sysprep ausgeführt werden sollen, wenn es ein benutzerdefiniertes Windows erstelltAMI, das wiederverwendet werden kann.

  • wallpaper— Hintergrundbild

    Diese Hintergrundbilder werden in diesem Verzeichnis gespeichert.

Telemetrie

Bei Telemetrie handelt es sich AWS um zusätzliche Informationen, die Ihnen helfen, Ihre Anforderungen besser zu verstehen, Probleme zu diagnostizieren und Funktionen bereitzustellen, mit AWS -Services denen Sie Ihr Benutzererlebnis verbessern können.

EC2LaunchAb Version 2.0.592 v2 werden Telemetriedaten wie Nutzungsmetriken und Fehler erfasst. Diese Daten werden von der EC2 Amazon-Instance gesammelt, auf der EC2Launch v2 läuft. Dies schließt alle Windows ein, die AMIs Eigentum von sind AWS.

Die folgenden Telemetriearten werden von EC2Launch v2 erfasst:

  • Nutzungsinformationen – Agent-Befehle, Installationsmethode und geplante Ausführungsfrequenz.

  • Fehler und Diagnoseinformationen — Fehlercodes bei der Agenteninstallation, Fehlercodes bei der Ausführung und Aufruflisten von Fehlern.

Beispiele für die gesammelten Daten:

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

Die Telemetrie ist standardmäßig aktiviert. Sie können die Telemetriesammlung jederzeit deaktivieren. Wenn Telemetrie aktiviert ist, sendet EC2Launch v2 Telemetriedaten ohne zusätzliche Kundenbenachrichtigungen.

Telemetrie-Sichtbarkeit

Wenn Telemetrie aktiviert ist, wird sie in der EC2 Amazon-Konsolenausgabe wie folgt angezeigt.

2021/07/15 21:44:12Z: Telemetry: <Data>
Deaktivieren der Telemetrie auf einer Instance

Um die Telemetrie für eine einzelne Instance zu deaktivieren, können Sie entweder eine Systemumgebungsvariable festlegen oder die verwenden, MSI um die Installation zu ändern.

Um Telemetrie durch Festlegen einer Systemumgebungsvariablen zu deaktivieren, führen Sie den folgenden Befehl als Administrator aus.

setx /M EC2LAUNCH_TELEMETRY 0

Um die Telemetrie mit dem zu deaktivierenMSI, führen Sie den folgenden Befehl aus, nachdem Sie den heruntergeladen haben. MSI

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