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'AMIWindows Server
Il runbook AWS-UpdateWindowsAmi consente di automatizzare i processi di manutenzione delle immagini sull'Amazon Machine Image (AMI) di Amazon Windows senza dover creare il runbook in formato 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.
-
Personalizzazione di un'AMI tramite 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
Gli aggiornamenti di AWS Systems Manager SSM Agent sono in genere distribuiti in regioni diverse in momenti diversi. Quando personalizzi o aggiorni un'AMI, usa solo il codice sorgente AMIs pubblicato per la regione in cui lavori. Questo assicura di utilizzare la versione più recente di SSM Agent rilasciato per tale regione e pertanto di evitare problemi di compatibilità.
Il runbook AWS-UpdateWindowsAmi accetta i parametri di input seguenti.
| Parametro | Tipo | Description |
|---|---|---|
|
SourceAmiId |
Stringa |
(Obbligatorio) L'ID origine di AMI. È possibile fare automaticamente riferimento alla versione più recente di ID dell'AMI di Windows Server utilizzando un parametro pubblico di Parameter Store di Systems Manager. Per ulteriori informazioni, consulta Query for the latest Windows AMI IDs using AWS Systems ManagerParameter 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 permette al servizio di automazione di creare una nuova AMI quando viene eseguita l'operazione |
|
TargetAmiName |
Stringa |
(Facoltativo) Nome della nuova AMI dopo la creazione. Il nome predefinito è una stringa generata dal sistema contenente l'ID dell'AMI di origine e la data/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) Script da eseguire prima di aggiornare l' AMI. Inserire uno script come parametro nel runbook oppure durante il tempo di esecuzione. |
|
PostUpdateScript |
Stringa |
(Facoltativo) Script da eseguire dopo l'aggiornamento dell'AMI. Inserire uno script come parametro nel runbook oppure durante il tempo di esecuzione. |
|
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
SourceAmiIDspecificato. - 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-InstallPowerShellModulerunbook 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) -
Questa fase aggiorna SSM Agent utilizzando il runbook
AWS-UpdateSSMAgent. - Fase 5: aggiornamento AWSPVDriver (
aws:runCommandazione) -
Questo passaggio aggiorna i driver AWS PV utilizzando il
AWS-ConfigureAWSPackagerunbook. - Fase 6: updateAwsEna NetworkDriver (azione)
aws:runCommand -
Questo passaggio aggiorna i driver AWS ENA Network utilizzando il
AWS-ConfigureAWSPackagerunbook. - 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,CategoriesoSeverityLevels. - 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-InstallPowerShellModulerunbook 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) -
Questa fase crea una nuova AMI con un nome dettagliato che lo lega 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 dell'AMI aggiornata di Windows creata 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'AMI Windows con patch applicate utilizzando il servizio di automazione
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.
-
Eseguire il comando seguente per eseguire il runbook
AWS-UpdateWindowsAmi. Sostituisci ogniexample resource placeholdercon le tue informazioni. Il comando di esempio riportato di seguito 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 pertargetAMIname. I nomi per l'AMI 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" } -
Per visualizzare l'automazione utilizzando il AWS CLI, esegui il seguente comando:
aws ssm describe-automation-executions -
Eseguire il comando seguente per visualizzare i dettagli relativi al progresso dell'automazione.
aws ssm get-automation-execution --automation-execution-idautomation 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ù.