Aggiornamento di un' Windows Server AMI - AWS Systems Manager

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

Aggiornamento di un' Windows Server AMI

Il AWS-UpdateWindowsAmi runbook consente di automatizzare le attività di manutenzione delle immagini su Amazon Windows Amazon Machine Image (AMI) senza dover creare il runbook in JSON o YAML. Questo runbook è supportato per Windows Server 2008 R2 o versioni successive. È possibile utilizzare il runbook AWS-UpdateWindowsAmi per eseguire i tipi di processi seguenti.

  • Installazione di tutti gli aggiornamenti di Windows e aggiornamento del software Amazon (comportamento predefinito).

  • Installazione di aggiornamenti di Windows specifici e aggiornamento del software Amazon.

  • Personalizza un AMI usando i tuoi script.

Prima di iniziare

Prima di iniziare a lavorare con i runbook, configurare i ruoli per il servizio di automazione per aggiungere una policy iam:PassRole che fa riferimento all'ARN del profilo dell'istanza a cui si desidera concedere l'accesso. Facoltativamente, configura Amazon EventBridge for Automation, uno strumento in AWS Systems Manager. Per ulteriori informazioni, consulta Configurazione del servizio di automazione. Questa procedura dettagliata richiede anche di specificare il nome di un profilo di istanza AWS Identity and Access Management (IAM). Per ulteriori informazioni sulla creazione di un profilo dell'istanza IAM, consulta la pagina Configurazione delle autorizzazioni dell'istanza richieste per Systems Manager.

Nota

Aggiornamenti a AWS Systems Manager SSM Agent vengono in genere distribuiti in aree geografiche diverse in momenti diversi. Quando personalizzi o aggiorni un'AMI, usa solo il codice sorgente AMIs pubblicato per la regione in cui lavori. In questo modo si assicurerà di lavorare con la versione più recente SSM Agent rilasciato per quella regione ed evita problemi di compatibilità.

Il runbook AWS-UpdateWindowsAmi accetta i parametri di input seguenti.

Parametro Tipo Descrizione

SourceAmiId

Stringa

(Obbligatorio) La fonte AMI ID. È possibile fare riferimento automaticamente alla versione più recente di Windows Server AMI ID utilizzando un Systems Manager Parameter Store parametro pubblico. Per ulteriori informazioni, vedere Query per le versioni più recenti di Windows AMI IDs utilizzando AWS Systems Manager Parameter Store.

SubnetId

Stringa

(Facoltativo) La sottorete in cui si desidera avviare l'istanza temporanea. Se è stato eliminato il VPC predefinito, è necessario specificare un valore per questo parametro.

IamInstanceProfileName

Stringa

(Obbligatorio) Il nome del ruolo del profilo dell'istanza IAM creato in Configurazione delle autorizzazioni dell'istanza richieste per Systems Manager. Il ruolo del profilo dell'istanza concede le autorizzazioni al servizio di automazione per eseguire operazioni sulle istanze, ad esempio l'esecuzione di comandi o l'avvio e l'arresto dei servizi. Il runbook utilizza solo il nome del ruolo del profilo dell'istanza.

AutomationAssumeRole

Stringa

(Obbligatorio) Nome del ruolo di servizio IAM creato in Configurazione del servizio di automazione. Il ruolo di servizio (definito anche ruolo presunto) concede l'autorizzazione al servizio di automazione di assumere il ruolo IAM e di eseguire operazioni a nome dell'utente. Ad esempio, il ruolo di servizio consente ad Automation di crearne uno nuovo AMI quando si esegue l'aws:createImageazione in un runbook. Per questo parametro, è necessario specificare l'ARN completo.

TargetAmiName

Stringa

(Facoltativo) Il nome del nuovo AMI dopo la sua creazione. Il nome predefinito è una stringa generata dal sistema che include il codice sorgente AMI ID e data e ora di creazione.

InstanceType

Stringa

(Facoltativo) Tipo di istanza da avviare come host del workspace. I tipi di istanza variano in base alla regione. Il tipo predefinito è t2.medium.

PreUpdateScript

Stringa

(Facoltativo) Uno script da eseguire prima di aggiornare il AMI. Immettete uno script nel runbook o in fase di esecuzione come parametro.

PostUpdateScript

Stringa

(Facoltativo) Uno script da eseguire dopo l'aggiornamento di AMI. Immettete uno script nel runbook o in fase di esecuzione come parametro.

IncludeKbs

Stringa

(Facoltativo) Specificare uno o più articoli della Microsoft Knowledge Base (KB) IDs da includere. È possibile installarne più di IDs uno utilizzando valori separati da virgole. Formati validi: KB9876543 o 9876543.

ExcludeKbs

Stringa

(Facoltativo) Specificare uno o più articoli della Microsoft Knowledge Base (KB) IDs da escludere. È possibile escluderne più di IDs uno utilizzando valori separati da virgole. Formati validi: KB9876543 o 9876543.

Categories

Stringa

(Facoltativo) Specificare una o più categorie di aggiornamento. È possibile filtrare le categorie utilizzando valori separati da virgole. Opzioni: Critical Update, Security Update, Definition Update, Update Rollup, Service Pack, Tool, Update o Driver. I formati validi includono una singola voce, ad esempio: Critical Update. In alternativa, è possibile specificare un elenco di valori separati da virgole: Critical Update,Security Update,Definition Update.

SeverityLevels

Stringa

(Facoltativo) Specificare uno o più livelli di gravità MSRC associati a un aggiornamento. È possibile filtrare i livello di gravità utilizzando valori separati da virgole. Opzioni: Critical, Important, Low, Moderate o Unspecified. I formati validi includono una singola voce, ad esempio: Critical. In alternativa, è possibile specificare un elenco di valori separati da virgole: Critical,Important,Low.

Fasi di automazione

Per impostazione predefinita, il runbook AWS-UpdateWindowsAmi include le seguenti fasi.

Fase 1: launchInstance (operazione aws:runInstances)

Questa fase avvia un'istanza con un ruolo del profilo dell'istanza IAM dal parametro SourceAmiID specificato.

Fase 2: runPreUpdate Script (aws:runCommandazione)

Questa fase consente di specificare uno script come stringa che viene eseguita prima dell'installazione degli aggiornamenti.

Passaggio 3: aggiorna EC2 Config (aws:runCommandazione)

Questo passaggio utilizza il AWS-InstallPowerShellModule runbook per scaricare un modulo AWS pubblico PowerShell . Systems Manager verifica l'integrità del modulo utilizzando un hash SHA-256. Systems Manager controlla quindi il sistema operativo per determinare se aggiornare EC2 Config o EC2 Launch. EC2Config viene eseguito su Windows Server 2008 R2 tramite Windows Server 2012 R2. EC2Launch viene eseguito su Windows Server 2016.

Fase 4: aggiornamento SSMAgent (aws:runCommandazione)

Questo passaggio si aggiorna SSM Agent utilizzando il AWS-UpdateSSMAgent runbook.

Fase 5: aggiornamento AWSPVDriver (aws:runCommandazione)

Questo passaggio aggiorna i driver AWS PV utilizzando il AWS-ConfigureAWSPackage runbook.

Fase 6: updateAwsEna NetworkDriver (azione) aws:runCommand

Questo passaggio aggiorna i driver AWS ENA Network utilizzando il AWS-ConfigureAWSPackage runbook.

Fase 7: installWindowsUpdates (aws:runCommandazione)

Questa fase installa gli aggiornamenti di Windows utilizzando il runbook AWS-InstallWindowsUpdates. Per impostazione predefinita, Systems Manager cerca e installa tutti gli aggiornamenti mancanti. È possibile modificare il comportamento predefinito specificando uno dei parametri seguenti: IncludeKbs, ExcludeKbs, Categories o SeverityLevels.

Fase 8: runPostUpdate Script (aws:runCommandazione)

Questa fase consente di specificare uno script come stringa che viene eseguita dopo l'installazione degli aggiornamenti.

Fase 9: runSysprepGeneralize (aws:runCommandazione)

Questo passaggio utilizza il AWS-InstallPowerShellModule runbook per scaricare un PowerShell modulo AWS pubblico. Systems Manager verifica l'integrità del modulo utilizzando un hash SHA-256. Systems Manager esegue quindi sysprep utilizzando metodi AWS supportati per EC2 Launch (Windows Server 2016) o EC2 Config (da Windows Server 2008 R2 a 2012 R2).

Fase 10: stopInstance (operazione aws:changeInstanceState)

Questa fase arresta l'istanza aggiornata.

Fase 11: createImage (operazione aws:createImage)

Questo passaggio crea un nuovo AMI con un nome descrittivo che lo collega all'ID di origine e all'ora di creazione. Ad esempio: «AMI generato dall' EC2 automazione su {{global:DATE_time}} da {{}}» dove DATE_TIME e SourceAmiId SourceID rappresentano le variabili di automazione.

Fase 12: (azione) TerminateInstance aws:changeInstanceState

Questa fase esegue la pulizia dell'automazione mediante l'arresto dell'istanza in esecuzione.

Output

Questa sezione consente di definire gli output delle varie fasi o dei vari valori di qualsiasi parametro come l'output di automazione. Per impostazione predefinita, l'output è l'ID del Windows aggiornato AMI creato dall'automazione.

Nota

Per impostazione predefinita, quando il servizio di automazione esegue il runbook AWS-UpdateWindowsAmi e crea un'istanza temporanea, il sistema usa il VPC predefinito (172.30.0.0/16). Se il VPC predefinito è stato eliminato, verrà restituito l'errore seguente:

VPC not defined 400 (VPC non definito 400)

Per risolvere questo problema, è necessario creare una copia del runbook AWS-UpdateWindowsAmi e specificare un ID di sottorete. Per ulteriori informazioni, consulta VPC not defined 400 (VPC non definito 400).

Per creare un Windows con patch AMI utilizzando l'automazione
  1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

    Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.

  2. Eseguire il comando seguente per eseguire il runbook AWS-UpdateWindowsAmi. Sostituisci ogni example resource placeholder con le tue informazioni. Il comando di esempio seguente utilizza un Amazon recente EC2 AMI per ridurre al minimo il numero di patch da applicare. Se si esegue il comando più di una volta, è necessario specificare un valore univoco per targetAMIname. AMI i nomi devono essere univoci.

    aws ssm start-automation-execution \ --document-name="AWS-UpdateWindowsAmi" \ --parameters SourceAmiId='AMI ID',IamInstanceProfileName='IAM instance profile',AutomationAssumeRole='arn:aws:iam::{{global:ACCOUNT_ID}}:role/AutomationServiceRole'

    Il comando restituisce un ID di esecuzione. Copia questo ID negli appunti. L'ID può essere utilizzato per visualizzare lo stato dell'automazione.

    {
        "AutomationExecutionId": "automation execution ID"
    }
  3. Per visualizzare l'automazione utilizzando il AWS CLI, esegui il seguente comando:

    aws ssm describe-automation-executions
  4. Eseguire il comando seguente per visualizzare i dettagli relativi al progresso dell'automazione.

    aws ssm get-automation-execution --automation-execution-id automation execution ID
Nota

A seconda del numero di patch applicate, il processo di applicazione delle patch di Windows eseguito in questa automazione di esempio può richiedere 30 minuti o più.