Ein AMI mithilfe von Windows Sysprep mit EC2Launch erstellen - Amazon Elastic Compute Cloud

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.

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.ps1 ausfü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
  1. Suchen oder erstellen Sie in der Amazon EC2-Konsole ein AMI mit Windows Server 2016 oder höher.

  2. Starten Sie über das AMI eine Windows-Instance.

  3. Stellen Sie eine Verbindung mit Ihrer Windows-Instance her, und passen Sie sie an.

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

    Anwendung der EC2-Starteinstellungen
  5. Wählen oder löschen Sie die Optionen nach Bedarf. Diese Einstellungen werden in der Datei LaunchConfig.json gespeichert.

  6. 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.json im 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 Datei unattend.xml kein Passwort angeben, ist das Administratorkonto deaktiviert.

  7. Wählen Sie Shutdown with Sysprep (Herunterfahren mit Sysprep).

So führen Sie Windows Sysprep manuell mit EC2Launch aus
  1. 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.

  2. Starten Sie die Windows-Instance und stellen Sie eine Verbindung zu ihr her.

  3. Passen Sie die Instance an.

  4. Geben Sie Einstellungen in der Datei LaunchConfig.json an. Diese Datei befindet sich standardmäßig im Verzeichnis C:\ProgramData\Amazon\EC2-Windows\Launch\Config.

    Geben Sie für adminPasswordType einen 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 in LaunchConfig.json im 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 Datei unattend.xml kein Passwort angeben, ist das Administratorkonto deaktiviert.

  5. (Optional) Geben Sie Einstellungen in unattend.xml und 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.

  6. 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 Script SysprepInstance.ps1 ausführen.

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