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.
Zu den Themen gehören:
Ä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.
-
Starten Sie die Windows-Instance und stellen Sie eine Verbindung zu ihr her.
-
Wählen Sie im Startmenü All Programs (Alle Programme) und navigieren Sie zu den EC2Launch settings (Einstellungen).
-
Aktivieren bzw. deaktivieren Sie auf der Registerkarte General (Allgemeines) im Dialogfeld EC2Launch Service Properties (EC2Launch-Service-Eigenschaften) die folgenden Einstellungen.
-
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. -
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. -
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, wennadminPasswordtype
Specify
ist.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
adminPassword
angeben. Wenn das Passwort nicht den Systemanforderungen entspricht, erstellt EC2Launch stattdessen ein zufälliges Passwort. Das Passwort wird inagent-config.yml
im Klartext gespeichert und gelöscht, wenn Sysprep das Administratorpasswort einstellt. EC2Launch verschlüsselt das Passwort mit dem Schlüssel des Benutzers. -
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.
-
-
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.
-
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.
-
Enable SSH (Aktivieren von SSH)
Diese Einstellung aktiviert OpenSSH für spätere Windows-Versionen, um die Remote-Systemverwaltung zu ermöglichen.
-
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).
-
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).
-
-
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. -
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.
-
-
-
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 demmbr
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.
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 deragent-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
— KonfigurationDie 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-ProtokolleProtokolle 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
— ServicestatusdatenHier 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 einstate.json
undprevious-state.json
, um den Status jeder Aufgabe zu verfolgen. -
sysprep
— SysprepDieses 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.
Befehle
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
undprevious-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.
Aufgaben und Beispiele
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 |
|
EC2Launch-v2-Version 2.0.1245 |
1,0 |
|
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.
Aufgaben
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 AufgabeexecuteProgram
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 auftrue
(detach: true
).Anmerkung
Skript-Exitcodes (einschließlich
3010
) haben keine Wirkung, wenndetach
auftrue
festgelegt wird.
- Output
-
Alle Aufgaben schreiben Logfile-Einträge in die
agent.log
-Datei. Zusätzliche Ausgaben von Skripten, die die AufgabeexecuteScript
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 imtype
-Parameter für dieexecuteScript
-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 demC:
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 demC:
-Laufwerk.Das zweite Skript (
batch
) schreibt die Systeminformationen in dieOutput.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
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
undreadonly
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
aufdevices
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 NamenDataVolume2
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.