Einstellungen für EC2Launch v2 - 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.

Einstellungen für EC2Launch v2

Dieser Abschnitt enthält Informationen zum Konfigurieren von Einstellungen für EC2Launch v2.

Ändern der Einstellungen mithilfe des Dialogfelds für EC2Launch v2-Einstellungen

Der folgende Vorgang beschreibt, wie die Einstellungen anhand des Dialogfelds für EC2Launch v2-Einstellungen aktiviert bzw. deaktiviert werden.

Anmerkung

Wenn Sie benutzerdefinierte Aufgaben in der Datei agent-config.yml falsch konfigurieren und versuchen, das Dialogfeld mit den Amazon-EC2Launch-Einstellungen zu öffnen, erhalten Sie eine Fehlermeldung. Ein Beispielschema finden Sie unter Beispiel: agent-config.yml.

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

  2. Wählen Sie im Startmenü All Programs (Alle Programme) und navigieren Sie zu den EC2Launch settings (Einstellungen).

    Anwendung der EC2-Starteinstellungen.
  3. Aktivieren bzw. deaktivieren Sie auf der Registerkarte General (Allgemeines) im Dialogfeld EC2Launch Service Properties (EC2Launch-Service-Eigenschaften) die folgenden Einstellungen.

    1. Set Computer Name

      Wenn diese Einstellung aktiviert ist (standardmäßig deaktiviert), wird der aktuelle Hostname bei jedem Start mit dem gewünschten Host-Namen verglichen. Wenn die Host-Namen nicht übereinstimmen, wird der Host-Name zurückgesetzt, und das System wird optional neu gestartet, um den neuen Host-Namen aufzunehmen. Wenn kein benutzerdefinierter Host-Name angegeben wird, wird er mit der hexadezimalformatierten privaten IPv4-Adresse generiert, beispielsweise ip-AC1F4E6. Um zu verhindern, dass Ihr bestehender Hostname geändert wird, aktivieren Sie diese Einstellung nicht.

    2. Extend Boot Volume (Erweitern des Start-Volumes)

      Diese Einstellung erweitert Festplatte Disk 0/Volume 0 dynamisch so, dass der gesamte nicht partitionierte Speicherplatz eingeschlossen ist. Dies ist nützlich, wenn die Instance von einem Root-Gerät-Volume gestartet wird, das eine benutzerdefinierte Größe besitzt.

    3. Set Administrator Account (Festlegen des Administratorkontos)

      Wenn diese Option aktiviert ist, können Sie die Attribute „Username (Benutzername)“ und „Password (Passwort)“ für das Administratorkonto festlegen, das auf Ihrem lokalen Computer erstellt wird. Wenn dieses Feature nicht aktiviert ist, wird auf dem System nach Sysprep kein Administratorkonto erstellt. Geben Sie in adminPassword nur dann ein Passwort an, wenn adminPasswordtype Specify ist.

      Die Passworttypen sind wie folgt definiert:

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

      2. Specify

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

      3. Do not set

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

    4. Start SSM Service (Starten des SSM-Services)

      Wenn diese Option ausgewählt ist, wird der Systems Manager Dienst aktiviert, um nach Sysprep zu starten. EC2Launch v2 führt alle zuvor beschriebenen Aufgaben aus und SSM Agent verarbeitet Anforderungen für Systems Manager-Funktionen wie Run Command und Statusmanager.

      Sie können über Run Command Ihre vorhandenen Instances upgraden, damit diese die aktuelle Version des EC2Launch v2-Service und von SSM Agent verwenden. Weitere Informationen erhalten Sie unter Aktualisieren von SSM Agent mit Run Command im AWS Systems Manager-Benutzerhandbuch.

    5. Optimize ENA (Optimieren von ENA)

      Wenn diese Option ausgewählt ist, werden die ENA-Einstellungen so konfiguriert, dass die ENA-Einstellungen für AWS Receive Side Scaling und Receive Queue Depth optimiert sind. Weitere Informationen finden Sie unter Konfigurieren von RSS-CPU-Affinität.

    6. Enable SSH (Aktivieren von SSH)

      Diese Einstellung aktiviert OpenSSH für spätere Windows-Versionen, um die Remote-Systemverwaltung zu ermöglichen.

    7. Enable Jumbo Frames (Aktivieren von Jumbo Frames)

      Wählen Sie diese Option aus, um Jumbo Frames zu aktivieren. Jumbo Frames können unbeabsichtigte Auswirkungen auf Ihre Netzwerkkommunikation haben. Stellen Sie also sicher, dass Sie wissen, wie sich Jumbo Frames auf Ihr System auswirken, bevor Sie diese aktivieren. Weitere Informationen zu Jumbo Frames finden Sie unter Jumbo-Frames (9001 MTU).

    8. Prepare for Imaging (Vorbereitung zum Imaging)

      Wählen Sie aus, ob Ihre EC2-Instance mit oder ohne Sysprep heruntergefahren werden soll. Wenn Sie Sysprep mit EC2Launch v2 ausführen möchten, wählen Sie Shutdown with Sysprep (Mit Sysprep herunterfahren).

  4. Auf der Registerkarte DNS Suffix (DNS-Suffix) können Sie auswählen, ob Sie eine DNS-Suffixliste für die DNS-Auflösung von Servern mit EC2 hinzufügen möchten, ohne den vollqualifizierten Domain-Namen anzugeben. DNS-Suffixe können die Variablen $REGION und $AZ enthalten. Nur Suffixe, die noch nicht vorhanden sind, werden der Liste hinzugefügt.

    Anwendung der EC2-Starteinstellungen.
  5. Auf der Registerkarte Hintergrundbild können Sie Ihr Instance-Hintergrundbild mit einem Hintergrundbild konfigurieren und Instance-Details für das anzuzeigende Hintergrundbild angeben. Amazon EC2 generiert die Details bei jeder Anmeldung.

    Sie können Ihr Hintergrundbild mit den folgenden Steuerelementen konfigurieren.

    • Instance-Details auf dem Hintergrundbild anzeigen – Dieses Kontrollkästchen aktiviert oder deaktiviert die Anzeige von Instance-Details auf dem Hintergrundbild.

    • Image-Pfad (.jpg) – Geben Sie den Pfad zu dem Image an, das als Hintergrundhintergrund verwendet werden soll.

    • Auf Hintergrund anzuzeigende Attribute auswählen – Aktivieren Sie die Kontrollkästchen für die Instance-Details, die auf dem Hintergrund angezeigt werden sollen. Deaktivieren Sie die Kontrollkästchen für zuvor ausgewählte Instance-Details, die Sie aus dem Hintergrundbild entfernen möchten.

    • Instance-Tags auf Hintergrundbild anzeigen – Wählen Sie eine der folgenden Einstellungen aus, um Instance-Tags auf dem Hintergrundbild anzuzeigen:

      • Keine – Keine Instance-Tags auf dem Hintergrundbild anzeigen.

      • Alles anzeigen – Alle Instance-Tags auf dem Hintergrund anzeigen.

      • Gefiltert anzeigen – Angegebene Instance-Tags auf dem Hintergrundbild anzeigen. Wenn Sie diese Einstellung wählen, können Sie die Instance-Tags, die Sie auf Ihrem Hintergrundbild anzeigen möchten, zum Feld Instance-Tag-Filter hinzufügem.

        Anmerkung

        Sie müssen Tags in Metadaten aktivieren, um Tags auf dem Hintergrundbild anzuzeigen. Weitere Informationen zu Instance-Tags und Metadaten finden Sie unter Arbeiten mit Instance-Tags in Instance-Metadaten.

    EC2-Starteinstellungen, Registerkarte „Hintergrundbild“.
  6. Wählen Sie auf der Registerkarte Volumes aus, ob Sie die Volumes initialisieren möchten, die der Instance angefügt sind. Durch die Aktivierung werden Laufwerkbuchstaben für zusätzliche Volumes festgelegt und diese erweitert, um verfügbaren Speicherplatz zu nutzen. Wenn Sie All (Alle) auswählen, werden alle Speicher-Volumes initialisiert. Wenn Sie Devices (Geräte) auswählen, werden nur Geräte initialisiert, die in der Liste angegeben sind. Sie müssen jedes zu initialisierende Gerät eingeben. Verwenden Sie beispielsweise die Geräte, die auf der EC2-Konsole aufgeführt sind, xvdb oder /dev/nvme0n1. In der Dropdown-Liste werden die Speicher-Volumes angezeigt, die der Instance zugeordnet sind. Um ein Gerät einzugeben, das nicht an die Instance angefügt ist, geben Sie es in das Textfeld ein.

    Name, Letter (Buchstabe) und Partition sind optionale Felder. Wenn kein Wert für Partition angegeben ist, werden Speichervolumes, die größer als 2 TB sind, mit dem gpt Partitionstyp initialisiert, und Speichervolumes, die kleiner als 2 TB sind, werden mit dem mbr Partitionstyp initialisiert. Wenn Geräte konfiguriert sind und ein Nicht-NTFS-Gerät entweder eine Partitionstabelle enthält oder die ersten 4 KB des Datenträgers Daten enthalten, wird der Datenträger übersprungen und die Aktion protokolliert.

    Anwendung der EC2-Starteinstellungen.

Nachfolgend finden Sie ein Beispiel für eine YAML-Konfigurationsdatei, die aus den Einstellungen erstellt wurde, die im EC2Launch-Dialog eingegeben wurden.

version: 1.0 config: - stage: boot tasks: - task: extendRootPartition - stage: preReady tasks: - task: activateWindows inputs: activation: type: amazon - task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com - task: setAdminAccount inputs: password: type: random - task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress - instanceSize - availabilityZone - architecture - memory - network - stage: postReady tasks: - task: startSsm

EC2Launch v2-Verzeichnisstruktur

EC2Launch v2 sollte in den folgenden Verzeichnissen installiert werden:

  • Service-Binärdateien: %ProgramFiles%\Amazon\EC2Launch

  • Servicedaten (Einstellungen, Protokolldateien und Statusdateien): %ProgramData%\Amazon\EC2Launch

Anmerkung

Windows blendet Dateien und Ordner unter C:\ProgramData standardmäßig aus. Um die EC2Launch v2-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 %ProgramFiles%\Amazon\EC2Launch-Verzeichnis enthält Binärdateien und unterstützende Bibliotheken. Es enthält die folgenden Unterverzeichnisse:

  • settings

    • EC2LaunchSettingsUI.exe — Benutzeroberfläche zum Ändern der agent-config.yml-Datei

    • YamlDotNet.dll — DLL zur Unterstützung einiger Operationen der Benutzeroberfläche

  • tools

    • ebsnvme-id.exe — Werkzeug zum Überprüfen der Metadaten der EBS-Volumes auf der Instance

    • AWSAcpiSpcrReader.exe — Werkzeug zur Bestimmung des korrekten zu verwendenden COM-Ports

    • EC2LaunchEventMessage.dll — DLL zur Unterstützung der Windows-Ereignisprotokollierung für EC2Launch.

  • service

    • EC2LaunchService.exe — Ausführbare Windows-Dienstdatei, die gestartet wird, wenn der Launch-Agent als Dienst ausgeführt wird.

  • EC2Launch.exe — zentrale ausführbare EC2Launch-Datei

  • EC2LaunchAgentAttribution.txt — Zuweisung für Code, der innerhalb von EC2 Launch verwendet wird

Das Verzeichnis %ProgramData%\Amazon\EC2Launch enthält die folgenden Unterverzeichnisse. Alle von dem Service erzeugten Daten, einschließlich Protokolle, Konfiguration und Status, werden in diesem Verzeichnis gespeichert.

  • config — Konfiguration

    Die Servicekonfigurationsdatei wird in diesem Verzeichnis als agent-config.yml gespeichert. Diese Datei kann aktualisiert werden, um Standardaufgaben zu ändern, hinzuzufügen oder zu entfernen, die von dem Service ausgeführt werden. Die Berechtigung zum Erstellen von Dateien in diesem Verzeichnis ist auf das Administratorkonto beschränkt, um die Eskalation von Berechtigungen zu verhindern.

  • log — Instance-Protokolle

    Protokolle für den Service (agent.log), die Konsole (console.log), die Leistung (bench.log) und Fehler (error.log) werden in diesem Verzeichnis gespeichert. Protokolldateien werden bei nachfolgenden Ausführungen des Services angehängt.

  • state — Servicestatusdaten

    Hier wird der Status gespeichert, mit dem der Service ermittelt wird, welche Aufgaben ausgeführt werden sollen. Es gibt eine .run-once-Datei, die angibt, ob der Service bereits nach Sysprep ausgeführt wurde (so dass Aufgaben mit der Häufigkeit "einmal" bei der nächsten Ausführung übersprungen werden). Dieses Unterverzeichnis enthält ein state.json und previous-state.json, um den Status jeder Aufgabe zu verfolgen.

  • sysprep — Sysprep

    Dieses Verzeichnis enthält Dateien, die verwendet werden, um zu bestimmen, welche Operationen von Sysprep ausgeführt werden sollen, wenn ein angepasstes Windows-AMI erstellt wird, das wiederverwendet werden kann.

Konfigurieren von EC2Launch v2 mit der CLI

Sie können die Befehlszeilenschnittstelle (CLI) verwenden, um Ihre EC2Launch-Einstellungen zu konfigurieren und den Service zu verwalten. Der folgende Abschnitt enthält Beschreibungen und Verwendungsinformationen für die CLI-Befehle, die Sie zum Verwalten von EC2Launch v2 verwenden können.

collect-logs

Erfasst Protokolldateien für EC2Launch, komprimiert die Dateien und speichert sie in einem angegebenen Verzeichnis.

Beispiel

ec2launch collect-logs -o C:\Mylogs.zip

Usage

ec2launch collect-logs [flags]

Flags

-h, --help

Hilfe für collect-logs

-o, --output string

Pfad zu komprimierten Ausgabe-Protokolldateien

get-agent-config

Druckt agent-config.yml im angegebenen Format (JSON oder YAML). Wenn kein Format angegeben ist, wird agent-config.yml in dem zuvor angegebenen Format gedruckt.

Beispiel

ec2launch get-agent-config -f json

Beispiel 2

Die folgenden PowerShell Befehle zeigen, wie die agent-config Datei im JSON-Format bearbeitet und gespeichert wird.

$config = & "$env:ProgramFiles/Amazon/EC2Launch/EC2Launch.exe" --format json | ConvertFrom-Json $jumboFrame =@" { "task": "enableJumboFrames" } "@ $config.config | %{if($_.stage -eq 'postReady'){$_.tasks += (ConvertFrom-Json -InputObject $jumboFrame)}} $config | ConvertTo-Json -Depth 6 | Out-File -encoding UTF8 $env:ProgramData/Amazon/EC2Launch/config/agent-config.yml

Usage

ec2launch get-agent-config [flags]

Flags

-h, --help

Hilfe für get-agent-config

-f, --format string

Ausgabeformat der agent-config-Datei: json, yaml

list-Volumes

Listet alle Speicher-Volumes auf, die der Instance zugeordnet sind, einschließlich flüchtiger und EBS-Volumes.

Beispiel

ec2launch list-volumes

Usage

ec2launch list-volumes

Flags

-h, --help

Hilfe für list-volumes

reset

Das Hauptziel dieser Aufgabe besteht darin, den Agenten für die nächste Ausführung zurückzusetzen. Dazu löscht der reset-Befehl alle Statusdaten des Agenten für EC2Launch v2 aus dem lokalen EC2Launch-Verzeichnis (weitere Informationen unter EC2Launch v2-Verzeichnisstruktur). Beim Zurücksetzen werden optional die Service- und Sysprep-Protokolle gelöscht.

Das Verhalten des Skripts hängt davon ab, in welchem Modus der Agent die Skripte ausführt – inline oder getrennt.

Inline (Standard)

Der EC2Launch-v2-Agent führt die Skripte nacheinander aus (detach: false). Dies ist die Standardeinstellung.

Anmerkung

Wenn Ihr Inline-Skript einen reset- oder sysprep-Befehl ausgibt, wird es sofort ausgeführt und setzt den Agenten zurück. Die aktuelle Aufgabe wird beendet, dann wird der Agent heruntergefahren, ohne weitere Aufgaben auszuführen.

Wenn beispielsweise auf die Aufgabe, die den Befehl ausgibt, eine startSsm-Aufgabe folgen würde (die standardmäßig nach der Ausführung der Benutzerdaten enthalten ist), wird die Aufgabe nicht ausgeführt und der Systems-Manager-Service nicht gestartet.

Detached (Getrennt)

Der EC2Launch-v2-Agent führt Skripte gleichzeitig mit anderen Aufgaben aus (detach: true).

Anmerkung

Wenn Ihr abgetrenntes Skript einen reset- oder sysprep-Befehl ausgibt, warten diese Befehle, bis der Agent fertig ist, bevor sie ausgeführt werden. Aufgaben nach dem executeScript werden weiterhin ausgeführt.

Beispiel

ec2launch reset -c

Usage

ec2launch reset [flags]

Flags

-c, --clean

bereinigt Instance-Protokolle vor reset

-h, --help

Hilfe für reset

run

Führt EC2Launch v2 aus.

Beispiel

ec2launch run

Usage

ec2launch run [flags]

Flags

-h, --help

Hilfe für run

Status

Ruft den Status eines EC2Launch-v2-Agents ab. Blockiert optional den Prozess, bis der Agent beendet ist. Der Prozess-Beendigungscode bestimmt den Agentenstatus:

  • 0 – der Agent wurde ausgeführt und war erfolgreich.

  • 1 – der Agent wurde ausgeführt und ist fehlgeschlagen.

  • 2 – der Agent wird noch ausgeführt.

  • 3 – der Agent befindet sich in einem unbekannten Status. Der Agentenstatus wird nicht ausgeführt oder ist beendet.

  • 4 – beim Versuch, den Agentenstatus abzurufen, ist ein Fehler aufgetreten.

  • 5 – der Agent wird nicht ausgeführt und der Status der letzten bekannten Ausführung ist unbekannt. Dies könnte eines der folgenden bedeuten:

    • Sowohl state.json und previous-state.json werden gelöscht.

    • previous-state.json ist beschädigt.

    Dies ist der Agentenstatus nach dem Ausführen des reset-Befehls.

Beispiel:

ec2launch status -b

Usage

ec2launch status [flags]

Flags

-b,--block

blockiert den Prozess, bis die Ausführung des Agenten beendet ist

-h,--help

Hilfe für status

sysprep

Das Hauptziel dieser Aufgabe besteht darin, den Agenten für die nächste Ausführung zurückzusetzen. Dazu setzt der sysprep-Befehl den Agentenstatus zurück, aktualisiert die unattend.xml-Datei, deaktiviert RDP und führt Sysprep aus.

Das Verhalten des Skripts hängt davon ab, in welchem Modus der Agent die Skripte ausführt – inline oder getrennt.

Inline (Standard)

Der EC2Launch-v2-Agent führt die Skripte nacheinander aus (detach: false). Dies ist die Standardeinstellung.

Anmerkung

Wenn Ihr Inline-Skript einen reset- oder sysprep-Befehl ausgibt, wird es sofort ausgeführt und setzt den Agenten zurück. Die aktuelle Aufgabe wird beendet, dann wird der Agent heruntergefahren, ohne weitere Aufgaben auszuführen.

Wenn beispielsweise auf die Aufgabe, die den Befehl ausgibt, eine startSsm-Aufgabe folgen würde (die standardmäßig nach der Ausführung der Benutzerdaten enthalten ist), wird die Aufgabe nicht ausgeführt und der Systems-Manager-Service nicht gestartet.

Detached (Getrennt)

Der EC2Launch-v2-Agent führt Skripte gleichzeitig mit anderen Aufgaben aus (detach: true).

Anmerkung

Wenn Ihr abgetrenntes Skript einen reset- oder sysprep-Befehl ausgibt, warten diese Befehle, bis der Agent fertig ist, bevor sie ausgeführt werden. Aufgaben nach dem executeScript werden weiterhin ausgeführt.

Beispiel:

ec2launch sysprep

Usage

ec2launch sysprep [flags]

Flags

-c,--clean

bereinigt Instance-Protokolle vor sysprep

-h,--help

Hilfe für Sysprep

-s,--shutdown

fährt die Instance nach sysprep herunter

validieren

Validiert die agent-config-Datei C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml.

Beispiel

ec2launch validate

Usage

ec2launch validate [flags]

Flags

-h , --help

Hilfe für validate

version

Ruft die ausführbare Version ab.

Beispiel

ec2launch version

Usage

ec2launch version [flags]

Flags

-h, --help

Hilfe für version

Hintergrundbild

Legt das bereitgestellte Hintergrundbild für den Hintergrundbildpfad fest (JPG-Datei) und zeigt die ausgewählten Instance-Details an.

Syntax

ec2launch wallpaper ^ --path="C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg" ^ --all-tags ^ --attributes=hostName,instanceId,privateIpAddress,publicIpAddress,instanceSize,availabilityZone,architecture,memory,network

Eingaben

Parameter
--allowed-tags [tag-name-1, tag-name-n]

(Optional) Base64-codiertes JSON-Array von Instance-Tag-Namen zur Anzeige auf dem Hintergrundbild. Sie können dieses Tag oder das --all-tags verwenden, aber nicht beides.

--attributes attribute-string-1, attribute-string-n

(Optional) Eine durch Kommas getrennte Liste von wallpaper-Attributzeichenfolgen zum Anwenden von Einstellungen auf das Hintergrundbild.

[--path | -p] path-string

(Erforderlich) Gibt den wallpaper-Dateipfad für das Hintergrundbild an.

Flags
--all-tags

(Optional) Zeigt alle Instance-Tags auf dem Hintergrund an. Sie können dieses Tag oder das --allowed-tags verwenden, aber nicht beides.

[--help | -h]

Zeigt Hilfe für den wallpaper-Befehl an.

Aufgabenkonfiguration in EC2Launch v2

Dieser Abschnitt enthält das Konfigurationsschema, Aufgaben, Details und Beispiele für agent-config.yml und Benutzerdaten.

Schema: agent-config.yml

Die Struktur der agent-config.yml-Datei wird unten gezeigt. Beachten Sie, dass eine Aufgabe nicht in derselben Phase wiederholt werden kann. Informationen zu den Aufgabeneigenschaften finden Sie in den folgenden Aufgabenbeschreibungen.

Dokumentstruktur: agent-config.yml

JSON

{ "version": "1.0", "config": [ { "stage": "string", "tasks": [ { "task": "string", "inputs": { ... } }, ... ] }, ... ] }

YAML

version: 1.0 config: - stage: string tasks: - task: string inputs: ... ... ...

Beispiel: agent-config.yml

Das folgende Beispiel zeigt die Einstellungen für die agent-config.yml-Konfigurationsdatei.

version: 1.0 config: - stage: boot tasks: - task: extendRootPartition - stage: preReady tasks: - task: activateWindows inputs: activation: type: amazon - task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com - task: setAdminAccount inputs: password: type: random - task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress - instanceSize - availabilityZone - architecture - memory - network - stage: postReady tasks: - task: startSsm

Schema: Benutzerdaten

Die folgenden JSON- und YAML-Beispiele zeigen die Dokumentstruktur für Benutzerdaten. Amazon EC2 analysiert jede Aufgabe, die im tasks-Array genannt wird, das Sie im Dokument angeben. Jede Aufgabe hat ihre eigenen Eigenschaften und Anforderungen. Einzelheiten finden Sie im Aufgabendefinitionen.

Anmerkung

Eine Aufgabe darf nur einmal im Array mit Benutzerdatenaufgaben vorkommen.

Dokumentenstruktur: Benutzerdaten

JSON

{ "version": "1.1", "tasks": [ { "task": "string", "inputs": { ... }, }, ... ] }

YAML

version: 1.1 tasks: - task: string inputs: ... ...

Beispiel: Benutzerdaten

Weitere Informationen zu Benutzerrollen finden Sie unter So verarbeitet Amazon EC2 Benutzerdaten für Windows-Instances.

Das folgende Beispiel für ein YAML-Dokument zeigt ein PowerShell Skript, das EC2Launch v2 als Benutzerdaten ausführt, um eine Datei zu erstellen.

version: 1.1 tasks: - task: executeScript inputs: - frequency: always type: powershell runAs: localSystem content: |- New-Item -Path 'C:\PowerShellTest.txt' -ItemType File

Sie können ein XML-Format für die Benutzerdaten verwenden, das mit früheren Versionen des Startagenten kompatibel ist. EC2Launch v2 führt das Skript als executeScript-Aufgabe in der UserData-Stufe aus. Um dem EC2Launch-v1- und EC2Config-Verhalten zu entsprechen, wird das Benutzerdatenskript standardmäßig als angefügter/Inline-Prozess ausgeführt.

Sie können optionale Tags hinzufügen, um die Ausführung Ihres Skripts anzupassen. Um beispielsweise das Benutzerdatenskript beim Neustart der Instance zusätzlich zum einmaligen Starten der Instance auszuführen, können Sie das folgende Tag verwenden:

<persist>true</persist>

Beispiel:

<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <persist>true</persist>

Sie können ein oder mehrere PowerShell Argumente mit dem Tag angeben. <powershellArguments> Wenn keine Argumente übergeben werden, fügt EC2Launch v2 standardmäßig das folgende Argument hinzu:. -ExecutionPolicy Unrestricted

Beispiel:

<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <powershellArguments>-ExecutionPolicy Unrestricted -NoProfile -NonInteractive</powershellArguments>

Um ein XML-Benutzerdatenskript als getrennten Prozess auszuführen, fügen Sie Ihren Benutzerdaten das folgende Tag hinzu.

<detach>true</detach>

Beispiel:

<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <detach>true</detach>
Anmerkung

Das Abtrennungs-Tag wird auf früheren Startagenten nicht unterstützt.

Änderungsprotokoll: Benutzerdaten

In der folgenden Tabelle sind die Änderungen für Benutzerdaten aufgeführt und sie werden mit der jeweiligen Version des EC2Launch-v2-Agents verglichen.

Benutzerdatenversion Details Eingeführt in
1.1
  • Benutzerdatenaufgaben werden vor der PostReady-Phase in der Agentenkonfigurationsdatei ausgeführt.

  • Führt Benutzerdaten aus, bevor der Systems Manager Agent gestartet wird (gleiches Verhalten wie EC2Launch v1 und EC2Config).*

EC2Launch-v2-Version 2.0.1245
1,0
  • Wird veraltet sein.

  • Benutzerdatenaufgaben werden nach der PostReady-Phase in der Agentenkonfigurationsdatei ausgeführt. Dies ist nicht abwärtskompatibel mit EC2Launch-v1.

  • Wirkt sich auf eine Race-Bedingung zwischen dem Start des Systems Manager Agents und den Benutzerdatenaufgaben aus.

EC2Launch-v2-Version 2.0.0

* Bei Verwendung mit der agent-config.yml-Standarddatei.

Aufgabendefinitionen

Jede Aufgabe hat ihre eigenen Eigenschaften und Anforderungen. Einzelheiten finden Sie unter den einzelnen Aufgaben, die in Ihr Dokument aufgenommen werden sollen.

activateWindows

Aktiviert Windows für eine Reihe von Servern. AWS KMS Die Aktivierung wird übersprungen, wenn die Instance als Bring-Your-Own-License (BYOL) erkannt wird.

Häufigkeit - einmal

AllowedStages[PreReady]

Eingaben

activation: (Zuordnung)

type: (Zeichenfolge) Aktivierungstyp, der verwendet werden soll, auf amazon gesetzt

Beispiel

task: activateWindows inputs: activation: type: amazon

enableJumboFrames

Aktiviert Jumbo Frames, die die Maximum Transmission Unit (MTU) des Netzwerkadapters erhöhen. Weitere Informationen finden Sie unter Jumbo-Frames (9001 MTU).

Häufigkeit — immer

AllowedStages[PostReady, UserData]

Eingaben — keine

Beispiel

task: enableJumboFrames

enableOpenSsh

Aktiviert Windows OpenSSH und fügt den öffentlichen Schlüssel für die Instance dem Ordner für autorisierte Schlüssel hinzu.

Häufigkeit - einmal

AllowedStages[PreReady, UserData]

Eingaben — keine

Beispiel

Im folgenden Beispiel wird gezeigt, wie OpenSSH für eine Instance aktiviert und der öffentliche Schlüssel für die Instance dem Ordner für autorisierte Schlüssel hinzugefügt wird. Diese Konfiguration funktioniert nur auf Instances, auf denen Windows Server 2019 ausgeführt wird.

task: enableOpenSsh

executeProgram

Führt ein Programm mit optionalen Argumenten und einer angegebenen Häufigkeit aus.

Phasen: Sie können die Aufgabe executeProgram während der Phasen PreReady, PostReady und UserData ausführen.

Frequenz: konfigurierbar, siehe Eingänge.

Eingaben

Sie können Laufzeitparameter wie folgt konfigurieren:

Frequenz (Zeichenfolge)

(Erforderlich) Geben Sie genau einen der folgenden Werte an:

  • once

  • always

Pfad (Zeichenfolge)

(Erforderlich) Der Dateipfad für die auszuführende Datei.

Argumente (Liste von Zeichenfolgen)

(Optional) Eine durch Kommas getrennte Liste von Argumenten, die dem Programm als Eingabe zur Verfügung gestellt werden sollen.

runAs (Zeichenfolge)

(Erforderlich) Muss auf localSystem gesetzt sein

Output

Alle Aufgaben schreiben Logfile-Einträge in die agent.log-Datei. Zusätzliche Ausgaben der Aufgabe executeProgram werden wie folgt separat in einem dynamisch benannten Ordner gespeichert:

%LocalAppData%\Temp\EC2Launch#########\outputfilename.tmp

Der genaue Pfad zu den Ausgabedateien ist in der agent.log-Datei enthalten, zum Beispiel:

Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\ExecuteProgramInputs.tmp Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
Ausgabedateien für die Aufgabe executeProgram
ExecuteProgramInputs.tmp

Enthält den Pfad für die ausführbare Datei und alle Eingabeparameter, die die Aufgabe executeProgram bei der Ausführung an sie übergibt.

Output.tmp

Enthält die Laufzeitausgabe des Programms, das die Aufgabe executeProgram ausführt.

Err.tmp

Enthält die Laufzeit-Fehlermeldungen des Programms, das die Aufgabe executeProgram ausführt.

Beispiele

Die folgenden Beispiele zeigen, wie eine ausführbare Datei aus einem lokalen Verzeichnis auf einer Instance mit der Aufgabe executeProgram ausgeführt wird.

Beispiel 1: Setup Executable mit einem Argument

Dieses Beispiel zeigt eine executeProgram-Aufgabe, die eine Setup Executable im Modus „Quiet“ ausführt.

task: executeProgram inputs: - frequency: always path: C:\Users\Administrator\Desktop\setup.exe arguments: ['-quiet']
Beispiel 2: VLC-Executable mit zwei Argumenten

Dieses Beispiel zeigt eine executeProgram-Aufgabe, die eine VLC-Executable-Datei mit zwei als Eingabeparameter übergebenen Argumenten ausführt.

task: executeProgram inputs: - frequency: always path: C:\vlc-3.0.11-win64.exe arguments: ['/L=1033','/S'] runAs: localSystem

executeScript

Führt ein Skript mit optionalen Argumenten und einer angegebenen Häufigkeit aus. Das Verhalten des Skripts hängt davon ab, in welchem Modus der Agent die Skripte ausführt – inline oder getrennt.

Inline (Standard)

Der EC2Launch-v2-Agent führt die Skripte nacheinander aus (detach: false). Dies ist die Standardeinstellung.

Anmerkung

Wenn Ihr Inline-Skript einen reset- oder sysprep-Befehl ausgibt, wird es sofort ausgeführt und setzt den Agenten zurück. Die aktuelle Aufgabe wird beendet, dann wird der Agent heruntergefahren, ohne weitere Aufgaben auszuführen.

Wenn beispielsweise auf die Aufgabe, die den Befehl ausgibt, eine startSsm-Aufgabe folgen würde (die standardmäßig nach der Ausführung der Benutzerdaten enthalten ist), wird die Aufgabe nicht ausgeführt und der Systems-Manager-Service nicht gestartet.

Detached (Getrennt)

Der EC2Launch-v2-Agent führt Skripte gleichzeitig mit anderen Aufgaben aus (detach: true).

Anmerkung

Wenn Ihr abgetrenntes Skript einen reset- oder sysprep-Befehl ausgibt, warten diese Befehle, bis der Agent fertig ist, bevor sie ausgeführt werden. Aufgaben nach dem executeScript werden weiterhin ausgeführt.

Phasen: Sie können die Aufgabe executeScript während der Phasen PreReady, PostReady und UserData ausführen.

Frequenz: konfigurierbar, siehe Eingänge.

Eingaben

Sie können Laufzeitparameter wie folgt konfigurieren:

Frequenz (Zeichenfolge)

(Erforderlich) Geben Sie genau einen der folgenden Werte an:

  • once

  • always

Typ (Zeichenfolge)

(Erforderlich) Geben Sie genau einen der folgenden Werte an:

  • batch

  • powershell

Argumente (Liste von Zeichenfolgen)

(Optional) Eine Liste von Zeichenfolgenargumenten, die an die Shell übergeben werden sollen. Dieser Parameter wird nicht für type: batch unterstützt. Wenn keine Argumente übergeben werden, fügt EC2Launch v2 standardmäßig das folgende Argument hinzu:. -ExecutionPolicy Unrestricted

Inhalt (Zeichenfolge)

(Erforderlich) Skriptinhalt.

runAs (Zeichenfolge)

(Erforderlich) Geben Sie genau einen der folgenden Werte an:

  • admin

  • localSystem

trennen (Boolean)

(Optional) Der EC2Launch v2-Agent führt standardmäßig Skripts einzeln aus (detach: false). Um das Skript gleichzeitig mit anderen Aufgaben auszuführen, setzen Sie den Wert auf true (detach: true).

Anmerkung

Skript-Exitcodes (einschließlich 3010) haben keine Wirkung, wenn detach auf true festgelegt wird.

Output

Alle Aufgaben schreiben Logfile-Einträge in die agent.log-Datei. Zusätzliche Ausgaben von Skripten, die die Aufgabe executeScript ausführt, werden wie folgt separat in einem dynamisch benannten Ordner gespeichert:

%LocalAppData%\Temp\EC2Launch#########\outputfilename.ext

Der genaue Pfad zu den Ausgabedateien ist in der agent.log-Datei enthalten, zum Beispiel:

Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\UserScript.ps1 Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
Ausgabedateien für die Aufgabe executeScript
UserScript.ext

Enthält das Skript, das die Aufgabe executeScript ausgeführt hat. Die Dateierweiterung hängt wie folgt von der Art des Skripts ab, das Sie im type-Parameter für die executeScript-Aufgabe angegeben haben:

  • Wenn der Typ batch ist, dann ist die Dateierweiterung .bat.

  • Wenn der Typ powershell ist, dann ist die Dateierweiterung .ps1.

Output.tmp

Enthält die Laufzeitausgabe des Skripts, das die Aufgabe executeScript ausführt.

Err.tmp

Enthält die Laufzeit-Fehlermeldungen des Skripts, das die Aufgabe executeScript ausführt.

Beispiele

Die folgenden Beispiele zeigen, wie Sie ein Inline-Skript mit der Aufgabe executeScript ausführen.

Beispiel 1: Hello World Ausgabetextdatei

Dieses Beispiel zeigt eine executeScript Aufgabe, die ein PowerShell Skript ausführt, um eine „Hello World“ -Textdatei auf dem C: Laufwerk zu erstellen.

task: executeScript inputs: - frequency: always type: powershell runAs: admin content: |- New-Item -Path 'C:\PowerShellTest.txt' -ItemType File Set-Content 'C:\PowerShellTest.txt' "Hello world"
Beispiel 2: Zwei Skripts ausführen

Dieses Beispiel zeigt, dass die Aufgabe executeScript mehr als ein Skript ausführen kann und der Skripttyp nicht unbedingt übereinstimmen muss.

Das erste Skript (type: powershell) schreibt eine Zusammenfassung der Prozesse, die derzeit auf der Instance ausgeführt werden, in eine Textdatei auf dem C:-Laufwerk.

Das zweite Skript (batch) schreibt die Systeminformationen in die Output.tmp-Datei.

task: executeScript inputs: - frequency: always type: powershell content: | Get-Process | Out-File -FilePath C:\Process.txt runAs: localSystem - frequency: always type: batch content: | systeminfo
Beispiel 3: Idempotenz-Systemkonfiguration mit Neustarts

Dieses Beispiel zeigt eine Aufgabe executeScript, die ein idempotentes Skript ausführt, um die folgende Systemkonfiguration mit einem Neustart zwischen den einzelnen Schritten durchzuführen:

  • Den Computer umbenennen.

  • Den Computer mit der Domain verbinden.

  • Aktivieren von Telnet.

Das Skript stellt sicher, dass jede Operation nur einmal ausgeführt wird. Dies verhindert eine Neustartschleife und macht das Skript idempotent.

task: executeScript inputs: - frequency: always type: powershell runAs: localSystem content: |- $name = $env:ComputerName if ($name -ne $desiredName) { Rename-Computer -NewName $desiredName exit 3010 } $domain = Get-ADDomain if ($domain -ne $desiredDomain) { Add-Computer -DomainName $desiredDomain exit 3010 } $telnet = Get-WindowsFeature -Name Telnet-Client if (-not $telnet.Installed) { Install-WindowsFeature -Name "Telnet-Client" exit 3010 }

extendRootPartition

Erweitert das Stammvolume, um den gesamten verfügbaren Speicherplatz auf der Festplatte zu nutzen.

Häufigkeit - einmal

AllowedStages[Boot]

Eingaben — keine

Beispiel

task: extendRootPartition

initializeVolume

Initialisiert leere Volumes, die an die Instance angefügt sind, sodass diese aktiviert und partitioniert werden. Der Startagent überspringt die Initialisierung, wenn er erkennt, dass das Volume nicht leer ist. Ein Volume gilt als leer, wenn die ersten 4 KiB des Volumes leer sind oder wenn das Volume kein von Windows erkennbares Laufwerkslayout aufweist.

Der Eingabeparameter wird letter immer angewendet, wenn diese Aufgabe ausgeführt wird, unabhängig davon, ob das Laufwerk bereits initialisiert ist.

Das initializeVolume führt die folgenden Aktionen aus.

  • Setzen Sie die Festplattenattribute offline und readonly auf false.

  • Erstellen Sie eine Partition. Wenn im Eingabeparameter partition kein Partitionstyp angegeben ist, gelten die folgenden Standardwerte:

    • Wenn die Festplattengröße kleiner als 2 TB ist, legen Sie den Partitionstyp auf mbr fest.

    • Wenn die Festplattengröße 2 TB oder größer ist, legen Sie den Partitionstyp auf gpt fest.

  • Formatieren Sie das Volume als NTFS.

  • Legen Sie die Volume-Bezeichnung wie folgt fest:

    • Verwenden Sie den Wert des Eingabeparameters name, falls angegeben.

    • Wenn es sich um ein kurzlebiges Volume handelt und kein Name angegeben wurde, legen Sie die Volume-Bezeichnung auf Temporary Storage Z fest.

  • Wenn das Volume kurzlebig ist (SSD oder HDD – nicht Amazon EBS), erstellen Sie im Stammverzeichnis des Volumes eine Important.txt-Datei mit dem folgenden Inhalt:

    This is an 'Instance Store' disk and is provided at no additional charge. *This disk offers increased performance since it is local to the host *The number of Instance Store disks available to an instance vary by instance type *DATA ON THIS DRIVE WILL BE LOST IN CASES OF IMPAIRMENT OR STOPPING THE INSTANCE. PLEASE ENSURE THAT ANY IMPORTANT DATA IS BACKED UP FREQUENTLY For more information, please refer to: Amazon EC2-Instance-Speicher.
  • Legen Sie den Laufwerkbuchstaben auf den im Eingabeparameter letter angegebenen Wert fest.

Phasen: Sie können die Aufgabe initializeVolume während der Phasen PostReady und UserData ausführen.

Häufigkeit: immer.

Eingaben

Sie können Laufzeitparameter wie folgt konfigurieren:

Geräte (Liste der Zuordnungen)

(Bedingt) Konfiguration für jedes Gerät, das vom Startagenten initialisiert wird. Dies ist erforderlich, wenn der Eingabeparameter initialize auf devices festgelegt ist.

  • Gerät (Zeichenfolge, erforderlich) – Identifiziert das Gerät während der Instance-Erstellung. Beispiel: xvdb, xvdf oder \dev\nvme0n1.

  • Buchstabe (Zeichenfolge, optional) – Ein Zeichen. Der Laufwerkbuchstabe, der zugewiesen werden soll.

  • Name (Zeichenfolge, optional) – Der zuzuweisende Volume-Name.

  • Partition (Zeichenfolge, optional) – Geben Sie einen der folgenden Werte für den Typ der zu erstellenden Partition an oder lassen Sie den Startagenten basierend auf der Volume-Größe als Standard festlegen:

    • mbr

    • gpt

initialisieren (Zeichenfolge)

(Erforderlich) Geben Sie genau einen der folgenden Werte an:

  • all

  • devices

Beispiele

Die folgenden Beispiele zeigen Beispiele für Eingabekonfigurationen für die initializeVolume-Aufgabe.

Beispiel 1: Initialisieren von zwei Volumes auf einer Instance

Dieses Beispiel zeigt eine initializeVolume-Aufgabe, die zwei sekundäre Volumes auf einer Instance initialisiert. Das Gerät mit dem Namen DataVolume2 im Beispiel ist kurzlebig.

task: initializeVolume inputs: initialize: devices devices: - device: xvdb name: DataVolume1 letter: D partition: mbr - device: /dev/nvme0n1 name: DataVolume2 letter: E partition: gpt
Beispiel 2: Initialisieren von EBS-Volumes, die an eine Instance angefügt sind

Dieses Beispiel zeigt eine initializeVolume-Aufgabe, die alle leeren EBS-Volumes initialisiert, die an die Instance angefügt sind.

task: initializeVolume inputs: initialize: all

optimizeEna

Optimiert ENA-Einstellungen basierend auf dem aktuellen Instance-Typ. Möglicherweise wird die Instance neu gestartet.

Häufigkeit — immer

AllowedStages[PostReady, UserData]

Eingaben — keine

Beispiel

task: optimizeEna

einstellen AdminAccount

Legt Attribute für das Standardadministratorkonto fest, das auf dem lokalen Computer erstellt wird.

Häufigkeit - einmal

AllowedStages[PreReady]

Eingaben

name: (Zeichenfolge) Name des Administratorkontos

password: (Zuordnung)

type: (Zeichenfolge) Strategie zum Setzen des Passworts, entweder als static, random oder doNothing

data: (Zeichenfolge) speichert Daten, wenn das Feld type statisch ist

Beispiel

task: setAdminAccount inputs: name: Administrator password: type: random

setDnsSuffix

Fügt DNS-Suffixe zur Liste der Suchsuffixe hinzu. Nur Suffixe, die noch nicht vorhanden sind, werden der Liste hinzugefügt. Weitere Hinweise dazu, wie Launch-Agents DNS-Suffixe festlegen, finden Sie unter. Konfigurieren Sie das DNS-Suffix für Windows-Startagenten

Häufigkeit — immer

AllowedStages[PreReady]

Eingaben

suffixes: (Liste von Zeichenfolgen) Liste mit einem oder mehreren gültigen DNS-Suffixen; gültige Substitutionsvariablen sind $REGION und $AZ

Beispiel

task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com

setHostName

Setzt den Host-Namen des Computers auf eine benutzerdefinierte Zeichenfolge oder, falls hostName, die private IPv4-Adresse, nicht angegeben ist.

Häufigkeit — immer

AllowedStages[PostReady, UserData]

Eingaben

hostName: (Zeichenfolge) optionaler Host-Name, der wie folgt formatiert werden muss.

  • Muss 15 Zeichen oder weniger haben

  • Muss nur alphanumerische (a-z, A-Z, 0-9) und Bindestriche (-) enthalten.

  • Darf nicht ausschließlich aus numerischen Zeichen bestehen.

reboot: (boolescher Wert) gibt an, ob ein Neustart zulässig ist, wenn der Hostname geändert wird

Beispiel

task: setHostName inputs: reboot: true

setWallpaper

Erstellt die Verknüpfungsdatei setwallpaper.lnk im Startup-Ordner jedes vorhandenen Benutzers, mit Ausnahme von Default User. Diese Verknüpfungsdatei wird ausgeführt, wenn sich der Benutzer nach dem Start der Instance zum ersten Mal anmeldet. Hiermit wird die Instance mit einem benutzerdefinierten Hintergrundbild eingerichtet, auf dem die Instance-Attribute zu sehen sind.

Der Pfad der Verknüpfungsdatei lautet:

$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
Anmerkung

Wenn Sie die setWallpaper-Aufgabe entfernen, wird diese Verknüpfungsdatei nicht gelöscht. Weitere Informationen finden Sie unter Die Aufgabe setWallpaper ist nicht aktiviert, aber das Hintergrundbild wird beim Neustart zurückgesetzt.

Phasen: Sie können das Hintergrundbild während der Phasen PreReady und UserData konfigurieren.

Häufigkeit: always

Konfiguration des Hintergrundbilds

Sie können Ihr Hintergrundbild mit den folgenden Steuerelementen konfigurieren.

Eingaben

Von Ihnen bereitgestellte Eingabeparameter und Attribute, die Sie zum Konfigurieren Ihres Hintergrundbilds festlegen können:

Attribute (Liste von Zeichenfolgen)

(Optional) Sie können Ihrem Hintergrundbild eines oder mehrere der folgenden Attribute hinzufügen:

  • architecture

  • availabilityZone

  • hostName

  • instanceId

  • instanceSize

  • memory

  • network

  • privateIpAddress

  • publicIpAddress

instanceTags

(Optional) Sie können genau eine der folgenden Optionen für diese Einstellung verwenden.

  • AllTags(string) — Fügen Sie Ihrem Hintergrundbild alle Instanz-Tags hinzu.

    instanceTags: AllTags
  • instanceTags (Liste von Zeichenfolgen) – Geben Sie eine Liste mit Instance-Tag-Namen an, die Ihrem Hintergrundbild hinzugefügt werden sollen. Beispielsweise:

    instanceTags: - Tag 1 - Tag 2
Pfad (Zeichenfolge)

(Erforderlich) Der Dateinamenspfad der lokalen Bilddatei im .jpg-Format, die für Ihr Hintergrundbild verwendet werden soll.

Beispiel

Das folgende Beispiel zeigt Hintergrundkonfigurationseingaben, die den Dateipfad für das Hintergrundbild festlegen, zusammen mit Instance-Tags mit den Namen Tag 1 und Tag 2 und Attributen, die den Hostnamen, die Instance-ID und die privaten und öffentlichen IP-Adressen für die Instance enthalten.

task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress instanceTags: - Tag 1 - Tag 2
Anmerkung

Sie müssen Tags in Metadaten aktivieren, um Tags auf dem Hintergrundbild anzuzeigen. Weitere Informationen zu Instance-Tags und Metadaten finden Sie unter Arbeiten mit Instance-Tags in Instance-Metadaten.

startSsm

Starten des Systems Manager-Services (SSM) nach Sysprep.

Häufigkeit — immer

AllowedStages[PostReady, UserData]

Eingaben — keine

Beispiel

task: startSsm

sysprep

Setzt den Servicestatus zurück, aktualisiert unattend.xml, deaktiviert RDP und führt Sysprep aus. Diese Aufgabe wird erst ausgeführt, wenn alle anderen Aufgaben abgeschlossen sind.

Häufigkeit - einmal

AllowedStages[UserData]

Eingaben

clean: (boolescher Wert) bereinigt Instance-Protokolle vor dem Ausführen von Sysprep

shutdown: (boolescher Wert) fährt die Instance nach dem Ausführen von Sysprep herunter

Beispiel

task: sysprep inputs: clean: true shutdown: true

writeFile

Schreibt eine Datei in ein Ziel.

Häufigkeit — siehe Eingaben

AllowedStages[PostReady, UserData]

Eingaben

frequency: (Zeichenfolge) once oder always

destination: (Zeichenfolge) Pfad, in den der Inhalt geschrieben werden soll

content: (Zeichenfolge) Text, der an das Ziel geschrieben werden soll

Beispiel

task: writeFile inputs: - frequency: once destination: C:\Users\Administrator\Desktop\booted.txt content: Windows Has Booted

Exit-Codes und Neustarts für EC2Launch v2

Sie können EC2Launch v2 verwenden, um zu definieren, wie Beendigungscodes in Ihren Skripts gehandhabt werden. Standardmäßig wird der Beendigungscode des letzten in einem Skript ausgeführten Befehls als Beendigungscode für das gesamte Skript gemeldet. Wenn ein Skript beispielsweise drei Befehle enthält und der erste Befehl fehlschlägt, aber die folgenden erfolgreich sind, wird der Ausführungsstatus als success gemeldet, da der endgültige Befehl erfolgreich war.

Wenn Sie möchten, dass ein Skript eine Instance neu startet, müssen Sie exit 3010 in Ihrem Skript angeben, auch wenn der Neustart der letzte Schritt in Ihrem Skript ist. exit 3010 weist EC2Launch v2 an, die Instance neu zu starten und das Skript erneut aufzurufen, bis ein Beendigungscode zurückgegeben wird, der nicht 3010 ist oder bis die maximale Neustartanzahl erreicht ist. EC2Launch v2 erlaubt maximal 5 Neustarts pro Aufgabe. Wenn Sie versuchen, eine Instance aus einem Skript mit einem anderen Mechanismus wie Restart-Computer neu zu starten, ist der Skriptausführungsstatus inkonsistent. Er kann beispielsweise in einer Neustartschleife stecken bleiben oder den Neustart nicht durchführen.

Wenn Sie ein XML-Benutzerdatenformat verwenden, das mit älteren Agenten kompatibel ist, werden die Benutzerdaten möglicherweise öfter ausgeführt, als Sie beabsichtigen. Weitere Informationen finden Sie im Abschnitt zur Fehlerbehebung unter Der Service führt Benutzerdaten mehr als einmal aus.

EC2Launch v2 und Sysprep

Der EC2Launch v2-Service führt Sysprep aus, ein Microsoft-Tool, mit dem Sie ein benutzerdefiniertes Windows-AMI erstellen können, das wiederverwendet werden kann. Wenn EC2Launch v2 Sysprep aufruft, verwendet es die Dateien in %ProgramData%\Amazon\EC2Launch, um zu bestimmen, welche Operationen ausgeführt werden sollen. Sie können diese Dateien indirekt über das EC2Launch settings (Einstellungen)-Dialogfeld oder direkt über einen YAML-Editor oder einen Texteditor bearbeiten. Es gibt jedoch einige erweiterte Einstellungen, die nicht im Dialogfeld EC2Launch settings (Einstellungen) verfügbar sind. Diese Einträge müssen Sie direkt bearbeiten.

Wenn Sie ein AMI aus einer Instance erstellen, nachdem Sie deren Einstellungen aktualisiert haben, werden die neuen Einstellungen auf alle Instances angewandt, die von diesem AMI gestartet werden. Weitere Informationen über die Erstellung eines AMI finden Sie unter Erstellen Sie ein Amazon EBS-backed AMI.