Den EC2Launch-v1-Agent in Ihrer Windows-Instance konfigurieren - Amazon Elastic Compute Cloud

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.

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
  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 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

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

    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:

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

    Wählen Sie dann au Run EC2Launch on every boot. 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 verwenden Sie den folgenden Befehl, um das EC2Launch-Skript auszuführen, das die Datenträger initialisiert:

    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:

    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 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 -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 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