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.
Aufgabendefinitionen für EC2Launch v2-Startaufgaben
Jede Aufgabe, die EC2Launch v2 während des Starts oder Starts ausführt, hat ihre eigenen Eigenschaften und Anforderungen. Zu den Aufgabendetails gehören Einstellungen dafür, wie oft eine Aufgabe ausgeführt wird — einmal oder immer —, in welcher Phase des Startvorgangs des Agenten sie ausgeführt wird, Syntax und YAML Dokumentbeispiele. Weitere Informationen finden Sie in den Aufgabendetails in dieser Referenz.
EC2Launchv2-Aufgaben
activateWindows
Aktiviert Windows für eine Reihe von AWS KMS Servern. Die Aktivierung wird übersprungen, wenn die Instanz 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 maximale Übertragungseinheit (MTU) des Netzwerkadapters erhöhen. Weitere Informationen finden Sie unter Jumbo-Frames (9001MTU).
Häufigkeit — immer
AllowedStages — [PostReady, UserData]
Eingaben — keine
Beispiel
task: enableJumboFrames
enableOpenSsh
Aktiviert Windows Open SSH und fügt den öffentlichen Schlüssel für die Instanz dem Ordner mit autorisierten Schlüsseln hinzu.
Häufigkeit - einmal
AllowedStages — [PreReady, UserData]
Eingaben — keine
Beispiel
Das folgende Beispiel zeigt, wie Open SSH auf einer Instanz aktiviert und der öffentliche Schlüssel für die Instanz zum Ordner mit autorisierten Schlüsseln 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
-
Dieser Abschnitt enthält ein oder mehrere Programme, mit denen die executeProgram Aufgabe ausgeführt werden soll (Eingaben). Jede Eingabe kann die folgenden konfigurierbaren Einstellungen enthalten:
- 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 ausführbar mit zwei Argumenten
Dieses Beispiel zeigt eine
executeProgram
Aufgabe, die eine VLC ausführbare Datei mit zwei Argumenten ausführt, die als Eingabeparameter übergeben werden.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 Skripts 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 Skripten 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
-
Dieser Abschnitt enthält ein oder mehrere Skripts für die Ausführung der executeScript Aufgabe (Eingaben). Jede Eingabe kann die folgenden konfigurierbaren Einstellungen enthalten:
- 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 Zeichenkettenargumenten, die an die Shell (nicht an das PowerShell Skript) ü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 nacheinander 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 alsNTFS.
-
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 (SSDoder HDD — nicht AmazonEBS), 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: Instanzspeicher temporärer Blockspeicher für EC2 Instances.
-
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 Sie EBS Volumes, die an eine Instanz angehängt sind
Dieses Beispiel zeigt eine initializeVolume
Aufgabe, die alle leeren EBS Volumes initialisiert, die an die Instanz angehängt sind.
task: initializeVolume inputs: initialize: all
optimizeEna
Optimiert die ENA Einstellungen auf der Grundlage des aktuellen Instanztyps; möglicherweise wird die Instanz neu gestartet.
Häufigkeit — immer
AllowedStages — [PostReady, UserData]
Eingaben — keine
Beispiel
task: optimizeEna
setAdminAccount
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 der Liste der DNS Suchsuffixe Suffixe hinzu. Nur Suffixe, die noch nicht vorhanden sind, werden der Liste hinzugefügt. Weitere Informationen darüber, wie Launch-Agents Suffixe festlegenDNS, finden Sie unter. Konfigurieren Sie DNS das Suffix für EC2 Windows-Startagenten
Häufigkeit — immer
AllowedStages — [PreReady]
Eingaben —
suffixes
: (Liste von Zeichenketten) Liste mit einem oder mehreren gültigen DNS Suffixen; gültige Substitutionsvariablen sind und $REGION
$AZ
Beispiel
task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com
setHostName
Setzt den Hostnamen des Computers auf eine benutzerdefinierte Zeichenfolge oder, falls hostName
nicht angegeben, auf die private Adresse. IPv4
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ügt alle Instanz-Tags zu Ihrem Hintergrundbild hinzu.
instanceTags: AllTags
-
instanceTags(Liste von Zeichenketten) — Geben Sie eine Liste von Instanz-Tag-Namen an, die Sie Ihrem Hintergrundbild hinzufügen möchten. 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 Zeigen Sie Tags für Ihre EC2 Instances mithilfe von Instanz-Metadaten an.
startSsm
Startet den Systems Manager (SSM) -Dienst nach Sysprep.
Häufigkeit — immer
AllowedStages — [PostReady, UserData]
Eingaben — keine
Beispiel
task: startSsm
sysprep
Setzt den Dienststatus zurück, aktualisiertunattend.xml
, deaktiviert und führt Sysprep ausRDP. 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