Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Impostazioni di EC2Launch v2
Questa sezione contiene informazioni su come configurare le impostazioni per EC2Launch v2.
Gli argomenti includono:
Modifica delle impostazioni utilizzando la finestra di dialogo delle impostazioni di EC2Launch v2
La procedura seguente descrive come utilizzare la finestra di dialogo di EC2Launch v2 per abilitare o disabilitare le impostazioni.
Nota
Se hai configurato erroneamente delle attività personalizzate nel file agent-config.yml e tenti di aprire la finestra di dialogo delle impostazioni di Amazon EC2Launch, verrà visualizzato un errore. Per un esempio di schema, consulta la sezione Esempio: agent-config.yml.
-
Avviare l'istanza Windows e connettersi a essa.
-
Dal menu Start, scegli Tutti i programmi, quindi passa alle impostazioni di EC2Launch.
-
Nella scheda Generale della finestra di dialogo Impostazioni EC2Launch puoi abilitare o disabilitare le seguenti impostazioni.
-
Set Computer Name (Imposta il nome del computer)
Se questa impostazione viene abilitata (per impostazione predefinita è disabilitata), il nome host attuale viene confrontato con il nome host desiderato ad ogni avvio. Se i nomi host non corrispondono, il nome host viene reimpostato e il sistema si riavvia facoltativamente per acquisire il nuovo nome host. Se non viene specificato un nome host personalizzato, viene generato utilizzando, ad esempio, l'indirizzo IPv4 privato formattato esadecimale
ip-AC1F4E6
. Per evitare che il nome host esistente venga modificato, non abilitare questa impostazione. -
Estendi volume di avvio
Questa impostazione estende in modo dinamico
Disk 0
/Volume 0
per includere qualsiasi spazio non partizionato. Ciò può essere utile quando l'istanza viene avviata da un volume dispositivo root di dimensioni personalizzate. -
Imposta account amministratore
Se abilitata, puoi impostare gli attributi di nome utente e password per l'account amministratore creato nel computer locale. Se questa caratteristica non è abilitata, non viene creato un account amministratore nel sistema dopo Sysprep. Fornire una password in
adminPassword
solo seadminPasswordtype
èSpecify
.I tipi di password sono definiti come segue:
-
Random
EC2Launch genera una password e la crittografa utilizzando la chiave dell'utente. Il sistema disattiva questa impostazione dopo l'avvio dell'istanza in modo che questa password rimanga se l'istanza viene riavviata o arrestata e avviata.
-
Specify
EC2Launch utilizza la password specificata in
adminPassword
. Se la password non soddisfa i requisiti di sistema, EC2Launch genera invece una password casuale. La password viene memorizzata inagent-config.yml
come testo non crittografato e viene cancellata dopo che Sysprep ha impostato la password amministratore. EC2Launch crittografa la password utilizzando la chiave dell'utente. -
Do not set
EC2launch utilizza la password specificata nel file unattend.xml. Se non specifichi una password in unattend.xml, l'account amministratore viene disabilitato.
-
-
Avvia servizio SSM
Se questa opzione è selezionata, il servizio Systems Manager è abilitato per iniziare dopo Sysprep. EC2Config v2 esegue tutte le attività descritte precedentemente, mentre SSM Agent elabora le richieste per le funzionalità di Systems Manager come Run Command e Gestione stato.
Puoi utilizzare Run Command per aggiornare le istanze esistenti al fine di utilizzare la versione più recente del servizio EC2Launch v2 e di SSM Agent. Per ulteriori informazioni, consulta Aggiornamento di SSM Agent mediante Run Command nella Guida per l'utente di AWS Systems Manager.
-
Ottimizza ENA
Se selezionate, le impostazioni ENA sono configurate per garantire che le impostazioni ENA Receive Side Scaling e Receive Queue Depth siano ottimizzate per. AWS Per ulteriori informazioni, consulta Configurazione di RSS CPU Affinity.
-
Abilita SSH
Questa impostazione abilita OpenSSH per consentire l'amministrazione remota del sistema per le versioni successive di Windows.
-
Abilita frame jumbo
Seleziona questa opzione per abilitare i frame jumbo. I frame jumbo possono avere effetti indesiderati sulle comunicazioni di rete, quindi assicurati di capire in che modo i frame jumbo influiscono sul tuo sistema prima di attivarli. Per ulteriori informazioni sui frame jumbo, consulta Frame jumbo (9001 MTU).
-
Preparazione per l'imaging
Seleziona questa impostazione se vuoi che l'istanza EC2 venga arrestate con o senza Sysprep. Quando vuoi eseguire Sysprep con EC2Launch v2, scegli Arresto con Sysprep.
-
-
Nella scheda Suffisso DNS puoi selezionare se aggiungere un elenco di suffissi DNS per la risoluzione DNS dei server in esecuzione in EC2, senza specificare il nome di dominio completo. I suffissi DNS possono contenere le variabili
$REGION
e$AZ
. All'elenco vengono aggiunti solo i suffissi che non sono già presenti. -
Nella scheda Sfondo, puoi configurare lo sfondo dell'istanza con un'immagine di sfondo e specificare i dettagli dell'istanza per lo sfondo da visualizzare. Amazon EC2 genera i dettagli ogni volta che effettui l'accesso.
È possibile configurare lo sfondo con i seguenti comandi.
-
Mostra i dettagli dell'istanza sullo sfondo: questa casella di controllo attiva o disattiva la visualizzazione dei dettagli dell'istanza sullo sfondo.
-
Percorso dell'immagine (.jpg): specifica il percorso dell'immagine da utilizzare come sfondo.
-
Seleziona gli attributi da visualizzare sullo sfondo: seleziona le caselle di controllo relative ai dettagli dell'istanza che desideri visualizzare sullo sfondo. Deseleziona le caselle di controllo dei dettagli dell'istanza selezionati in precedenza che desideri rimuovere dallo sfondo.
-
Visualizza i tag delle istanze sullo sfondo: seleziona una delle seguenti impostazioni per visualizzare i tag delle istanze sullo sfondo:
-
Nessuno: non visualizzare alcun tag delle istanze sullo sfondo.
-
Mostra tutti: visualizza tutti i tag delle istanze sullo sfondo.
-
Mostra filtrati: visualizza i tag delle istanze specificati sullo sfondo. Quando selezioni questa impostazione, puoi aggiungere i tag delle istanze che desideri visualizzare sullo sfondo nella casella del Filtro dei tag delle istanze.
Nota
È necessario abilitare i tag nei metadati per mostrare i tag sullo sfondo. Per ulteriori informazioni sui tag e metadati delle istanze, consulta Utilizzo dei tag dell'istanza nei metadati dell'istanza.
-
-
-
Nella scheda Volumi seleziona se vuoi inizializzare i volumi collegati all'istanza. L'abilitazione imposta le lettere di unità per eventuali volumi aggiuntivi e li estende per utilizzare lo spazio disponibile. Se si seleziona All (Tutto) vengono inizializzati tutti i volumi di archiviazione. Se selezioni Dispositivi vengono inizializzati solo i dispositivi specificati nell'elenco. Devi specificare immettere il dispositivo per ogni dispositivo da inizializzare. Utilizza i dispositivi elencati sulla console EC2, ad esempio,
xvdb
o/dev/nvme0n1
. Nell'elenco a discesa vengono visualizzati i volumi di archiviazione collegati all'istanza. Per immettere un dispositivo non collegato all'istanza, immetterlo nel campo di testo.Nome, Lettera e Partizione sono campi facoltativi. Se non viene specificato alcun valore per Partition, i volumi di storage superiori a 2 TB vengono inizializzati con il tipo di
gpt
partizione e quelli inferiori a 2 TB vengono inizializzati con il tipo di partizione.mbr
Se i dispositivi sono configurati e un dispositivo non NTFS contiene una tabella di partizione o i primi 4 KB del disco contengono dati, il disco viene ignorato e l'operazione viene registrata.
Di seguito è riportato un esempio di file YAML di configurazione creato dalle impostazioni immesse nella finestra di dialogo EC2Launch.
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
Struttura della directory di EC2Launch v2
EC2Launch v2 deve essere installato nelle seguenti directory:
-
Binari del servizio:
%ProgramFiles%\Amazon\EC2Launch
-
Dati del servizio (impostazioni, file di log e file di stato):
%ProgramData%\Amazon\EC2Launch
Nota
Per impostazione predefinita, Windows nasconde i file e le cartelle in C:\ProgramData
. Per visualizzare le directory e i file di EC2Launch v2 devi digitare il percorso in Esplora risorse di Windows o modificare le proprietà della cartella per visualizzare i file e le cartelle nascosti.
La directory %ProgramFiles%\Amazon\EC2Launch
contiene binari e librerie di supporto. Include le seguenti sottodirectory:
-
settings
-
EC2LaunchSettingsUI.exe
- interfaccia utente per la modifica del fileagent-config.yml
-
YamlDotNet.dll
- DLL per supportare alcune operazioni nell'interfaccia utente
-
-
tools
-
ebsnvme-id.exe
- strumento per esaminare i metadati dei volumi EBS nell'istanza -
AWSAcpiSpcrReader.exe
- strumento per determinare la porta COM corretta da utilizzare -
EC2LaunchEventMessage.dll
- DLL per supportare il log di eventi di Windows per EC2Launch
-
-
service
-
EC2LaunchService.exe
— Eseguibile del servizio Windows che viene avviato quando l'agente di avvio viene attivato come servizio.
-
-
EC2Launch.exe
- eseguibile principale EC2launch -
EC2LaunchAgentAttribution.txt
- attribuzione per il codice utilizzato in EC2 Launch
La directory %ProgramData%\Amazon\EC2Launch
contiene le sottodirectory seguenti. Tutti i dati prodotti dal servizio, inclusi i log, la configurazione e lo stato, vengono memorizzati in questa directory.
-
config
- ConfigurazioneIl file di configurazione del servizio è memorizzato in questa directory come
agent-config.yml
. Questo file può essere aggiornato per modificare, aggiungere o rimuovere le attività predefinite eseguite dal servizio. L'autorizzazione per creare file in questa directory è limitata all'account di amministratore per evitare l'escalation dei privilegi. -
log
- Log delle istanzeI log per il servizio (
agent.log
), la console (console.log
), le prestazioni (bench.log
) e gli errori (error.log
) sono memorizzati in questa directory. I file di log vengono aggiunti alle successive esecuzioni del servizio. -
state
- Dati sullo stato del servizioQui viene memorizzato lo stato utilizzato dal servizio per determinare quali attività devono essere eseguite. Esiste un file
.run-once
che indica se il servizio è già stato eseguito dopo Sysprep (quindi le attività con la frequenza di una volta vengono ignorate all'esecuzione successiva). Questa sottodirectory includestate.json
eprevious-state.json
per tenere traccia dello stato di ogni attività. -
sysprep
- SysprepQuesta directory contiene i file utilizzati per determinare le operazioni eseguite da Sysprep quando crea un'AMI di Windows personalizzata che può essere riutilizzata.
Configurare EC2Launch v2 tramite la CLI
Puoi utilizzare l'interfaccia a riga di comando (CLI) per configurare le impostazioni di EC2Launch e gestire il servizio. La sezione seguente contiene le descrizioni e le informazioni sull'utilizzo dei comandi CLI che puoi usare per gestire EC2Launch v2.
collect-logs
Raccoglie i file di log per EC2launch, comprime i file e li inserisce in una directory specificata.
Esempio
ec2launch collect-logs -o C:\Mylogs.zip
Utilizzo
ec2launch collect-logs [flags]
Flag
-h
, --help
aiuto per collect-logs
-o
, --output string
percorso dei file di log di output compressi
get-agent-config
Stampa agent-config.yml
nel formato specificato (JSON o YAML). Se non viene specificato alcun formato, agent-config.yml
viene stampato nel formato specificato in precedenza.
Esempio
ec2launch get-agent-config -f json
Esempio 2
I PowerShell comandi seguenti mostrano come modificare e salvare il file in formato JSON. agent-config
$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
Utilizzo
ec2launch get-agent-config [flags]
Flag
-h
, --help
aiuto per get-agent-config
-f
, --format string
formato di output del file agent-config
: json
, yaml
list-volumes
Elenca tutti i volumi di archiviazione collegati all'istanza, inclusi i volumi temporanei ed EBS.
Esempio
ec2launch list-volumes
Utilizzo
ec2launch list-volumes
Flag
-h
, --help
aiuto per list-volumes
reset
L'obiettivo principale di questa attività è reimpostare l'agente per la prossima esecuzione. A tale scopo, il comando reset elimina tutti i dati sullo stato dell'agente per EC2Launch v2 dalla directory EC2Launch
locale (consultare Struttura della directory di EC2Launch v2). Il ripristino elimina facoltativamente i log di servizio e Sysprep.
Il comportamento degli script dipende dalla modalità in cui l'agente esegue gli script: in linea o distaccati.
- In linea (impostazione predefinita)
-
L'agente EC2Launch v2 esegue gli script uno alla volta (
detach: false
). Si tratta dell'impostazione di default.Nota
Quando lo script in linea emette un comando reset o sysprep, viene eseguito immediatamente e reimposta l'agente. L'attività corrente termina, quindi l'agente si spegne senza eseguire altre attività.
Ad esempio, se l'attività che emette il comando fosse stata seguita da un'attività
startSsm
(inclusa per impostazione predefinita dopo l'esecuzione dei dati utente), l'attività non viene eseguita e il servizio Systems Manager non viene mai avviato. - Distaccato
-
L'agente EC2Launch v2 esegue gli script contemporaneamente ad altre attività (
detach: true
).Nota
Quando lo script distaccato emette un comando reset o sysprep, tali comandi attendono che l'agente finisca prima di procedere all'esecuzione. Le attività successive all'ExecuteScript continueranno a essere eseguite.
Esempio
ec2launch reset -c
Utilizzo
ec2launch reset [flags]
Flag
-c
, --clean
pulisce i log delle istanze prima di reset
-h
, --help
aiuto per reset
run
Esecuzioni di EC2Launch v2
Esempio
ec2launch run
Utilizzo
ec2launch run [flags]
Flag
-h
, --help
aiuto per run
status
Ottiene lo stato dell'agente EC2Launch v2. Blocca facoltativamente il processo fino al completamento dell'agente. Il codice di uscita del processo determina lo stato dell'agente:
-
0
— l'agente è stato eseguito e ha avuto successo. -
1
— l'agente è stato eseguito e non è andato a buon fine. -
2
— l'agente è ancora in esecuzione. -
3
— l'agente si trova in uno stato sconosciuto. Lo stato dell'agente non è in esecuzione o è stato interrotto. -
4
— si è verificato un errore nel tentativo di recuperare lo stato dell'agente. -
5
— l'agente non è in esecuzione e lo stato dell'ultima esecuzione nota è sconosciuto. Ciò può significare che:-
sia
state.json
cheprevious-state.json
sono stati eliminati. -
previous-state.json
è danneggiato.
Questo è lo stato dell'agente dopo l'esecuzione del comando reset.
-
Esempio:
ec2launch status -b
Utilizzo
ec2launch status [flags]
Flag
-b
,--block
blocca il processo fino al termine dell'esecuzione del'aggente
-h
,--help
aiuto per status
sysprep
L'obiettivo principale di questa attività è reimpostare l'agente per la prossima esecuzione. A tale scopo, il comando sysprep reimposta lo stato dell'agente, aggiorna il file unattend.xml
, disabilita RDP ed esegue Sysprep.
Il comportamento degli script dipende dalla modalità in cui l'agente esegue gli script: in linea o distaccati.
- In linea (impostazione predefinita)
-
L'agente EC2Launch v2 esegue gli script uno alla volta (
detach: false
). Si tratta dell'impostazione di default.Nota
Quando lo script in linea emette un comando reset o sysprep, viene eseguito immediatamente e reimposta l'agente. L'attività corrente termina, quindi l'agente si spegne senza eseguire altre attività.
Ad esempio, se l'attività che emette il comando fosse stata seguita da un'attività
startSsm
(inclusa per impostazione predefinita dopo l'esecuzione dei dati utente), l'attività non viene eseguita e il servizio Systems Manager non viene mai avviato. - Distaccato
-
L'agente EC2Launch v2 esegue gli script contemporaneamente ad altre attività (
detach: true
).Nota
Quando lo script distaccato emette un comando reset o sysprep, tali comandi attendono che l'agente finisca prima di procedere all'esecuzione. Le attività successive all'ExecuteScript continueranno a essere eseguite.
Esempio:
ec2launch sysprep
Utilizzo
ec2launch sysprep [flags]
Flag
-c
,--clean
pulisce i log delle istanze prima di sysprep
-h
,--help
aiuto per Sysprep
-s
,--shutdown
arresta l'istanza dopo sysprep
validate
Convalida il file agent-config
C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml
.
Esempio
ec2launch validate
Utilizzo
ec2launch validate [flags]
Flag
-h
, --help
aiuto per validate
version
Ottiene la versione eseguibile.
Esempio
ec2launch version
Utilizzo
ec2launch version [flags]
Flag
-h
, --help
aiuto per version
wallpaper
Imposta il nuovo sfondo sul percorso dello sfondo fornito (file .jpg) e visualizza i dettagli dell'istanza selezionata.
Sintassi
ec2launch wallpaper ^ --path="C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg" ^ --all-tags ^ --attributes=hostName,instanceId,privateIpAddress,publicIpAddress,instanceSize,availabilityZone,architecture,memory,network
Input
Parametri
- --allowed-tags [
tag-name-1
,tag-name-n
] -
(Facoltativo) Array JSON codificato in Base64 di nomi di tag delle istanze da visualizzare sullo sfondo. Puoi usare questo tag o
--all-tags
, ma non entrambi. - --attributes
attribute-string-1
,attribute-string-n
-
(Facoltativo) Un elenco separato da virgole di stringhe di attributi
wallpaper
per applicare le impostazioni allo sfondo. - [--path | -p]
path-string
-
(Obbligatorio) Specifica il percorso del file dell'immagine di sfondo
wallpaper
.
Flag
- --all-tags
-
(Facoltativo) Visualizza tutti i tag delle istanze sullo sfondo. Puoi usare questo tag o
--allowed-tags
, ma non entrambi. - [--help | -h]
-
Visualizza l'assistenza per il comando wallpaper.
Configurazione dell'attività di EC2Launch v2
In questa sezione sono riportati lo schema, le attività, i dettagli e gli esempi di configurazione per agent-config.yml
e i dati utente.
Attività ed esempi
Schema: agent-config.yml
La struttura del file agent-config.yml
è riportata di seguito. Nota che un'attività non può essere ripetuta nella stessa fase. Per le proprietà delle attività, consulta le descrizioni delle attività che seguono.
Struttura del documento: 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: ... ... ...
Esempio: agent-config.yml
Nell'esempio seguente vengono illustrate le impostazioni per il file di configurazione agent-config.yml
.
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: dati utente
Gli esempi JSON e YAML seguenti mostrano la struttura del documento per i dati utente. Amazon EC2 analizza ogni attività rinominata nell'array tasks
specificato nel documento. Ogni attività ha il proprio set di proprietà e requisiti. Per informazioni dettagliate, consulta la Definizioni di processi.
Nota
Un'attività deve essere visualizzata una sola volta nell'array di attività per i dati utente.
Struttura del documento: dati utente
JSON
{ "version": "1.1", "tasks": [ { "task": "string", "inputs": { ... }, }, ... ] }
YAML
version: 1.1 tasks: - task: string inputs: ... ...
Esempio: dati utente
Per ulteriori informazioni su questi dati utente, vedere In che modo Amazon EC2 gestisce i dati utente per le istanze Windows.
Il seguente esempio di documento YAML mostra uno PowerShell script che EC2Launch v2 esegue come dati utente per creare un file.
version: 1.1 tasks: - task: executeScript inputs: - frequency: always type: powershell runAs: localSystem content: |- New-Item -Path 'C:\PowerShellTest.txt' -ItemType File
È possibile utilizzare un formato XML per i dati utente compatibile con le versioni precedenti dell'agente di avvio. EC2Launch v2 esegue lo script come attività executeScript
nella fase UserData
. Per conformarsi al comportamento di EC2Launch v1 ed EC2Config, lo script dei dati utente viene eseguito come processo attaccato/in linea per impostazione predefinita.
Puoi aggiungere tag opzionali per personalizzare la modalità di esecuzione dello script. Ad esempio, per eseguire lo script dei dati utente al riavvio dell'istanza e una volta all'avvio dell'istanza, puoi utilizzare il seguente tag:
<persist>true</persist>
Esempio:
<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <persist>true</persist>
È possibile specificare uno o più PowerShell argomenti con il tag. <powershellArguments>
Se non viene passato alcun argomento, EC2Launch v2 aggiunge il seguente argomento per impostazione predefinita:. -ExecutionPolicy Unrestricted
Esempio:
<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>
Per eseguire uno script di dati utente XML come processo distaccato, aggiungi il seguente tag ai dati utente.
<detach>true</detach>
Esempio:
<powershell> $file = $env:SystemRoot + "\Temp" + (Get-Date).ToString("MM-dd-yy-hh-mm") New-Item $file -ItemType file </powershell> <detach>true</detach>
Nota
Il tag di distacco non è supportato nei precedenti agenti di avvio.
Log delle modifiche: dati utente
La tabella seguente elenca le modifiche apportate ai dati utente e le confronta con la versione dell'agente EC2Launch v2 applicabile.
Versione dei dati utente | Informazioni | Introdotta in |
---|---|---|
1.1 |
|
EC2Launch v2 versione 2.0.1245 |
1 |
|
EC2Launch v2 versione 2.0.0 |
* Se utilizzato con il file agent-config.yml
predefinito.
Definizioni di processi
Ogni attività ha il proprio set di proprietà e requisiti. Per informazioni dettagliate, consulta le singole attività da includere nel documento.
Attività
activateWindows
Attiva Windows su un set di server. AWS KMS L'attivazione viene ignorata se l'istanza viene rilevata come uso di licenze proprie (BYOL).
Frequency - una volta
AllowedStages — [PreReady]
Inputs —
activation
: (mappa)
type
: (stringa) tipo di attivazione da utilizzare, impostato su amazon
Esempio
task: activateWindows inputs: activation: type: amazon
enableJumboFrames
Abilita i frame jumbo che aumentano l'unità di trasmissione massima (MTU) della scheda di rete. Per ulteriori informazioni, consulta Frame jumbo (9001 MTU).
Frequency - sempre
AllowedStages — [PostReady, UserData]
Inputs - nessuno
Esempio
task: enableJumboFrames
enableOpenSsh
Abilita Windows OpenSSH e aggiunge la chiave pubblica per l'istanza alla cartella delle chiavi autorizzate.
Frequency - una volta
AllowedStages — [PreReady, UserData]
Inputs - nessuno
Esempio
Nell'esempio seguente viene illustrato come abilitare OpenSSH su un'istanza e come aggiungere la chiave pubblica per l'istanza alla cartella delle chiavi autorizzate. Questa configurazione funziona solo su istanze che eseguono Windows Server 2019 e versioni successive.
task: enableOpenSsh
executeProgram
Esegue uno script con argomenti opzionali e una frequenza specificata.
Fasi: è possibile eseguire l'attività executeProgram
durante le fasiPreReady
, PostReady
e UserData
.
Frequenza: configurabile, vedere Input.
- Input
-
È possibile configurare i parametri di runtime come segue:
- frequenza (stringa)
-
(Obbligatorio) Specifica esattamente uno dei seguenti valori:
-
once
-
always
-
- path (stringa)
-
(Obbligatorio) Il percorso del file per l'eseguibile da eseguire.
- argomenti (elenco di stringhe)
-
(Facoltativo) Un elenco di argomenti separati da virgole da fornire al programma come input.
- runAs (stringa)
-
(Obbligatorio) Deve essere impostato su
localSystem
- Output
-
Tutte le attività scrivono le voci del file di registro nel file
agent.log
. L'output aggiuntivo dell'attivitàexecuteProgram
viene archiviato separatamente in una cartella denominata dinamicamente, come segue:%LocalAppData%\Temp\
EC2Launch#########
\outputfilename.tmp
Il percorso esatto dei file di output è incluso nel file
agent.log
, ad esempio: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
File di output per l'attività
executeProgram
ExecuteProgramInputs.tmp
-
Contiene il percorso dell'eseguibile e tutti i parametri di input che l'attività
executeProgram
passa durante l'esecuzione. Output.tmp
-
Contiene l'output di runtime del programma eseguito dall'attività
executeProgram
. Err.tmp
-
Contiene messaggi di errore di runtime provenienti dal programma eseguito dall'attività
executeProgram
.
- Esempi
-
Gli esempi seguenti mostrano come eseguire un file eseguibile da una directory locale su un'istanza con l'attività
executeProgram
.Esempio 1: Configurazione dell'eseguibile con un argomento
Questo esempio mostra un'attività
executeProgram
che esegue un eseguibile di installazione in modalità silenziosa.task: executeProgram inputs: - frequency: always path: C:\Users\Administrator\Desktop\setup.exe arguments: ['-quiet']
Esempio 2: eseguibile VLC con due argomenti
Questo esempio mostra un'attività
executeProgram
che esegue un file eseguibile VLC con due argomenti passati come parametri di input.task: executeProgram inputs: - frequency: always path: C:\vlc-3.0.11-win64.exe arguments: ['/L=1033','/S'] runAs: localSystem
executeScript
Esegue uno script con argomenti opzionali e una frequenza specificata. Il comportamento degli script dipende dalla modalità in cui l'agente esegue gli script: in linea o distaccati.
- In linea (impostazione predefinita)
-
L'agente EC2Launch v2 esegue gli script uno alla volta (
detach: false
). Si tratta dell'impostazione di default.Nota
Quando lo script in linea emette un comando reset o sysprep, viene eseguito immediatamente e reimposta l'agente. L'attività corrente termina, quindi l'agente si spegne senza eseguire altre attività.
Ad esempio, se l'attività che emette il comando fosse stata seguita da un'attività
startSsm
(inclusa per impostazione predefinita dopo l'esecuzione dei dati utente), l'attività non viene eseguita e il servizio Systems Manager non viene mai avviato. - Distaccato
-
L'agente EC2Launch v2 esegue gli script contemporaneamente ad altre attività (
detach: true
).Nota
Quando lo script distaccato emette un comando reset o sysprep, tali comandi attendono che l'agente finisca prima di procedere all'esecuzione. Le attività successive all'ExecuteScript continueranno a essere eseguite.
Fasi: è possibile eseguire l'attività executeScript
durante le fasiPreReady
, PostReady
e UserData
.
Frequenza: configurabile, vedere Input.
- Input
-
È possibile configurare i parametri di runtime come segue:
- frequenza (stringa)
-
(Obbligatorio) Specifica esattamente uno dei seguenti valori:
-
once
-
always
-
- Tipo: stringa
-
(Obbligatorio) Specifica esattamente uno dei seguenti valori:
-
batch
-
powershell
-
- argomenti (elenco di stringhe)
-
(Facoltativo) Un elenco di argomenti di stringa da passare all'interprete dei comandi. Questo parametro non è supportato per le attività eseguite su
type: batch
. Se non viene passato alcun argomento, EC2Launch v2 aggiunge il seguente argomento per impostazione predefinita:.-ExecutionPolicy Unrestricted
- contenuto (stringa)
-
(Obbligatorio) Contenuto dello script.
- runAs (stringa)
-
(Obbligatorio) Specificare esattamente uno dei seguenti valori:
-
admin
-
localSystem
-
- staccare (booleano)
-
(Facoltativo) L'agente EC2Launch v2 esegue di default gli script uno alla volta (
detach: false
). Per eseguire lo script in concomitanza con altre attività, impostate il valore sutrue
(detach: true
).Nota
I codici di uscita dello script (tra cui
3010
) non hanno effetto quandodetach
è impostato sutrue
.
- Output
-
Tutte le attività scrivono le voci del file di registro nel file
agent.log
. L'output aggiuntivo dello script eseguito dall'attivitàexecuteScript
viene archiviato separatamente in una cartella denominata dinamicamente, come segue:%LocalAppData%\Temp\
EC2Launch#########
\outputfilename.ext
Il percorso esatto dei file di output è incluso nel file
agent.log
, ad esempio: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
File di output per l'attività
executeScript
UserScript.
ext
-
Contiene lo script eseguito dall'attività
executeScript
. L'estensione del file dipende dal tipo di script specificato nel parametrotype
per l'attivitàexecuteScript
, come segue:-
Se il tipo è
batch
, l'estensione del file è.bat
. -
Se il tipo è
powershell
, l'estensione del file è.ps1
.
-
Output.tmp
-
Contiene l'output di runtime dello script eseguito dall'attività
executeScript
. Err.tmp
-
Contiene messaggi di errore di runtime provenienti dallo script eseguito dall'attività
executeScript
.
- Esempi
-
Gli esempi seguenti mostrano come eseguire uno script in linea con l'attività
executeScript
.Esempio 1: file di testo di output Ciao
Questo esempio mostra un'
executeScript
attività che esegue PowerShell uno script per creare un file di testo «Hello world» sull'unità.C:
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"
Esempio 2: eseguire due script
Questo esempio mostra che l'attività
executeScript
può eseguire più di uno script e il tipo di script non deve necessariamente corrispondere.Il primo script (
type: powershell
) scrive un riepilogo dei processi attualmente in esecuzione sull'istanza in un file di testo che si trova sull'unitàC:
.Il secondo script (
batch
) scrive le informazioni di sistema nel fileOutput.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
Esempio 3: configurazione di sistema idempotente con riavvii
Questo esempio mostra un'attività
executeScript
che esegue uno script idempotente per eseguire la seguente configurazione di sistema con un riavvio tra ogni fase:-
Impostare il nome del computer.
-
Aggiungere il computer al dominio
-
Abilitare Telnet.
Lo script garantisce che ogni operazione venga eseguita una sola volta. Ciò impedisce un ciclo di riavvio e rende lo script idempotente.
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
Estende il volume root per utilizzare tutto lo spazio disponibile sul disco.
Frequency - una volta
AllowedStages — [Boot]
Inputs - nessuno
Esempio
task: extendRootPartition
initializeVolume
Inizializza i volumi vuoti che sono collegati all'istanza in modo che vengano attivati e partizionati. L'agente di avvio salta l'inizializzazione se rileva che il volume non è vuoto. Un volume è considerato vuoto se i primi 4 KiB del volume sono vuoti o se non dispone di un layout di unità riconoscibile da Windows
Il parametro di input letter
viene sempre applicato quando viene eseguita questa attività, indipendentemente dal fatto che l'unità sia già inizializzata.
L'attività initializeVolume
effettua le seguenti operazioni.
-
Imposta gli attributi del disco
offline
ereadonly
su false. -
Creare una partizione. Se non è specificato alcun tipo di partizione nel parametro di input
partition
, si applicano le seguenti impostazioni predefinite:-
Se la dimensione del disco è inferiore a 2 TB, imposta il tipo di partizione su
mbr
. -
Se la dimensione del disco è pari o superiore a 2 TB, imposta il tipo di partizione su .
gpt
.
-
-
Formatta il volume come NTFS.
-
Imposta l'etichetta del volume, come indicato di seguito:
-
Utilizza il valore del parametro di input
name
, se specificato. -
Se il volume è temporaneo e non è stato specificato alcun nome, imposta l'etichetta del volume su
Temporary Storage Z
.
-
-
Se il volume è temporaneo (SSD o HDD, non Amazon EBS), crea un file
Important.txt
nel root del volume con il seguente contenuto: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: Instance store Amazon EC2.
-
Imposta la lettera dell'unità sul valore specificato nel parametro di input
letter
.
Fasi: è possibile eseguire l'attività initializeVolume
durante le fasi PostReady
e UserData
.
Frequenza: sempre.
- Input
-
È possibile configurare i parametri di runtime come segue:
- dispositivi (elenco di mappe)
-
(Condizionale) Configurazione per ogni dispositivo inizializzato dall'agente di avvio. Questo parametro è obbligatorio quando il parametro di input
initialize
è impostato sudevices
.-
dispositivo (stringa, obbligatorio): identifica il dispositivo durante la creazione dell'istanza. Ad esempio,
xvdb
,xvdf
o\dev\nvme0n1
. -
lettera (stringa, facoltativo): un carattere. La lettera dell'unità da assegnare.
-
nome (stringa, facoltativo): il nome del volume da assegnare.
-
partizione (stringa, facoltativo): specifica uno dei seguenti valori per il tipo di partizione da creare o consenti all'agente di avvio di utilizzare le impostazioni predefinite in base alla dimensione del volume:
-
mbr
-
gpt
-
-
- inizializza (stringa)
-
(Obbligatorio) Specificare esattamente uno dei seguenti valori:
-
all
-
devices
-
- Esempi
-
Gli esempi seguenti mostrano esempi di configurazioni di input per l'attività
initializeVolume
.Esempio 1: inizializzazione di due volumi su un'istanza
Questo esempio mostra un'attività
initializeVolume
che inizializza due volumi secondari su un'istanza. Il dispositivo denominatoDataVolume2
nell'esempio è effimero.task: initializeVolume inputs: initialize: devices devices: - device: xvdb name: DataVolume1 letter: D partition: mbr - device: /dev/nvme0n1 name: DataVolume2 letter: E partition: gpt
Esempio 2: inizializzazione dei volumi EBS collegati a un'istanza
Questo esempio mostra un'attività initializeVolume
che inizializza tutti i volumi EBS vuoti collegati all'istanza.
task: initializeVolume inputs: initialize: all
optimizeEna
Ottimizza le impostazioni ENA in base al tipo di istanza corrente; l'istanza potrebbe essere riavviata.
Frequency - sempre
AllowedStages — [PostReady, UserData]
Inputs - nessuno
Esempio
task: optimizeEna
impostare AdminAccount
Imposta gli attributi per l'account amministratore predefinito creato nel computer locale.
Frequency - una volta
AllowedStages — [PreReady]
Inputs —
name
: (stringa) nome dell'account amministratore
password
: (mappa)
type
: (stringa) strategia per impostare la password come static
, random
o doNothing
data
: (stringa) archivia i dati se il campo type
è statico
Esempio
task: setAdminAccount inputs: name: Administrator password: type: random
setDnsSuffix
Aggiunge suffissi DNS all'elenco dei suffissi di ricerca. All'elenco vengono aggiunti solo i suffissi che non esistono già. Per ulteriori informazioni su come gli agenti di avvio impostano i suffissi DNS, consulta. Configura il suffisso DNS per gli agenti di avvio di Windows
Frequency - sempre
AllowedStages — [PreReady]
Inputs —
suffixes
: (elenco di stringhe) elenco di uno o più suffissi DNS validi, le variabili di sostituzione valide sono $REGION
e $AZ
Esempio
task: setDnsSuffix inputs: suffixes: - $REGION.ec2-utilities.amazonaws.com
setHostName
Imposta il nome host del computer su una stringa personalizzata o, se hostName
non è specificato, sull'indirizzo IPv4 privato.
Frequency - sempre
AllowedStages — [PostReady, UserData]
Inputs —
hostName
: (stringa) nome host facoltativo, che deve essere formattato come segue.
-
Deve essere uguale o inferiore a 15 caratteri
-
Deve contenere solo caratteri alfanumerici (a-z, A-Z, 0-9) e trattino (-).
-
Non deve essere costituito interamente da caratteri numerici.
reboot
: (booleano) indica se è consentito un riavvio quando viene modificato il nome host
Esempio
task: setHostName inputs: reboot: true
setWallpaper
Crea il file di scorciatoia setwallpaper.lnk
nella cartella di startup di ciascun utente esistente, eccetto Default User
. Questo file di scorciatoia viene eseguito quando l'utente accede per la prima volta dopo l'avvio dell'istanza. Imposta l'istanza con uno sfondo personalizzato che visualizzi gli attributi dell'istanza.
Il percorso del file di scorciatoia è:
$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
Nota
La rimozione dell'attività setWallpaper
non elimina questo file di scorciatoia. Per ulteriori informazioni, consulta Il processo setWallpaper non è abilitato ma lo sfondo viene ripristinato al riavvio.
Fasi: puoi configurare lo sfondo durante le fasi PreReady
e UserData
.
Frequenza: always
Configurazione dello sfondo
È possibile configurare lo sfondo con le seguenti impostazioni.
- Input
-
Parametri di input che fornisci e attributi che puoi impostare per configurare lo sfondo:
- attributi (elenco di stringhe)
-
(Facoltativo) Puoi aggiungere uno o più dei seguenti attributi allo sfondo:
-
architecture
-
availabilityZone
-
hostName
-
instanceId
-
instanceSize
-
memory
-
network
-
privateIpAddress
-
publicIpAddress
-
- instanceTags
-
(Facoltativo) Per questa impostazione puoi utilizzare esattamente una delle seguenti opzioni.
-
AllTags(stringa) — Aggiungi tutti i tag di istanza allo sfondo.
instanceTags: AllTags
-
instanceTags (elenco di stringhe): specifica un elenco di nomi di tag delle istanze da aggiungere allo sfondo. Per esempio:
instanceTags: - Tag 1 - Tag 2
-
- path (stringa)
-
(Obbligatorio) Il percorso del nome del file immagine in formato.jpg locale da utilizzare per l'immagine di sfondo.
Esempio
L'esempio seguente mostra gli input di configurazione dello sfondo che impostano il percorso del file per l'immagine di sfondo dello sfondo, insieme ai tag delle istanze denominati Tag 1
e Tag 2
e agli attributi che includono il nome dell'host, l'ID dell'istanza e gli indirizzi IP privati e pubblici dell'istanza.
task: setWallpaper inputs: path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg attributes: - hostName - instanceId - privateIpAddress - publicIpAddress instanceTags: - Tag 1 - Tag 2
Nota
È necessario abilitare i tag nei metadati per mostrare i tag sullo sfondo. Per ulteriori informazioni sui tag e metadati delle istanze, consulta Utilizzo dei tag dell'istanza nei metadati dell'istanza.
startSsm
Avvia il servizio Systems Manager (SSM) dopo Sysprep.
Frequency - sempre
AllowedStages — [PostReady, UserData]
Inputs - nessuno
Esempio
task: startSsm
sysprep
Reimposta lo stato del servizio, aggiorna unattend.xml
, disabilita RDP ed esegue Sysprep. Questa attività viene eseguita solo dopo che tutte le altre attività sono state completate.
Frequency - una volta
AllowedStages — [UserData]
Inputs —
clean
: (booleano) pulisce i log delle istanze prima di eseguire Sysprep
shutdown
: (booleano) chiude l'istanza dopo l'esecuzione di Sysprep
Esempio
task: sysprep inputs: clean: true shutdown: true
writeFile
Scrive un file in una destinazione.
Frequency - vedi Inputs
AllowedStages — [PostReady, UserData]
Inputs —
frequency
: (stringa) once
o always
destination
: (stringa) percorso in cui scrivere il contenuto
content
: (stringa) testo da scrivere nella destinazione
Esempio
task: writeFile inputs: - frequency: once destination: C:\Users\Administrator\Desktop\booted.txt content: Windows Has Booted
Codici di uscita e riavvii EC2Launch v2
È possibile utilizzare EC2Launch v2 per definire come i codici di uscita vengono gestiti dagli script. Per impostazione predefinita, il codice di uscita dell'ultimo comando eseguito in uno script viene segnalato come codice di uscita per l'intero script. Ad esempio, se uno script include tre comandi e il primo comando ha esito negativo ma quelli seguenti hanno esito positivo, lo stato di esecuzione viene segnalato come success
perché il comando finale ha avuto esito positivo.
Se si desidera che uno script riavvii un'istanza, è necessario specificare exit
3010
nello script, anche quando il riavvio è l'ultimo passo dello script. exit 3010
indica a EC2Launch v2 di riavviare l'istanza e richiamare nuovamente lo script fino a quando non restituisce un codice di uscita che non è 3010
o fino a quando non viene raggiunto il numero massimo di riavvii. EC2Launch v2 consente un massimo di 5 riavvii per attività. Se si tenta di riavviare un'istanza da uno script utilizzando un meccanismo diverso, ad esempio Restart-Computer
, lo stato di esecuzione dello script non sarà coerente. Ad esempio, potrebbe rimanere bloccato in un ciclo di riavvio o non eseguire il riavvio.
Se utilizzi un formato di dati utente XML compatibile con agenti meno recenti, i dati utente potrebbero essere eseguiti più volte di quanto desideri. Per ulteriori informazioni, consulta Il servizio esegue i dati utente più di una volta nella sezione di risoluzione dei problemi.
EC2Launch v2 e Sysprep
Il servizio EC2Launch v2 esegue Sysprep, uno strumento Microsoft che ti permette di creare un'AMI di Windows personalizzata che può essere riutilizzata. Quando EC2Launch v2 chiama Sysprep, utilizza i file contenuti in %ProgramData%\Amazon\EC2Launch
per determinare quali operazioni eseguire. Puoi modificare questi file indirettamente utilizzando la finestra di dialogo Impostazioni EC2Launch direttamente utilizzando un editor YAML o un editor di testo. Tuttavia esistono alcune impostazioni avanzate che non sono disponibili nella finestra di dialogoImpostazioni EC2Launch, quindi è necessario modificarle direttamente.
Se crei un'AMI da un'istanza dopo l'aggiornamento delle sue impostazioni, le nuove impostazioni vengono applicate a ogni istanza lanciata dalla nuova AMI. Per informazioni sulla creazione di un'AMI, consulta Crea un'AMI supportata da Amazon EBS.