Den EC2Launch-v1-Agent in Ihrer Windows-Instance konfigurieren
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.
Aufgaben
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-Suffixsuche für die folgende Domain hinzugefügt und andere Standardsuffixe konfiguriert. Weitere Informationen zur Einrichtung von DNS-Suffixen durch Start-Agenten finden Sie unter Das DNS-Suffix für EC2-Windows-Start-Agenten konfigurieren.
region.ec2-utilities.amazonaws.com -
Erweitern der Größe des Boot-Volumes.
-
Legen Sie das Administrator-Passwort fest.
So konfigurieren Sie die Initialisierungseinstellungen
-
Ö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. -
Aktualisieren Sie nach Bedarf die folgenden Einstellungen, und speichern Sie Ihre Änderungen. Geben Sie in
adminPasswordnur dann ein Passwort an, wennadminPasswordtypeSpecifyist.{ "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 inLaunchConfig.jsonim 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 Dateiunattend.xmlkein Passwort angeben, ist das Administratorkonto deaktiviert.
-
Führen Sie in Windows PowerShell den folgenden Befehl aus, sodass das Skript vom System als Windows-Task eingeplant wird. Das Script wird beim nächsten Starten einmal ausgeführt und deaktiviert dann die erneute Ausführung dieser Aufgaben.
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
-
Öffnen Sie Windows PowerShell und führen Sie den folgenden Befehl aus:
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot -
Alternativ können Sie die ausführbare Datei mit dem folgenden Befehl ausführen:
C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exeWählen Sie dann au
Run EC2Launch on every boot. Sie können für Ihre EC2-InstanceShutdown without SysprepoderShutdown with Sysprepfestlegen.
Anmerkung
Wenn Sie EC2Launch bei jedem Start aktivieren, passiert folgendes, wenn EC2Launch das nächste Mal ausgeführt wird:
-
Wenn
AdminPasswordTypeimmer noch aufRandomgesetzt ist, generiert EC2Launch beim nächsten Booten ein neues Passwort. Nach diesem Bootvorgang wirdAdminPasswordTypeautomatisch aufDoNothinggesetzt, 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 SieAdminPasswordTypevor dem Neustart manuell aufDoNothing. -
HandleUserDatawird auffalsezurückgesetzt, es sei denn, für die Benutzerdaten istpersistfür die Einstellungtrueangegeben. 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
So ordnen Sie Volumes Laufwerkbuchstaben zu
-
Öffnen Sie die Datei
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.jsonin einem Text-Editor. -
Geben Sie die folgenden Volume-Einstellungen an, und speichern Sie Ihre Änderungen:
{ "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] } -
Öffnen Sie Windows PowerShell und verwenden Sie den folgenden Befehl, um das EC2Launch-Skript auszuführen, das die Datenträger initialisiert:
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1Fügen Sie die Flag
-Schedulewie folgt hinzu, um die Datenträger bei jedem Start der Instance zu initialisieren: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
-
Öffnen Sie in der Instance die Datei
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.jsonin einem Text-Editor. -
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} ] } -
Führen Sie in Windows PowerShell den folgenden Befehl aus, so dass das Script vom System jedes Mal, wenn die Instance startet, als geplante Windows-Task ausgeführt wird.
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendEventLogs.ps1 -ScheduleEs 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 Windows PowerShell in der Instance, und führen Sie den folgenden Befehl aus. Das System führt das Skript als geplante Windows-Task aus.
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendWindowsIsReady.ps1 -Schedule