Ein AMI mithilfe von Windows Sysprep mit EC2Launch erstellen
Wenn Sie ein Image aus einer Instance erstellen, auf der der Agent EC2Launch installiert ist, führt EC2Launch während der Vorbereitung des Images bestimmte Aufgaben aus. Dies beinhaltet die Arbeit mit Windows Sysprep. Weitere Informationen finden Sie unter Sysprep-Phasen von Windows.
EC2Launch bietet eine standardmäßige Antwortdatei und Batch-Dateien für Windows Sysprep, mit denen die Image-Vorbereitung auf Ihrem AMI automatisiert und gesichert wird. Das Ändern dieser Dateien ist optional. Sie befinden sich standardmäßig in folgendem Verzeichnis: C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep.
Wichtig
Verwenden Sie Windows Sysprep nicht zum Erstellen eines Instance-Backups. Windows Sysprep entfernt systemspezifische Informationen. Wenn Sie diese Informationen entfernen, könnte dies bei einer Instance-Sicherung unbeabsichtigte Folgen haben.
Inhalt
EC2Launch-Antwort- und -Batchdateien für Windows Sysprep
Die EC2Launch-Antwortdatei und die Batch-Dateien für Windows Sysprep enthalten Folgendes:
Unattend.xml-
Dies ist die standardmäßige Antwortdatei. Wenn Sie
SysprepInstance.ps1ausführen oder auf der Benutzeroberfläche auf ShutdownWithSysprep klicken, liest das System die Einstellung aus dieser Datei. BeforeSysprep.cmd-
Passen Sie diese Batch-Datei so an, dass Befehle ausgeführt werden, bevor EC2Launch Windows Sysprep ausführt.
SysprepSpecialize.cmd-
Passen Sie diese Batch-Datei so an, dass Befehle während der Windows-Sysprep-Spezialisierungsphase ausführt werden.
Windows Sysprep mit EC2Launch ausführen
Bei der vollständigen Installation von Windows Server 2016 und höher (mit Desktoperfahrung) können Sie Windows Sysprep manuell mit EC2Launch oder mit der Anwendung der EC2-Starteinstellungen ausführen.
So führen Sie Windows Sysprep mit der Anwendung für EC2Launch-Einstellungen aus
-
Suchen oder erstellen Sie in der Amazon EC2-Konsole ein AMI mit Windows Server 2016 oder höher.
-
Starten Sie über das AMI eine Windows-Instance.
-
Stellen Sie eine Verbindung mit Ihrer Windows-Instance her, und passen Sie sie an.
-
Suchen Sie die Anwendung EC2LaunchSettings, und führen Sie sie aus. Standardmäßig befindet sie sich in folgendem Verzeichnis:
C:\ProgramData\Amazon\EC2-Windows\Launch\Settings.
-
Wählen oder löschen Sie die Optionen nach Bedarf. Diese Einstellungen werden in der Datei
LaunchConfig.jsongespeichert. -
Gehen Sie für Administrator Password wie folgt vor:
-
Wählen Sie 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.
-
Wählen Sie Specify, und geben Sie ein Passwort ein, das den Systemanforderungen entspricht. Das Passwort wird in
LaunchConfig.jsonim Klartext gespeichert und gelöscht, wenn Windows Sysprep das Administratorpasswort einstellt. Wenn Sie den Service gleich beenden, wird das Passwort sofort festgelegt. EC2Launch verschlüsselt das Passwort mit dem Schlüssel des Benutzers. -
Wählen Sie DoNothing und geben Sie ein Kennwort in der
unattend.xml-Datei an. Wenn Sie in der Dateiunattend.xmlkein Passwort angeben, ist das Administratorkonto deaktiviert.
-
-
Wählen Sie Shutdown with Sysprep (Herunterfahren mit Sysprep).
So führen Sie Windows Sysprep manuell mit EC2Launch aus
-
Finden oder erstellen Sie in der Amazon EC2-Konsole ein AMI der Datacenter-Edition von Windows Server 2016 oder höher, das Sie duplizieren wollen.
-
Starten Sie die Windows-Instance und stellen Sie eine Verbindung zu ihr her.
-
Passen Sie die Instance an.
-
Geben Sie Einstellungen in der Datei
LaunchConfig.jsonan. Diese Datei befindet sich standardmäßig im VerzeichnisC:\ProgramData\Amazon\EC2-Windows\Launch\Config.Geben Sie für
adminPasswordTypeeinen der folgenden Werte an: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 Windows 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.
-
(Optional) Geben Sie Einstellungen in
unattend.xmlund anderen Konfigurationsdateien an. Wenn Sie eine beaufsichtigte Installation planen, brauchen Sie keine Änderung in diesen Dateien vorzunehmen. Die Dateien befinden sich standardmäßig in folgendem Verzeichnis:C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep. -
Führen Sie in Windows PowerShell au
./InitializeInstance.ps1 -Schedule. Das Script befindet sich standardmäßig in folgendem Verzeichnis:C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts. Dieses Script plant die Initialisierung der Instance beim nächsten Starten. Sie müssen diese Script ausführen, bevor Sie im nächsten Schritt das ScriptSysprepInstance.ps1ausführen. -
Führen Sie in Windows PowerShell au
./SysprepInstance.ps1. Das Script befindet sich standardmäßig in folgendem Verzeichnis:C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts.
Sie werden von der Instance abgemeldet und die Instance wird beendet. Auf der Seite Instances in der Amazon EC2-Konsole wechselt der Instance-Zustand von Running zu Stopping und zu Stopped. Jetzt kann ein AMI aus dieser Instance erstellt werden.
Aktualisieren von Metadaten/KMS-Routen für Server 2016 und höher beim Starten eines benutzerdefinierten AMI
So aktualisieren Sie Metadaten/KMS-Routen für Server 2016 und höher beim Starten eines benutzerdefinierten AMI:
-
Führen Sie die GUI EC2LaunchSettings (C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe) aus und wählen Sie die Option zum Herunterfahren mit Windows Sysprep aus.
-
Führen Sie EC2LaunchSettings aus und fahren Sie ohne Windows Sysprep vor dem Erstellen des AMI herunter. Dadurch wird veranlasst, dass die Initialisierungsaufgaben des EC2-Starts beim nächsten Systemstart ausgeführt werden. Die Routen werden dann basierend auf dem Subnetz für die Instance festgelegt.
-
Oder planen Sie die Initialisierungsaufgaben des EC2-Starts manuell neu, bevor Sie ein AMI über PowerShell erstellen.
Wichtig
Beachten Sie das Standardverhalten beim Zurücksetzen des Passworts, bevor Sie Aufgaben neu planen.
-
Informationen zum Aktualisieren der Routen auf einer ausgeführten Instance, bei der eine Windows-Aktivierung oder Kommunikation mit Instance-Metadatenfehlern auftritt, finden Sie unter „Windows kann nicht aktiviert werden“.