Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Définitions de tâches pour les tâches de EC2Launch démarrage de la version 2
Chaque tâche exécutée par la EC2Launch v2 lors du lancement ou du démarrage possède son propre ensemble de propriétés et d'exigences. Les détails des tâches incluent les paramètres relatifs à la fréquence d'exécution d'une tâche (une fois ou toujours), l'étape du processus de démarrage de l'agent à laquelle elle s'exécute, la syntaxe et des exemples de YAML documents. Pour plus d'informations, consultez les détails des tâches présentés dans cette référence.
EC2LaunchTâches v2
activateWindows
Active Windows sur un ensemble de AWS KMS serveurs. L'activation est ignorée si l'instance est détectée comme Bring-Your-Own -License ()BYOL.
Fréquence — Une fois
AllowedStages — [PreReady]
Entrées —
activation
: (carte)
type
: type d’activation (string) à utiliser, défini sur amazon
Exemple
task: activateWindows inputs: activation: type: amazon
enableJumboFrames
Active les jumbo Frames, qui augmentent l'unité de transmission maximale (MTU) de l'adaptateur réseau. Pour de plus amples informations, veuillez consulter Cadres Jumbo (9001MTU).
Fréquence — Toujours
AllowedStages — [PostReady, UserData]
Entrées — Aucune
Exemple
task: enableJumboFrames
enableOpenSsh
Active Windows Open SSH et ajoute la clé publique de l'instance dans le dossier des clés autorisées.
Fréquence — Une fois
AllowedStages — [PreReady, UserData]
Entrées — Aucune
Exemple
L'exemple suivant montre comment activer Ouvrir SSH sur une instance et ajouter la clé publique de l'instance dans le dossier des clés autorisées. Cette configuration fonctionne uniquement sur les instances exécutant Windows Server 2019 et versions ultérieures.
task: enableOpenSsh
executeProgram
Exécute un programme avec des arguments facultatifs et une fréquence spécifiée.
Étapes : vous pouvez exécuter la tâche executeProgram
pendant les étapes PreReady
, PostReady
et UserData
.
Fréquence : configurable, voir Entrées.
- Inputs
-
Cette section contient un ou plusieurs programmes pour la executeProgram tâche à exécuter (entrées). Chaque entrée peut inclure les paramètres configurables suivants :
- fréquence (chaîne)
-
(Obligatoire) Spécifiez exactement l’une des valeurs suivantes :
-
once
-
always
-
- chemin (chaîne)
-
(Obligatoire) Le chemin d’accès au fichier de l’exécutable à exécuter.
- arguments (liste de chaînes)
-
(Facultatif) Liste d’arguments séparés par des virgules à fournir au programme en entrée.
- runAs (chaîne)
-
(Obligatoire) Doit être défini sur
localSystem
- Sortie
-
Toutes les tâches écrivent des entrées du fichier journal dans le fichier
agent.log
. Les résultats supplémentaires de la tâcheexecuteProgram
sont stockés séparément dans un dossier nommé dynamiquement, comme suit :%LocalAppData%\Temp\
EC2Launch#########
\outputfilename.tmp
Le chemin exact vers les fichiers de sortie est inclus dans le fichier
agent.log
, par exemple :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
Fichiers de sortie pour la tâche
executeProgram
ExecuteProgramInputs.tmp
-
Contient le chemin de l’exécutable et tous les paramètres d’entrée que la tâche
executeProgram
lui transmet lors de son exécution. Output.tmp
-
Contient la sortie d’exécution du programme exécuté par la tâche
executeProgram
. Err.tmp
-
Contient les messages d’erreur d’exécution du programme exécuté par la tâche
executeProgram
.
- Exemples
-
Les exemples suivants montrent comment exécuter un fichier exécutable à partir d’un répertoire local sur une instance avec la tâche
executeProgram
.Exemple 1 : configuration d’un exécutable avec un seul argument
Cet exemple montre une tâche
executeProgram
qui exécute un exécutable d’installation en mode silencieux.task: executeProgram inputs: - frequency: always path: C:\Users\Administrator\Desktop\setup.exe arguments: ['-quiet']
Exemple 2 : VLC exécutable avec deux arguments
Cet exemple montre une
executeProgram
tâche qui exécute un fichier VLC exécutable avec deux arguments transmis en tant que paramètres d'entrée.task: executeProgram inputs: - frequency: always path: C:\vlc-3.0.11-win64.exe arguments: ['/L=1033','/S'] runAs: localSystem
executeScript
Exécute un script avec des arguments facultatifs et une fréquence spécifiée. Le comportement des scripts dépend du mode dans lequel l’agent exécute les scripts : en ligne ou détaché.
- En ligne (par défaut)
-
L'agent EC2Launch v2 exécute les scripts un par un (
detach: false
). Il s’agit du paramètre par défaut.Note
Lorsque votre script en ligne émet une commande reset ou sysprep, il s’exécute immédiatement et réinitialise l’agent. La tâche en cours se termine, puis l’agent s’arrête sans exécuter d’autres tâches.
Par exemple, si la tâche qui émet la commande aurait été suivie d’une tâche
startSsm
(incluse par défaut après l’exécution des données utilisateur), la tâche ne s’exécute pas et le service Systems Manager ne démarre jamais. - Detached
-
L'agent EC2Launch v2 exécute des scripts simultanément avec d'autres tâches (
detach: true
).Note
Lorsque votre script détaché émet une commande reset ou sysprep, ces commandes attendent que l’agent ait terminé leur exécution avant de s’exécuter. Les tâches suivantes executeScript seront toujours exécutées.
Étapes : vous pouvez exécuter la tâche executeScript
pendant les étapes PreReady
, PostReady
et UserData
.
Fréquence : configurable, voir Entrées.
- Inputs
-
Cette section contient un ou plusieurs scripts pour la executeScript tâche à exécuter (entrées). Chaque entrée peut inclure les paramètres configurables suivants :
- fréquence (chaîne)
-
(Obligatoire) Spécifiez exactement l’une des valeurs suivantes :
-
once
-
always
-
- type (chaîne)
-
(Obligatoire) Spécifiez exactement l’une des valeurs suivantes :
-
batch
-
powershell
-
- arguments (liste de chaînes)
-
(Facultatif) Une liste d'arguments de chaîne à transmettre au shell (et non au PowerShell script). Ce paramètre n’est pas pris en charge pour
type: batch
. Si aucun argument n'est transmis, la EC2Launch v2 ajoute l'argument suivant par défaut :-ExecutionPolicy Unrestricted
- contenu (chaîne)
-
(Obligatoire) Contenu du script.
- runAs (chaîne)
-
(Obligatoire) Spécifiez exactement l’une des valeurs suivantes :
-
admin
-
localSystem
-
- detach (booléen)
-
(Facultatif) L'agent EC2Launch v2 exécute par défaut les scripts un par un (
detach: false
). Pour exécuter le script en même temps que d’autres tâches, définissez la valeur surtrue
(detach: true
).Note
Codes de sortie de script (y compris
3010
) n’ont aucun effet lorsquedetach
a la valeurtrue
.
- Sortie
-
Toutes les tâches écrivent des entrées du fichier journal dans le fichier
agent.log
. Les résultats supplémentaires du script exécuté par la tâcheexecuteScript
sont stockés séparément dans un dossier nommé dynamiquement, comme suit :%LocalAppData%\Temp\
EC2Launch#########
\outputfilename.ext
Le chemin exact vers les fichiers de sortie est inclus dans le fichier
agent.log
, par exemple :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
Fichiers de sortie pour la tâche
executeScript
UserScript.
ext
-
Contient le script exécuté par la tâche
executeScript
. L’extension de fichier dépend du type de script que vous avez spécifié dans le paramètretype
de la tâcheexecuteScript
, comme suit :-
Si le type est
batch
, l’extension du fichier est.bat
. -
Si le type est
powershell
, l’extension du fichier est.ps1
.
-
Output.tmp
-
Contient la sortie d’exécution du script exécuté par la tâche
executeScript
. Err.tmp
-
Contient les messages d’erreur d’exécution du script exécuté par la tâche
executeScript
.
- Exemples
-
Les exemples suivants montrent comment exécuter un script en ligne avec la tâche
executeScript
.Exemple 1 : fichier texte de sortie Hello World
Cet exemple montre une
executeScript
tâche qui exécute un PowerShell script pour créer un fichier texte « Hello world » sur leC:
lecteur.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"
Exemple 2 : exécuter deux scripts
Cet exemple montre que la tâche
executeScript
peut exécuter plusieurs scripts et que le type de script ne doit pas nécessairement correspondre.Le premier script (
type: powershell
) écrit un résumé des processus en cours d’exécution sur l’instance dans un fichier texte situé sur le lecteurC:
.Le second script (
batch
) écrit les informations système dans le fichierOutput.tmp
.task: executeScript inputs: - frequency: always type: powershell content: | Get-Process | Out-File -FilePath C:\Process.txt runAs: localSystem - frequency: always type: batch content: | systeminfo
Exemple 3 : configuration d’un système idempotent avec redémarrages
Cet exemple montre une tâche
executeScript
qui exécute un script idempotent pour effectuer la configuration système suivante avec un redémarrage entre chaque étape :-
Renommer l’ordinateur.
-
Joindre l’ordinateur au domaine.
-
Activer Telnet.
Le script garantit que chaque opération ne s’exécute qu’une seule fois. Cela empêche une boucle de redémarrage et rend le script 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
Étend le volume racine pour utiliser tout l’espace disponible sur le disque.
Fréquence — Une fois
AllowedStages — [Boot]
Entrées — Aucune
Exemple
task: extendRootPartition
initializeVolume
Initialise les volumes vides attachés à l’instance afin qu’ils soient activés et partitionnés. L’agent de lancement ignore l’initialisation s’il détecte que le volume n’est pas vide. Un volume est considéré comme vide si les 4 premiers Kio d’un volume sont vides ou si un volume n’a pas de disposition de lecteur reconnaissable par Windows
Le paramètre d’entrée letter
est toujours appliqué lors de l’exécution de cette tâche, que le lecteur soit déjà initialisé ou non.
La tâche initializeVolume
effectue ensuite les actions suivantes.
-
Définissez les attributs de disque
offline
etreadonly
sur False. -
Créez une partition. Si aucun type de partition n’est spécifié dans le paramètre d’entrée
partition
, les valeurs par défaut suivantes s’appliquent :-
Si la taille de disque est inférieure à 2 To, définissez le type de partition sur
mbr
. -
Si la taille de disque est supérieure ou égale à 2 To, définissez le type de partition sur
gpt
.
-
-
Formatez le volume en tant queNTFS.
-
Définissez l’étiquette du volume comme suit :
-
Utilisez la valeur du paramètre d’entrée
name
, le cas échéant. -
Si le volume est éphémère et qu’aucun nom n’a été spécifié, définissez l’étiquette du volume sur
Temporary Storage Z
.
-
-
Si le volume est éphémère (SSDou HDD s'il ne s'agit pas d'AmazonEBS), créez un
Important.txt
fichier à la racine du volume avec le contenu suivant :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: Stockage d'instances Stockage par blocs temporaire pour les EC2 instances.
-
Réglez la lettre de lecteur sur la valeur spécifiée dans le paramètre d’entrée
letter
.
Étapes : vous pouvez exécuter la tâche initializeVolume
pendant les étapes PostReady
et UserData
.
Fréquence : toujours.
- Inputs
-
Vous pouvez configurer les paramètres d’exécution comme suit :
- appareils (liste de cartes)
-
(Condition) Configuration pour chaque appareil initialisé par l’agent de lancement. Ceci est obligatoire si le paramètre d’entrée
initialize
est défini surdevices
.-
appareil (chaîne, obligatoire) : identifie l’appareil lors de la création de l’instance. Par exemple,
xvdb
,xvdf
ou\dev\nvme0n1
. -
lettre (chaîne, facultatif) : un caractère. La lettre de lecteur à attribuer.
-
nom (chaîne, facultatif) : le nom de volume à attribuer.
-
partition (chaîne, facultatif) : spécifiez l’une des valeurs suivantes pour le type de partition à créer, ou laissez l’agent de lancement par défaut en fonction de la taille du volume :
-
mbr
-
tpt
-
-
- initialiser (chaîne)
-
(Obligatoire) Spécifiez exactement l’une des valeurs suivantes :
-
all
-
devices
-
- Exemples
-
Voici des exemples de configurations d’entrée pour la tâche
initializeVolume
.Exemple 1 : Initialiser deux volumes sur une instance
Cet exemple montre une tâche
initializeVolume
qui initialise deux volumes secondaires sur une instance. L’appareil nomméDataVolume2
dans l’exemple est éphémère.task: initializeVolume inputs: initialize: devices devices: - device: xvdb name: DataVolume1 letter: D partition: mbr - device: /dev/nvme0n1 name: DataVolume2 letter: E partition: gpt
Exemple 2 : Initialisation EBS des volumes attachés à une instance
Cet exemple montre une initializeVolume
tâche qui initialise tous les EBS volumes vides attachés à l'instance.
task: initializeVolume inputs: initialize: all
optimizeEna
Optimise ENA les paramètres en fonction du type d'instance actuel ; peut redémarrer l'instance.
Fréquence — Toujours
AllowedStages — [PostReady, UserData]
Entrées — Aucune
Exemple
task: optimizeEna
setAdminAccount
Définit les attributs du compte d’administrateur par défaut créé sur la machine locale.
Fréquence — Une fois
AllowedStages — [PreReady]
Entrées —
name
: nom (chaîne) du compte administrateur
password
: (carte)
type
: stratégie (chaîne) pour définir le mot de passe, comme static
, random
ou doNothing
data
: (chaîne) stocke les données si le champ type
est statique
Exemple
task: setAdminAccount inputs: name: Administrator password: type: random
setDnsSuffix
Ajoute des DNS suffixes à la liste des suffixes de recherche. Seuls les suffixes qui n’existent pas déjà sont ajoutés à la liste. Pour plus d'informations sur la façon dont les agents de lancement définissent les DNS suffixes, consultez. Configurer le DNS suffixe pour les agents de lancement EC2 Windows
Fréquence — Toujours
AllowedStages — [PreReady]
Entrées —
suffixes
: (liste de chaînes) liste d'un ou plusieurs DNS suffixes valides ; les variables de substitution valides sont et $REGION
$AZ
Exemple
task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com
setHostName
Définit le nom d'hôte de l'ordinateur sur une chaîne personnalisée ou, si elle n'hostName
est pas spécifiée, sur l'IPv4adresse privée.
Fréquence — Toujours
AllowedStages — [PostReady, UserData]
Entrées —
hostName
: (chaîne) nom d’hôte facultatif, qui doit être formaté comme suit.
-
Doit contenir 15 caractères ou moins
-
Doit contenir uniquement des caractères alphanumériques (a-z, A-Z, 0-9) et tiret (-).
-
Ne doit pas être entièrement composé de caractères numériques.
reboot
: (booléen) indique si un redémarrage est autorisé lorsque le nom d’hôte est modifié
Exemple
task: setHostName inputs: reboot: true
setWallpaper
Crée le fichier de raccourci setwallpaper.lnk
dans le dossier de démarrage de chaque utilisateur existant, sauf pour Default User
. Ce fichier de raccourci s’exécute lorsque l’utilisateur se connecte pour la première fois après le démarrage de l’instance. Il configure l’instance avec un fond d’écran personnalisé qui affiche les attributs de l’instance.
Le chemin du fichier de raccourci est le suivant :
$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
Note
Lorsque vous supprimez la tâche setWallpaper
, ce fichier de raccourci n’est pas supprimé. Pour de plus amples informations, veuillez consulter La tâche setWallpaper n’est pas activée, mais le fond d’écran se réinitialise au redémarrage.
Étapes : vous pouvez configurer le fond d’écran au cours des étapes PreReady
et UserData
.
Fréquence : always
Configuration du fond d’écran
Vous pouvez utiliser les paramètres suivants pour configurer votre fond d’écran.
- Inputs
-
Paramètres d’entrée que vous fournissez et attributs que vous pouvez définir pour configurer votre fond d’écran :
- attributs (liste de chaînes)
-
(Facultatif) Vous pouvez ajouter un ou plusieurs des attributs suivants à votre fond d’écran :
-
architecture
-
availabilityZone
-
hostName
-
instanceId
-
instanceSize
-
memory
-
network
-
privateIpAddress
-
publicIpAddress
-
- instanceTags
-
(Facultatif) Vous pouvez utiliser exactement l’une des options suivantes pour ce paramètre.
-
AllTags(string) — Ajoutez toutes les balises d'instance à votre fond d'écran.
instanceTags: AllTags
-
instanceTags(liste de chaînes) — Spécifiez une liste de noms de balises d'instance à ajouter à votre fond d'écran. Par exemple :
instanceTags: - Tag 1 - Tag 2
-
- chemin (chaîne)
-
(Obligatoire) Le chemin du nom du fichier image au format .jpg local à utiliser pour votre image de fond d’écran.
Exemple
L’exemple suivant montre les entrées de configuration du fond d’écran qui définissent le chemin du fichier pour l’image d’arrière-plan du fond d’écran, ainsi que les balises d’instance nommées Tag 1
et Tag 2
, ainsi que les attributs qui incluent le nom d’hôte, l’ID d’instance et les adresses IP privées et publiques de l’instance.
task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress instanceTags: - Tag 1 - Tag 2
Note
Vous devez activer les balises dans les métadonnées pour afficher les balises sur le fond d’écran. Pour plus d’informations sur les balises et métadonnées d’instance, consultez Afficher les balises de vos EC2 instances à l'aide des métadonnées de l'instance.
startSsm
Démarre le service Systems Manager (SSM) après Sysprep.
Fréquence — Toujours
AllowedStages — [PostReady, UserData]
Entrées — Aucune
Exemple
task: startSsm
sysprep
Réinitialise l'état du service, met à jourunattend.xml
, désactive et exécute RDP Sysprep. Cette tâche s’exécute uniquement une fois que toutes les autres tâches sont terminées.
Fréquence — Une fois
AllowedStages — [UserData]
Entrées —
clean
: (booléen) nettoie les journaux d’instance avant d’exécuter Sysprep
shutdown
: (booléen) arrête l’instance après avoir exécuté Sysprep
Exemple
task: sysprep inputs: clean: true shutdown: true
writeFile
Écrit un fichier vers une destination.
Fréquence — voir Entrées
AllowedStages — [PostReady, UserData]
Entrées —
frequency
: (chaîne) once
ou always
destination
: (chaîne) chemin vers lequel écrire le contenu
content
: (chaîne) texte à écrire dans la destination
Exemple
task: writeFile inputs: - frequency: once destination: C:\Users\Administrator\Desktop\booted.txt content: Windows Has Booted