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 EC2 Startaufgaben von Launch v2
Jede Aufgabe, die EC2 Launch v2 beim Start oder Start 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 Beispiele für YAML-Dokumente. Weitere Informationen finden Sie in den Aufgabendetails in dieser Referenz.
EC2Aufgaben der Version 2 starten
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 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
-
Dieser Abschnitt enthält ein oder mehrere Programme, mit denen die executeProgram-Aufgabe ausgeführt werden kann (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
localSystemgesetzt sein
- Ausgangs-
-
Alle Aufgaben schreiben Logfile-Einträge in die
agent.log-Datei. Zusätzliche Ausgaben der AufgabeexecuteProgramwerden wie folgt separat in einem dynamisch benannten Ordner gespeichert:%LocalAppData%\Temp\EC2Launch#########\outputfilename.tmpDer 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.tmpAusgabedateien für die Aufgabe
executeProgramExecuteProgramInputs.tmp-
Enthält den Pfad für die ausführbare Datei und alle Eingabeparameter, die die Aufgabe
executeProgrambei der Ausführung an sie übergibt. Output.tmp-
Enthält die Laufzeitausgabe des Programms, das die Aufgabe
executeProgramausführt. Err.tmp-
Enthält die Laufzeit-Fehlermeldungen des Programms, das die Aufgabe
executeProgramausführt.
- Beispiele
-
Die folgenden Beispiele zeigen, wie eine ausführbare Datei aus einem lokalen Verzeichnis auf einer Instance mit der Aufgabe
executeProgramausgefü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 EC2 Launch v2-Agent führt die 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 EC2 Launch v2-Agent führt Skripts 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 Skripte, mit denen die executeScript-Aufgabe ausgeführt werden kann (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: batchunterstützt. Wenn keine Argumente übergeben werden, fügt EC2 Launch 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 EC2 Launch 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, wenndetachauftruefestgelegt wird.
- Ausgangs-
-
Alle Aufgaben schreiben Logfile-Einträge in die
agent.log-Datei. Zusätzliche Ausgaben von Skripten, die die AufgabeexecuteScriptausführt, werden wie folgt separat in einem dynamisch benannten Ordner gespeichert:%LocalAppData%\Temp\EC2Launch#########\outputfilename.extDer 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.tmpAusgabedateien für die Aufgabe
executeScriptUserScript.ext-
Enthält das Skript, das die Aufgabe
executeScriptausgefü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
batchist, dann ist die Dateierweiterung.bat. -
Wenn der Typ
powershellist, dann ist die Dateierweiterung.ps1.
-
Output.tmp-
Enthält die Laufzeitausgabe des Skripts, das die Aufgabe
executeScriptausführt. Err.tmp-
Enthält die Laufzeit-Fehlermeldungen des Skripts, das die Aufgabe
executeScriptausführt.
- Beispiele
-
Die folgenden Beispiele zeigen, wie Sie ein Inline-Skript mit der Aufgabe
executeScriptausführen.Beispiel 1: Hello World Ausgabetextdatei
Dieses Beispiel zeigt eine
executeScriptAufgabe, 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
executeScriptmehr 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 runAs: localSystem content: | Get-Process | Out-File -FilePath C:\Process.txt - frequency: always type: batch runAs: localSystem content: | systeminfoBeispiel 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
offlineundreadonlyauf false. -
Erstellen Sie eine Partition. Wenn im Eingabeparameter
partitionkein Partitionstyp angegeben ist, gelten die folgenden Standardwerte:-
Wenn die Festplattengröße kleiner als 2 TB ist, legen Sie den Partitionstyp auf
mbrfest. -
Wenn die Festplattengröße 2 TB oder größer ist, legen Sie den Partitionstyp auf
gptfest.
-
-
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 Zfest.
-
-
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: Instanzspeicher temporärer Blockspeicher für EC2 Instances. -
Legen Sie den Laufwerkbuchstaben auf den im Eingabeparameter
letterangegebenen 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
initializeaufdevicesfestgelegt ist.-
Gerät (Zeichenfolge, erforderlich) – Identifiziert das Gerät während der Instance-Erstellung. Beispiel:
xvdb,xvdfoder\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 NamenDataVolume2im 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
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 DNS-Suffixe zur Liste der Suchsuffixe hinzu. Nur Suffixe, die noch nicht vorhanden sind, werden der Liste hinzugefügt. Weitere Informationen zur Einrichtung von DNS-Suffixen durch Start-Agenten finden Sie unter Konfigurieren Sie das DNS-Suffix für EC2 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
Legt den Hostnamen des Computers auf eine benutzerdefinierte Zeichenfolge oder, falls nicht hostName angegeben, auf die private IPv4 Adresse fest.
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 Zeichenfolgen) – Geben Sie eine Liste mit Instance-Tag-Namen an, die Ihrem Hintergrundbild hinzugefügt werden sollen. Beispiel:
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
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