Konfigurieren einer Windows-Instance mithilfe von EC2Launch - 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.

Konfigurieren einer Windows-Instance mithilfe von EC2Launch

EC2Launch ist eine Reihe von PowerShell Windows-Skripts, die den EC2Config-Dienst auf Windows Server 2016- und 2019-AMIs ersetzt haben. Viele dieser AMIs sind noch verfügbar. EC2Launch v2 ist der neueste Launch-Agent für alle unterstützten Windows-Versionen, der sowohl EC2Config als auch EC2Launch ersetzt. Weitere Informationen finden Sie unter Konfigurieren einer Windows-Instance mithilfe von EC2Launch v2.

Anmerkung

Zur Verwendung von EC2Launch mit IMDSv2 muss die Version 1.3.2002730 oder höher vorhanden sein.

EC2Launch-Aufgaben

EC2Launch führt beim ersten Starten einer Instance standardmäßig die folgenden Aufgaben aus:

  • Richtet einen neuen Bildschirmhintergrund ein, der Informationen über die Instance gibt.

  • Legt den Computernamen auf die private IPv4-Adresse der Instance fest.

  • Sendet Instance-Informationen an die Amazon EC2-Konsole.

  • Sendet den RDP-Zertifikat-Thumbprint an die EC2-Konsole.

  • Richtet ein zufälliges Passwort für das Administratorkonto ein.

  • Fügt DNS-Suffixe hinzu.

  • Erweitert die Betriebssystempartition dynamisch mit nicht partitioniertem Speicherplatz.

  • Führt Benutzerdaten aus (falls angegeben). Weitere Informationen zur Angabe von Benutzerdaten finden Sie unter Arbeiten mit Instance-Benutzerdaten.

  • Legt persistente statische Routen fest, um den Metadatendienst und die AWS KMS Server zu erreichen.

    Wichtig

    Wenn aus dieser Instance ein benutzerdefiniertes AMI erstellt wird, werden diese Routen als Teil der OS-Konfiguration erfasst. Alle neuen Instances, die über dieses AMI gestartet werden, übernehmen ungeachtet der Subnetz-Platzierung dieselben Routen. Informationen zum Aktualisieren dieser Routen finden Sie unter Aktualisieren von Metadaten/KMS-Routen für Server 2016 und höher beim Starten eines benutzerdefinierten AMI.

Die folgenden Aufgaben tragen dazu bei, die Abwärtskompatibilität mit dem EC2Config-Service zu erhalten. Sie können EC2Launch auch zur Ausführung dieser Aufgaben beim Startup konfigurieren:

  • Initialisieren von sekundären EBS-Volumes.

  • Senden von Windows-Ereignisprotokollen an die EC2-Konsolenprotokolle.

  • Senden der Windows ist einsatzbereit-Meldung an die EC2-Konsole.

Weitere Informationen zu Windows Server 2019 finden Sie unter Vergleich der Features der Windows Server-Versionen auf Microsoft.com.

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 denen Sie Ihre Erfahrung mit AWS Diensten verbessern können.

EC2Launch-Version 1.3.2003498 und später erfassen Telemetriedaten wie Nutzungsmetriken und Fehler. Diese Daten werden von der Amazon-EC2-Instance erfasst, auf der EC2Launch ausgeführt wird. Dies schließt alle Windows-AMIs ein, die Eigentum von AWS.

EC2Launch erfasst folgende Telemetrie-Typen:

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

  • Fehler und Diagnoseinformationen – Agent-Installation und Ausführen von Fehlercodes.

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 Telemetriedaten ohne zusätzliche Kundenbenachrichtigungen.

Ihre Entscheidung, Telemetrie zu aktivieren oder zu deaktivieren, wird erfasst.

Sie können die Telemetriesammlung aktivieren oder deaktivieren. Ihre Auswahl zur Aktivierung bzw. Deaktivierung von Telemetrie wird erfasst, um sicherzustellen, dass wir die festgelegte Option einhalten.

Telemetrie-Sichtbarkeit

Wenn Telemetrie aktiviert ist, wird sie in der Ausgabe der Amazon-EC2-Konsole wie folgt angezeigt:

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

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 während der Installation zu deaktivieren, führen Sie install.ps1 wie folgt aus:

. .\install.ps1 -EnableTelemetry:$false

Prüfen der EC2Launch-Version

Verwenden Sie den folgenden PowerShell Windows-Befehl, um die installierte Version von EC2Launch zu überprüfen.

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

EC2Launch-Verzeichnisstruktur

EC2Launch wird bei AMIs mit Windows Server 2016 und höher standardmäßig im Stammverzeichnis C:\ProgramData\Amazon\EC2-Windows\Launch installiert.

Anmerkung

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

Das Verzeichnis Launch enthält die folgenden Unterverzeichnisse.

  • Scripts— Enthält die PowerShell Skripten, aus denen EC2Launch besteht.

  • Module — Enthält das Modul zum Aufbau von Amazon EC2-Scripts.

  • Config — Enthält Script-Konfigurationsdateien, die Sie anpassen können.

  • Sysprep — Enthält Sysprep-Ressourcen.

  • Settings — Enthält eine Anwendung für die grafische Benutzeroberfläche von Sysprep.

  • Library: Enthält freigegebene Bibliotheken für EC2-Startagenten.

  • Logs — Enthält von Scripts generierte Protokolldateien.

EC2Launch-Version und höher 1.3.2004592

Benutzer der Administrators Gruppe haben Full control Berechtigungen für alle EC2Launch-Verzeichnisse. Benutzer, die nicht zur Administratorgruppe gehören, haben Read & execute Berechtigungen für alle EC2Launch-Verzeichnisse außer. C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Config Das Config Verzeichnis ist auf Benutzer beschränkt, die Mitglieder der Administrators Gruppe sind.

EC2Launch-Version 1.3.2004491 und früher

Alle EC2Launch-Verzeichnisse erben ihre Berechtigungen von, außer C:\ProgramData C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Scripts Dieser Ordner erbt alle ursprünglichen Berechtigungen aus dem C:\ProgramData Zeitpunkt seiner Erstellung, entzieht normalen Benutzern jedoch den Zugriff auf das Verzeichnis. CreateFiles

Konfigurieren von EC2Launch

Wenn Ihre Instance zum ersten Mal initialisiert wurde, können Sie EC2Launch so konfigurieren, dass das Programm erneut ausgeführt wird und beim Startup verschiedene Aufgaben ausführt.

Konfigurieren von Initialisierungsaufgaben

Geben Sie die Einstellungen in der Datei LaunchConfig.json an, um die folgenden Initialisierungsaufgaben zu aktivieren oder zu deaktivieren:

  • Setzen Sie den Computernamen auf die private IPv4-Adresse der Instance.

  • Stellen Sie den Monitor so ein, dass er immer eingeschaltet bleibt.

  • Erstellen eines neuen Bildschirmhintergrunds.

  • Hinzufügen einer DNS-Suffixliste.

    Anmerkung

    Dadurch wird eine DNS-Suffix-Suffixsuche für die folgende Domäne hinzugefügt und andere Standardsuffixe konfiguriert. Weitere Informationen darüber, wie Launch-Agents DNS-Suffixe festlegen, finden Sie unter. Konfigurieren Sie das DNS-Suffix für Windows-Startagenten

    region.ec2-utilities.amazonaws.com
  • Erweitern der Größe des Boot-Volumes.

  • Legen Sie das Administrator-Passwort fest.

So konfigurieren Sie die Initialisierungseinstellungen
  1. Öffnen Sie in der Instance, die Sie konfigurieren möchten, die folgende Datei in einem Texteditor: C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json.

  2. Aktualisieren Sie nach Bedarf die folgenden Einstellungen, und speichern Sie Ihre Änderungen. Geben Sie in adminPassword nur dann ein Passwort an, wenn adminPasswordtype Specify ist.

    { "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)" }

    Die Passworttypen sind wie folgt definiert:

    Random

    EC2Launch generiert ein Passwort und verschlüsselt es mit dem Schlüssel des Benutzers: Die Einstellung wird vom System nach dem Start der Instance deaktiviert, so dass das Passwort weiterhin gilt, wenn die Instance neu gestartet bzw. angehalten und gestartet wird.

    Specify

    EC2Launch verwendet das Passwort, das Sie unter angebe adminPassword. Wenn das Passwort nicht den Systemanforderungen entspricht, erstellt EC2Launch stattdessen ein zufälliges Passwort. Das Passwort wird in LaunchConfig.json im Klartext gespeichert und gelöscht, wenn Sysprep das Administratorpasswort einstellt. EC2Launch verschlüsselt das Passwort mit dem Schlüssel des Benutzers.

    DoNothing

    EC2Launch verwendet das Passwort, das Sie in der Datei unattend.xml-Datei angeben. Wenn Sie in der Datei unattend.xml kein Passwort angeben, ist das Administratorkonto deaktiviert.

  3. Führen Sie in Windows den folgenden Befehl aus PowerShell, um die Ausführung des Skripts als geplante Windows-Aufgabe zu planen. Das Script wird beim nächsten Starten einmal ausgeführt und deaktiviert dann die erneute Ausführung dieser Aufgaben.

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

Planen von EC2Launch für die Ausführung bei jedem Start

Sie können EC2Launch so planen, dass es bei jedem Start läuft und nicht nur beim ersten Start.

So aktivieren Sie die Ausführung von EC2Launch bei jedem Start

  1. Öffnen Sie Windows PowerShell und führen Sie den folgenden Befehl aus:

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot
  2. Alternativ können Sie die ausführbare Datei mit dem folgenden Befehl ausführen:

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

    Wählen Sie dann Run EC2Launch on every boot aus. Sie können für Ihre EC2-Instance Shutdown without Sysprep oder Shutdown with Sysprep festlegen.

Anmerkung

Wenn Sie EC2Launch bei jedem Start aktivieren, passiert folgendes, wenn EC2Launch das nächste Mal ausgeführt wird:

  • Wenn AdminPasswordType immer noch auf Random gesetzt ist, generiert EC2Launch beim nächsten Booten ein neues Passwort. Nach diesem Bootvorgang wird AdminPasswordType automatisch auf DoNothing gesetzt, um zu verhindern, dass EC2Launch bei nachfolgenden Bootvorgängen neue Kennwörter generiert. Um zu verhindern, dass EC2Launch beim ersten Booten ein neues Passwort generiert, setzen Sie AdminPasswordType vor dem Neustart manuell auf DoNothing.

  • HandleUserData wird auf false zurückgesetzt, es sei denn, für die Benutzerdaten ist persist für die Einstellung true angegeben. Weitere Informationen finden Sie unter Benutzerdatenskripts.

Initialisieren von Laufwerken und Zuordnen von Laufwerksbuchstaben

Geben Sie die Einstellungen in der Datei DriveLetterMappingConfig.json an, um den Volumes auf Ihrer EC2-Instance Laufwerksbuchstaben zuzuordnen. Das Skript initialisiert Laufwerke, die noch nicht initialisiert und partitioniert sind. Weitere Informationen zum Abrufen von Volume-Details in Windows finden Sie unter Get-Volume in der Microsoft-Dokumentation.

So ordnen Sie Volumes Laufwerkbuchstaben zu
  1. Öffnen Sie die Datei C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json in einem Text-Editor.

  2. Geben Sie die folgenden Volume-Einstellungen an, und speichern Sie Ihre Änderungen:

    { "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] }
  3. Öffnen Sie Windows PowerShell und führen Sie mit dem folgenden Befehl das EC2Launch-Skript aus, das die Festplatten initialisiert:

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

    Fügen Sie die Flag -Schedule wie folgt hinzu, um die Datenträger bei jedem Start der Instance zu initialisieren:

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

Senden von Windows-Ereignisprotokollen an die EC2-Konsole

Geben Sie die Einstellungen in der Datei EventLogConfig.json an, damit Windows-Ereignisprotokolle an EC2-Konsolenprotokolle gesendet werden.

So konfigurieren Sie die Einstellungen zum Senden von Windows-Ereignisprotokollen
  1. Öffnen Sie in der Instance die Datei C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json in einem Text-Editor.

  2. Konfigurieren Sie die folgenden Protokoll-Einstellungen an, und speichern Sie Ihre Änderungen:

    { "events": [ { "logName": "System", "source": "An event source (optional)", "level": "Error | Warning | Information", "numEntries": 3 } ] }
  3. Führen Sie in Windows den folgenden Befehl aus PowerShell, sodass das System das Skript so plant, dass es bei jedem Start der Instance als geplante Windows-Aufgabe ausgeführt wird.

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

    Es kann drei Minuten oder länger dauern, bis die Protokolle in den EC2-Konsolenprotokollen angezeigt werden.

Senden einer „Windows ist einsatzbereit“-Meldung nach erfolgreichem Start

Der EC2Config-Service sendete nach jedem Starten die Meldung „Windows ist einsatzbereit“ an die EC2-Konsole. EC2Launch sendet diese Meldung nur nach dem ersten Starten. Um die Abwärtskompatibilität mit dem EC2Config-Service zu gewährleisten, können Sie EC2Launch so konfigurieren, dass diese Meldung nach jedem Startvorgang gesendet wird. Öffnen Sie auf der Instance Windows PowerShell und führen Sie den folgenden Befehl aus. Das System führt das Skript als geplante Windows-Task aus.

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