Configurazione dell'istanza Windows tramite EC2Launch - 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à.

Configurazione dell'istanza Windows tramite EC2Launch

EC2Launch è un set di PowerShell script Windows che ha sostituito il servizio EC2Config sulle AMI Windows Server 2016 e 2019. Molte di queste AMI sono ancora disponibili. EC2Launch v2 è il più recente agente di avvio per tutte le versioni supportate di Windows Server che sostituisce sia EC2config che EC2Launch. Per ulteriori informazioni, consulta Configurare un'istanza Windows tramite EC2Launch v2.

Nota

Per utilizzare EC2Launch con IMDSv2, la versione deve essere 1.3.2002730 o versione successiva.

Attività EC2Launch

EC2Launch esegue le seguenti operazioni per impostazione predefinita durante l'avvio dell'istanza iniziale:

  • Imposta un nuovo sfondo che esegue il rendering delle informazioni riguardanti l'istanza.

  • Imposta il nome del computer sull'indirizzo IPv4 privato dell'istanza.

  • Invia le informazioni di istanza alla console Amazon EC2.

  • Invia l'impronta del certificato RDP alla console EC2.

  • Imposta una password casuale per l'account dell'amministratore.

  • Aggiunge i suffissi DNS.

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

  • Esegue i dati utente (se specificato). Per ulteriori informazioni sulla specifica dei dati utente, consulta Utilizzo dei dati utente dell'istanza.

  • Imposta percorsi statici persistenti per raggiungere il servizio di metadati e i server. AWS KMS

    Importante

    Se da questa istanza viene creata un'AMI personalizzata, i routing vengono acquisiti come parte della configurazione del sistema operativo e qualsiasi nuova istanza avviata dall'AMI avrà gli stessi routing, indipendentemente dal posizionamento della sottorete. Per aggiornare i routing, vedi Aggiornamento di routing KMS/metadati per il Server 2016 o versione successiva quando si lancia un'AMI personalizzata.

Le seguenti attività contribuiscono a mantenere la retrocompatibilità con il servizio EC2Config. È anche possibile configurare EC2Launch in modo che esegua queste attività durante li startup:

  • Inizializzare i volumi EBS secondari.

  • Inviare i log di eventi di Windows ai log della console EC2.

  • Inviare il messaggio Windows is ready to use (Windows è pronto per l'utilizzo) alla console EC2.

Per ulteriori informazioni su Windows Server 2019, consulta Confronta le funzionalità delle versioni di Windows Server su Microsoft.com.

Telemetria

La telemetria è un'informazione aggiuntiva che aiuta AWS a comprendere meglio i requisiti, diagnosticare i problemi e fornire funzionalità per migliorare l'esperienza con i servizi. AWS

EC2Launch versione 1.3.2003498 e successive raccolgono dati di telemetria, ad esempio parametri ed errori di utilizzo. Questi dati vengono raccolti dall'istanza Amazon EC2 su cui viene eseguito EC2Launch. Sono incluse tutte le AMI Windows di proprietà di. AWS

EC2Launch raccoglie i seguenti tipi di telemetria:

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

  • Errori e informazioni diagnostiche: installazione dell'agente ed esecuzione dei codici 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 invia i dati di telemetria senza ulteriori notifiche ai clienti.

Viene registrata la scelta di abilitare o disabilitare la telemetria.

È possibile attivare o disattivare la raccolta di telemetria. La propria selezione per attivare o disattivare la telemetria viene raccolta per garantire l'adesione alla propria opzione di telemetria.

Visibilità della telemetria

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

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

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 durante l'installazione, eseguire install.ps1 come riportato:

. .\install.ps1 -EnableTelemetry:$false

Verifica la versione EC2Launch

Usa il seguente PowerShell comando di Windows per verificare la versione installata di EC2Launch.

PS C:\> Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version

Struttura della directory di EC2Launch

Per impostazione predefinita, EC2Launch viene installato sulle AMI di Windows Server 2016 o versione successiva nella directory radice C:\ProgramData\Amazon\EC2-Windows\Launch.

Nota

Per impostazione predefinita, Windows nasconde i file e le cartelle in C:\ProgramData. Per visualizzare le directory e i file di EC2Launch, è necessario digitare il percorso in Windows Explorer risorse o modificare le proprietà della cartella per visualizzare i file e le cartelle nascosti.

La directory Launch contiene le sottodirectory seguenti.

  • Scripts— Contiene PowerShell gli script che compongono EC2Launch.

  • Module - Contiene il modulo per la creazione di script relativi a Amazon EC2.

  • Config - Contiene file di configurazione dello script che si possono personalizzare.

  • Sysprep - Contiene risorse Sysprep.

  • Settings - Contiene un'applicazione per l'interfaccia utente grafica di Sysprep.

  • Library: contiene librerie condivise per gli agenti di avvio di EC2.

  • Logs - Contiene i file di log generati dagli script.

Versione EC2Launch e successive 1.3.2004592

Gli utenti del Administrators gruppo dispongono delle Full control autorizzazioni per accedere a tutte le directory EC2Launch. Gli utenti che non fanno parte del gruppo Administrators dispongono delle Read & execute autorizzazioni per tutte le directory di EC2Launch tranne. C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Config La Config directory è riservata agli utenti che sono membri del gruppo. Administrators

Versione 1.3.2004491 EC2Launch e precedenti

Tutte le directory EC2Launch ereditano le autorizzazioni da, tranne. C:\ProgramData C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Scripts Questa cartella eredita tutte le autorizzazioni iniziali dal C:\ProgramData momento della creazione, ma rimuove l'accesso degli utenti normali alla directory. CreateFiles

Configurazione di EC2Launch

Dopo aver inizializzato l'istanza la prima volta, è possibile configurare EC2Launch in modo che venga eseguito nuovamente ed eseguire diverse attività di avvio.

Configurare le attività di inizializzazione

Specificare le impostazioni nel file LaunchConfig.json per attivare o disattivare le seguenti attività di inizializzazione:

  • Imposta il nome del computer sull'indirizzo IPv4 privato dell'istanza.

  • Impostare il monitor in modo che rimanga sempre acceso.

  • Impostare un nuovo sfondo.

  • Aggiungere l'elenco di suffissi DNS.

    Nota

    Ciò aggiunge una ricerca dei suffissi DNS per il seguente dominio e configura altri suffissi standard. 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

    region.ec2-utilities.amazonaws.com
  • Estendere la dimensione del volume di avvio.

  • Impostare la password amministratore

Configurare le impostazioni di inizializzazione
  1. Nell'istanza da configurare, aprire il seguente file in un editor di testo: C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json.

  2. Aggiornare le seguenti impostazioni come necessario e salvare le modifiche. Fornire una password in adminPassword solo se adminPasswordtype è Specify.

    { "setComputerName": false, "setMonitorAlwaysOn": true, "setWallpaper": true, "addDnsSuffixList": true, "extendBootVolumeSize": true, "handleUserData": true, "adminPasswordType": "Random | Specify | DoNothing", "adminPassword": "password that adheres to your security policy (optional)" }

    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 in LaunchConfig.json come testo non crittografato e viene cancellata dopo che Sysprep ha impostato la password amministratore. EC2Launch crittografa la password utilizzando la chiave dell'utente.

    DoNothing

    EC2Launch utilizza la password specificata nel file unattend.xml. Se non si indica una password in unattend.xml, l'account amministratore viene disattivato.

  3. In Windows PowerShell, esegui il comando seguente per pianificare l'esecuzione dello script come operazione pianificata di Windows. Lo script viene eseguito una volta durante l'avvio successivo, poi disabilita la nuova esecuzione di queste attività.

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule

Pianificare EC2Launch in modo che venga eseguito a ogni avvio

Puoi pianificare EC2Launch in modo che venga eseguito a ogni avvio invece che solo all'avvio iniziale.

Per abilitare EC2Launch in modo che venga eseguito a ogni avvio:

  1. Apri Windows PowerShell ed esegui il seguente comando:

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot
  2. Oppure, eseguire l'eseguibile con il seguente comando:

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe

    Quindi selezionare Run EC2Launch on every boot. Puoi specificare che la tua istanza EC2 Shutdown without Sysprep o Shutdown with Sysprep.

Nota

Quando abiliti EC2Launch in modo che sia eseguito a ogni avvio, al successivo avvio di EC2Launch si verifica quanto riportato di seguito:

  • Se AdminPasswordType è ancora impostato su Random, EC2Launch genererà una nuova password al prossimo avvio. Dopo l'avvio, AdminPasswordType viene impostato automaticamente su DoNothing per impedire a EC2Launch di generare nuove password agli avvii successivi. Per impedire a EC2Launch di generare una nuova password al primo avvio, imposta manualmente AdminPasswordType su DoNothing prima di riavviare.

  • HandleUserData verrà di nuovo impostato su false a meno che i dati utente non abbiano persist impostato su true. Per ulteriori informazioni, consulta Script di dati utente.

Inizializzazione delle unità e mappatura delle lettere di unità

Specificare le impostazioni nel file DriveLetterMappingConfig.json per mappare le lettere di unità nei volumi dell'istanza EC2. Lo script inizializza le unità che non sono già inizializzate e partizionate. Per ulteriori informazioni su come ottenere i dettagli del volume in Windows, consulta la pagina Get-Volume nella documentazione di Microsoft.

Mappatura delle lettere di unità nei volumi
  1. Apri il file C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json in un editor di testo.

  2. Specificare le seguenti impostazioni di volume e salvare le modifiche:

    { "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] }
  3. Apri Windows PowerShell e usa il seguente comando per eseguire lo script EC2Launch che inizializza i dischi:

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1

    Per inizializzare i dischi ogni volta che l'istanza si avvia, aggiungere il contrassegno -Schedule come segue:

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule

Inviare i log di eventi di Windows alla console EC2.

Specificare le impostazioni nel file EventLogConfig.json per inviare i log di eventi di Windows ai log della console EC2.

Configurazione delle impostazioni per inviare i log di eventi di Windows
  1. Nell'istanza, aprire il file C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json in un editor di testo.

  2. Configurare le seguenti impostazioni di log e salvare le modifiche:

    { "events": [ { "logName": "System", "source": "An event source (optional)", "level": "Error | Warning | Information", "numEntries": 3 } ] }
  3. In Windows PowerShell, esegui il comando seguente in modo che il sistema pianifichi lo script in modo che venga eseguito come attività pianificata di Windows ogni volta che l'istanza viene avviata.

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendEventLogs.ps1 -Schedule

    Possono essere necessari tre minuti o più prima che i log compaiano nei log della console EC2.

Inviare il messaggio Windows is ready (Windows è pronto) dopo un avvio riuscito.

Il servizio EC2Config ha inviato il messaggio "Windows è pronto" alla console EC2 dopo ogni avvio. EC2Launch invia questo messaggio solo dopo l'avvio iniziale. Per la retrocompatibilità con il servizio EC2Config, è possibile programmare EC2Launch in modo che invii questo messaggio dopo ogni avvio. Nell'istanza, apri Windows PowerShell ed esegui il comando seguente. Il sistema programma l'esecuzione dello script come Windows Scheduled Task.

PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendWindowsIsReady.ps1 -Schedule