Come posso risolvere i problemi di patch relativi all'istanza Amazon EC2 per Windows quando utilizzo il documento AWS-RunPatchBaseline di Patch Manager?

7 minuti di lettura
0

Sto cercando di applicare una patch alla mia istanza Windows di Amazon Elastic Compute Cloud (Amazon EC2), ma ricevo degli errori. Desidero risolvere i problemi che riscontro quando utilizzo il documento AWS-RunPatchBasline per applicare patch ai nodi Windows.

Breve descrizione

Puoi riscontrare i seguenti problemi quando usi il documento AWS-RunPatchBaseline di Patch Manager, una funzionalità di AWS Systems Manager:

  • Il nodo non può raggiungere gli endpoint Amazon Simple Storage Service (Amazon S3
  • La richiesta di token non è valida
  • Non è possibile ricercare gli aggiornamenti di Windows
  • Gli aggiornamenti non vengono installati dopo il download
  • Manca una patch

Risoluzione

Il nodo non può raggiungere gli endpoint Amazon S3

Potresti visualizzare i seguenti messaggi di errore di esempio, quando Amazon S3 non riesce a connettersi al server remoto:

"Invoke-PatchBaselineOperation: La connessione sottostante è stata chiusa: Si è verificato un errore imprevisto durante un invio."

-oppure-

"Si è verificato un errore durante l'esecuzione di PatchBaselineOperations: impossibile connettersi al server remoto"

Gli errori precedenti si verificano perché il nodo non riesce a connettersi agli endpoint S3. Oppure, al profilo AWS Identity and Access Management (IAM), associato all'istanza, mancano le autorizzazioni minime richieste per la connettività S3.

Per risolvere questi errori, esegui i seguenti passaggi:

1.    Verifica che le autorizzazioni IAM per il profilo dell'istanza siano collegate al nodo. Per le autorizzazioni minime, consulta Comunicazioni dell'Agente AWS Systems Manager (Agente SSM) con i bucket S3 gestiti da AWS.

2.    Per verificare la connessione all'endpoint Amazon S3, esegui il seguente comando in PowerShell:
Nota: Sostituisci <region_id> con il tuo ID della regione AWS.

tnc s3.<region_id>.amazonaws.com -port 443

3.    Se il test precedente fallisce, controlla in che modo l'istanza è connessa agli endpoint di Systems Manager:

La richiesta di token non è valida

Potresti visualizzare i messaggi di errore nel seguente esempio perché la richiesta del token non è valida:

"Invoke-PatchBaselineOperation non riuscito con: Il token di sicurezza incluso nella richiesta non è valido:

-oppure-

"Invoke-PatchBaselineOperation: L’istanza Id i-00fe5918abcdef12 non corrisponde alle credenziali"

Gli errori precedenti si verificano quando l'Agente SSM utilizza credenziali diverse da quelle previste. Ad esempio, l'Agente SSM utilizza un file di credenziali condiviso anziché un profilo dell'istanza.

Nota: Per la versione 3.1.1927.0 o precedenti dell'Agente SSM, l'Agente SSM cerca le credenziali nell'ordine prescritto dalla catena del provider di credenziali di default. Questo vale anche per le istanze di container di Amazon Elastic Container Service (Amazon ECS).

A partire dalla versione 3.2.183.0 di Agente SSM, l'Agente SSM memorizza un set di credenziali temporanee in /var/lib/amazon/ssm/credentials (Linux e macOS) o %PROGRAMFILES%\Amazon\SSM\credentials (Windows Server). Le credenziali temporanee dispongono delle autorizzazioni da te specificate per il ruolo IAM selezionato. Il ruolo IAM dispone delle autorizzazioni della configurazione della gestione host predefinita o del profilo dell'istanza collegato al nodo gestito.

Per risolvere questi errori, aggiorna l'Agente SSM alla versione 3.2.183.0 o successiva, in modo che possa recuperare le credenziali da un file contenuto nella cartella SSM.

Per utilizzare una versione precedente dell'Agente SSM, trova le credenziali condivise, eliminale e quindi testa nuovamente la patch.

Per localizzare le credenziali, esegui i seguenti passaggi:

1.    Premi il tasto Windows, quindi inserisci le variabili di ambiente.

2.    Trova le variabili denominate AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY.

3.    Elimina le credenziali, quindi testa nuovamente la patch.

Posizioni delle credenziali condivise

Di seguito sono riportati alcuni esempi di posizioni delle credenziali condivise:

SystemsProfile

  • C:\Windows\System32\config\systemprofile\.aws\
  • C:\Windows\System32\config\systemprofile\AppData\Local\AWSToolkit\RegisteredAccounts.json

Profilo utente

  • %USERPROFILE%\.aws\
  • %USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json

Non è possibile ricercare gli aggiornamenti di Windows

Potresti visualizzare i messaggi di errore nel seguente esempio quando non riesci a ricercare gli aggiornamenti di Windows:

"Invoke-PatchBaselineOperation: Dettagli delle eccezioni: Si è verificato un errore durante il tentativo di ricerca a Windows Update. Messaggio di errore: Exception from HRESULT: 0x80240437"

-oppure-

"Invoke-PatchBaselineOperation: Dettagli delle eccezioni: Si è verificato un errore durante il tentativo di ricerca a Windows Update. Messaggio di errore: Exception from HRESULT: 0x80072EE2"

Gli errori precedenti riguardano i componenti di Windows Update, la mancanza di connettività al catalogo di Windows Update o Windows Server Update Services (WSUS).

Per risolvere questi errori, esegui i seguenti passaggi:

1.    Verifica la connessione a Windows Update. Determina se l'istanza dispone di una connessione Internet diretta all'origine della patch Microsoft tramite un proxy o utilizzando WSUS.

2.    Puoi utilizzare una policy di gruppo o chiavi di registro per configurare i server WSUS. Per verificare la configurazione WSUS, esegui il seguente comando:

Controlla la policy di gruppo:

gpresult /H %USERPROFILE%\Desktop\report.html

Controlla le chiavi di registro che potrebbero essere impostate manualmente:

Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU' | Select-Object AUOptions, NoAutoUpdate,  UseWUServer
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate' | Select-Object DisableWindowsUpdateAccess,  WUServer, WUStatusServer

Per verificare le configurazioni del proxy, esegui i seguenti comandi:

Nota: Devi ottenere le configurazioni proxy nel contesto dell'account utente di sistema S-1-5-18 in cui esegui le operazioni di patch. Per ottenere le configurazioni, usa Run Command, una funzionalità di AWS Systems Manager, con il documento AWS-RunPowerShellScript.

Scarica PSExec dal sito Web di Microsoft ed esegui il seguente comando per avviare un nuovo prompt di PowerShell nel contesto dell'utente di sistema:

psexec -i -s C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Per visualizzare le impostazioni del registro AmazonSSMAgent, esegui il seguente comando:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent'

Per visualizzare le variabili di ambiente di sistema (http_proxy, https_proxy, no_proxy), esegui i seguenti comandi:

Get-Item -Path Env:http_proxy  
Get-Item -Path Env:https_proxy  
Get-Item -Path Env:no_proxy

Per visualizzare le impostazioni di Internet Explorer (HTTP, secure, eccezioni), esegui il seguente comando:

Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' | Select-Object ProxyServer,  ProxyEnable

Per visualizzare il proxy WinINet, esegui il seguente comando:

[System.Net.WebRequest]::DefaultWebProxy

Per visualizzare le impostazioni del proxy WinHTTP (http=, https=, bypass-list =), esegui il seguente comando:

netsh winhttp show proxy

Se il proxy è impostato solo per l'Agente SSM, il Patch Manager non funzionerà. Questo perché il client di Windows Update utilizza le impostazioni proxy a livello di sistema per ricercare e scaricare gli aggiornamenti. Per impostare il proxy a livello di sistema, esegui il seguente comando:

netsh winhttp set proxy proxy-server="hostname:port" bypass-list="169.254.169.254"

Se c'è una connessione, reimposta i componenti di Windows Update e riprova ad applicare la patch.

Gli aggiornamenti non vengono installati dopo il download

Per risolvere i problemi relativi a un aggiornamento che non viene installato dopo il download, esegui i seguenti passaggi:

1.    Esamina i log di installazione delle patch in C:\Windows\Logs\CBS e individua il timestamp del comando in esecuzione. Quindi, controlla i log per verificare la presenza di messaggi di errore.

2.    Se la patch richiede un riavvio ma non viene installata dopo il riavvio, utilizza uno screenshot di Amazon EC2 per visualizzare il messaggio nella schermata di accesso.

Nota: Le patch potrebbero essere annullate con il seguente messaggio nella schermata di avvio: "Impossibile completare gli aggiornamenti. Annullamento modifiche. Non spegnere il computer»"

3.    Trova il codice HResult nel file di log di Component-Based Servicing (CBS), quindi cerca il codice nella documentazione degli errori di Windows Update.

4.    Reimposta i componenti di Windows Update, quindi riprova l'installazione.

Manca una patch

Per risolvere i problemi relativi alle patch mancanti, consulta Come posso risolvere i problemi di patch KB mancante dopo un’operazione di patch corretta sulle istanze EC2 per Windows, tramite Patch Manager?

Informazioni correlate

Come vengono installate le patch

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa