Usa l'agente EC2Launch v2 per eseguire attività durante l'avvio dell'istanza di EC2 Windows - Amazon Elastic Compute Cloud

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à.

Usa l'agente EC2Launch v2 per eseguire attività durante l'avvio dell'istanza di EC2 Windows

Tutte le istanze supportate di Amazon EC2 avviate da AWS Windows Server 2022 AMIs includono l'agente di avvio EC2Launch v2 (EC2Launch.exe) per impostazione predefinita. Forniamo inoltre a Windows Server 2016 e 2019 AMIs la EC2Launch versione 2 installata come agente di avvio predefinito. Questi AMIs sono forniti in aggiunta a Windows Server 2016 e 2019 AMIs che includono la EC2Launch versione 1. Puoi cercare Windows AMIs che includono la EC2Launch v2 per impostazione predefinita inserendo il seguente prefisso nella ricerca dalla AMIspagina della EC2 console Amazon:. EC2LaunchV2-Windows_Server-*

Per confrontare le funzionalità della versione Launch Agent, vedi. Confronta gli agenti di EC2 lancio di Amazon

EC2Launchv2 esegue attività durante l'avvio dell'istanza e viene eseguita se un'istanza viene arrestata e successivamente avviata o riavviata. EC2Launchv2 può anche eseguire attività su richiesta. Alcune di queste attività sono abilitate automaticamente, mentre altre devono essere abilitate manualmente. Il servizio EC2Launch v2 supporta tutte EC2Config le EC2Launch funzionalità.

Questo servizio utilizza un file di configurazione per controllarne il funzionamento. Puoi aggiornare il file di configurazione utilizzando uno strumento grafico o modificandolo direttamente come un singolo file .yml (agent-config.yml). I file binari del servizio si trovano nella directory %ProgramFiles%\Amazon\EC2Launch.

EC2Launchv2 pubblica i registri degli eventi di Windows per aiutarti a risolvere gli errori e impostare i trigger. Per ulteriori informazioni, consulta Log di eventi di Windows.

L'agente EC2Launch v2 supporta le seguenti versioni del sistema operativo Windows Server:

Versioni del sistema operativo supportate
  • Windows Server 2022

  • Windows Server 2019 (canale di manutenzione a lungo termine e canale semestrale)

  • Windows Server 2016

EC2Launchconcetti v2

I seguenti concetti sono utili da comprendere quando si considera la versione EC2Launch v2.

Attività

Puoi richiamare un'attività per eseguire un'operazione su un'istanza. Puoi configurare le attività nel file agent-config.yml o tramite i dati utente. Per un elenco delle attività disponibili per la versione EC2Launch 2, consulta le attività della EC2Launchversione 2. Per lo schema di configurazione delle attività e informazioni dettagliate, consulta EC2Launchconfigurazione del task v2.

Stage

Una fase è un raggruppamento logico di attività eseguite dall'agente EC2Launch v2. Alcune attività possono essere eseguite solo in una fase specifica. Altre possono essere eseguite in più fasi. Quando utilizzi agent-config.yml, è necessario specificare un elenco di fasi e un elenco di attività da eseguire all'interno di ciascuna fase.

Il servizio esegue le fasi nel seguente ordine:

Fase 1: Avvio

Fase 2: Rete

Fase 3: PreReady

Windows è pronto

Al termine della PreReady fase, il servizio invia il Windows is ready messaggio alla EC2 console Amazon.

Fase 4: PostReady

I dati utente vengono eseguiti durante la PostReadyfase. Alcune versioni degli script vengono eseguite prima della PostReadyfase del agent-config.yml file e altre dopo, come segue:

Prima di agent-config.yml
  • YAMLdati utente versione 1.1

  • XMLdati utente

Dopo di agent-config.yml
  • YAMLdati utente versione 1.0 (versione precedente per la compatibilità con le versioni precedenti)

Per le fasi e attività di esempio, consulta Esempio: agent-config.yml.

Quando utilizzi i dati utente, devi specificare un elenco di attività per l'esecuzione dell'agente di avvio. La fase è implicita. Per le attività di esempio, consulta Esempio: dati utente.

EC2Launchv2 esegue l'elenco delle attività nell'ordine specificato nei agent-config.yml e nei dati utente. Le fasi vengono eseguite in sequenza. La fase successiva inizia dopo il completamento della fase precedente. Anche le attività vengono eseguite in sequenza.

Frequenza

La frequenza delle attività stabilisce quando le attività devono essere eseguite a seconda del contesto di avvio. La maggior parte delle attività ha una sola frequenza consentita. È possibile specificare una frequenza per le attività executeScript.

Vedrai le seguenti frequenze nella EC2Launchconfigurazione del task v2.

  • Una volta: l'attività viene eseguita una sola volta, al AMI primo avvio (al termine di Sysprep).

  • Sempre: l'attività viene eseguita ogni volta che viene attivato l'agente di avvio. L'agente di avvio viene eseguito quando:

    • un'istanza viene avviata o riavviata

    • il servizio viene eseguito EC2Launch

    • viene richiamato EC2Launch.exe run

agent-config

agent-configè un file che si trova nella cartella di configurazione per la EC2Launch v2. Include la configurazione per l'avvio, la rete e PostReady le fasi. PreReady Questo file viene utilizzato per specificare la configurazione dell'istanza per le AMI attività da eseguire al primo avvio o per le volte successive.

Per impostazione predefinita, l'installazione EC2Launch v2 installa un agent-config file che include le configurazioni consigliate utilizzate in Amazon Windows standard. AMIs Puoi aggiornare il file di configurazione per modificare l'esperienza di avvio predefinita specificata dalla v2AMI. EC2Launch

Dati utente

I dati utente sono dati configurabili quando si avvia un'istanza. È possibile aggiornare i dati utente per modificare dinamicamente la configurazione personalizzata AMIs o AMIs quickstart. EC2Launchv2 supporta una lunghezza di input dei dati utente di 60 kB. I dati utente includono solo lo UserData stage e pertanto vengono eseguiti dopo il agent-config file. È possibile inserire i dati utente quando si avvia un'istanza utilizzando la procedura guidata di avvio dell'istanza oppure è possibile modificare i dati utente dalla EC2 console. Per informazioni sull'utilizzo dei dati utente, consulta In che modo Amazon EC2 gestisce i dati degli utenti per le istanze Windows.

EC2Launchpanoramica delle attività v2

EC2Launchv2 può eseguire le seguenti attività ad ogni avvio:

  • Impostare un nuovo sfondo personalizzato e facoltativo che esegue il rendering delle informazioni riguardanti l'istanza.

  • Impostare gli attributi per l'account amministratore creato nel computer locale.

  • Aggiungi DNS suffissi all'elenco dei suffissi di ricerca. All'elenco vengono aggiunti solo i suffissi che non esistono già.

  • Impostare le lettere di unità per eventuali volumi aggiuntivi ed estenderli per utilizzare lo spazio disponibile.

  • Scrive i file dalla configurazione sul disco.

  • Esegui gli script specificati nel file di configurazione EC2Launch v2 o da. user-data Gli script di user-data possono essere in testo semplice o compressi e forniti in formato base64.

  • Eseguire un programma con argomenti specificati.

  • Impostare il nome del computer.

  • Invia informazioni sull'istanza alla EC2 console Amazon.

  • Invia l'impronta digitale del RDP certificato alla console AmazonEC2.

  • Estendere in modo dinamico la partizione del sistema operativo per includere qualsiasi spazio non partizionato.

  • Eseguire i dati utente. Per ulteriori informazioni sulla specifica dei dati utente, consulta EC2Launchconfigurazione del task v2.

  • Imposta istradamenti statici non persistenti per raggiungere il servizio metadati e i server AWS KMS .

  • Imposta le partizioni non di avvio su o. mbr gpt

  • Avviare il servizio Systems Manager dopo Sysprep.

  • Ottimizza le impostazioniENA.

  • Abilita Open SSH per le versioni successive di Windows.

  • Abilitare i frame jumbo.

  • Impostare Sysprep per l'esecuzione con EC2Launch la versione 2.

  • Pubblicare i log di eventi di Windows.

EC2Launchstruttura delle cartelle v2

EC2Launchv2 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 EC2Launch v2, è necessario inserire il percorso in Windows Explorer o modificare le proprietà della cartella per mostrare file e 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 file agent-config.yml

    • YamlDotNet.dll— DLL per supportare alcune operazioni nell'interfaccia utente

  • tools

    • ebsnvme-id.exe— strumento per esaminare i metadati dei EBS volumi sull'istanza

    • AWSAcpiSpcrReader.exe— strumento per determinare la COM porta corretta da utilizzare

    • EC2LaunchEventMessage.dll— DLL per supportare la registrazione degli eventi di Windows perEC2Launch.

  • 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 del codice utilizzato in Launch EC2

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— Configurazione

    Il 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— Registri delle istanze

    I log relativi al servizio (agent.log), alla console (), alle prestazioni (console.log), agli errori (bench.log) e alla telemetria (err.log) telemetry.log sono archiviati in questa directory. I file di log vengono aggiunti alle successive esecuzioni del servizio.

  • state— Dati sullo stato del servizio

    Qui 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 include state.json e previous-state.json per tenere traccia dello stato di ogni attività.

  • sysprep— Sysprep

    Questa directory contiene i file utilizzati per determinare le operazioni da eseguire da Sysprep quando crea un Windows personalizzato AMI che può essere riutilizzato.

  • wallpaper— Sfondo

    Queste immagini di sfondo sono memorizzate in questa cartella.

Telemetria

La telemetria è un'informazione aggiuntiva che consente di AWS comprendere meglio i requisiti, diagnosticare i problemi e fornire funzionalità con cui migliorare l'esperienza dell'utente. Servizi AWS

EC2LaunchLe versioni v2 2.0.592 e successive raccolgono dati di telemetria, ad esempio metriche di utilizzo ed errori. Questi dati vengono raccolti dall'EC2istanza Amazon su cui viene eseguita la EC2Launch versione 2. Sono inclusi tutti i Windows di AMIs proprietà di AWS.

I seguenti tipi di telemetria vengono raccolti da v2: EC2Launch

  • Informazioni di utilizzo: comandi dell'agente, metodo di installazione e frequenza di esecuzione pianificata.

  • Errori e informazioni diagnostiche: codici di errore di installazione dell'agente, codici di errore di esecuzione e stack di chiamate di errore.

Esempi di dati raccolti:

2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsUserDataScheduledPerBoot=true 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandCode=1 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandErrorCode=5 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallCode=2 2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallErrorCode=0

La telemetria è abilitata per impostazione predefinita. Puoi disabilitare la raccolta dati di telemetria in qualsiasi momento. Se la telemetria è abilitata, EC2Launch v2 invia i dati di telemetria senza ulteriori notifiche ai clienti.

Visibilità della telemetria

Quando la telemetria è abilitata, viene visualizzata nell'output della EC2 console Amazon come segue.

2021/07/15 21:44:12Z: Telemetry: <Data>
Disabilitare la telemetria su un'istanza

Per disabilitare la telemetria per una singola istanza, puoi impostare una variabile di ambiente di sistema o utilizzarla per modificare l'installazione. MSI

Per disattivare la telemetria impostando una variabile di ambiente di sistema, esegui il comando seguente come amministratore.

setx /M EC2LAUNCH_TELEMETRY 0

Per disabilitare la telemetria utilizzando ilMSI, esegui il comando seguente dopo aver scaricato il. MSI

msiexec /i ".\AmazonEC2Launch.msi" Remove="Telemetry" /q