Risoluzione dei problemi relativi a Patch Manager - AWS Systems Manager

Risoluzione dei problemi relativi a Patch Manager

Utilizza le informazioni seguenti per risolvere i problemi relativi di Patch Manager al AWS Systems Manager.

Problema: errore "Invoke-PatchBaselineOperation: Accesso negato" o errore "Impossibile scaricare il file da S3" per baseline_overrides.json

Problema: quando vengono eseguite le operazioni di applicazione di patch specificate dalla policy di patch, viene visualizzato un errore simile all'esempio seguente.

Example error on Windows Server
----------ERROR------- Invoke-PatchBaselineOperation : Access Denied At C:\ProgramData\Amazon\SSM\InstanceData\i-02573cafcfEXAMPLE\document\orchestr ation\792dd5bd-2ad3-4f1e-931d-abEXAMPLE\PatchWindows\_script.ps1:219 char:13 + $response = Invoke-PatchBaselineOperation -Operation Install -Snapsho ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (Amazon.Patch.Ba...UpdateOpera tion:InstallWindowsUpdateOperation) [Invoke-PatchBaselineOperation], Amazo nS3Exception + FullyQualifiedErrorId : PatchBaselineOperations,Amazon.Patch.Baseline.Op erations.PowerShellCmdlets.InvokePatchBaselineOperation failed to run commands: exit status 0xffffffff
Example error on Linux
[INFO]: Downloading Baseline Override from s3://aws-quicksetup-patchpolicy-123456789012-abcde/baseline_overrides.json [ERROR]: Unable to download file from S3: s3://aws-quicksetup-patchpolicy-123456789012-abcde/baseline_overrides.json. [ERROR]: Error loading entrance module.

Causa: hai creato una policy di patch in Quick Setup e alcuni dei nodi gestiti presentavano già un profilo dell'istanza (per le istanze EC2) o un ruolo di servizio (per le macchine non EC2) collegato.

Tuttavia, come mostrato nell'immagine seguente, non hai selezionato la casella di controllo Aggiungi le policy IAM richieste ai profili di istanza esistenti collegati alle istanze.

La casella di controllo Aggiungi policy IAM richieste ai profili di istanza esistenti non è selezionata nell'area Opzioni profilo dell'istanza.

Quando crei una policy di patch, viene creato anche un bucket Amazon S3 per archiviare il file di configurazione della policy baseline_overrides.json. Se non selezioni la casella di controllo Aggiungi le policy IAM richieste ai profili di istanza esistenti collegati alle istanze al momento della creazione della policy, le policy IAM e i tag delle risorse necessari per accedere a baseline_overrides.json nel bucket S3 non vengono aggiunti automaticamente ai profili di istanza IAM e ai ruoli di servizio esistenti.

Soluzione 1: elimina la configurazione della policy di patch esistente, quindi crea una configurazione sostitutiva, assicurandoti di selezionare la casella di controllo Aggiungi le policy IAM richieste ai profili di istanza esistenti collegati alle istanze. Questa selezione applica le policy IAM create da questa configurazione di Quick Setup ai nodi a cui è già associato un profilo di istanza o un ruolo di servizio. (Per impostazione predefinita, Quick Setup aggiunge le policy richieste alle istanze e ai nodi che non dispongono già di profili di istanza o ruoli di servizio). Per ulteriori informazioni, consulta Automatizzazione dell'applicazione di patch a livello di organizzazione utilizzando una policy di patch di Quick Setup.

Soluzione 2: aggiungi manualmente le autorizzazioni e i tag richiesti a ogni profilo di istanza IAM e ruolo di servizio IAM che utilizzi con Quick Setup. Per istruzioni, consulta Autorizzazioni per il bucket S3 con policy di patch.

Problema: l'applicazione di patch non riesce senza una causa apparente o un messaggio di errore

Problema: un'operazione di applicazione di patch non riesce senza restituire un messaggio di errore.

Possibile causa: se si verificano più invocazioni di AWS-RunPatchBaseline contemporaneamente, possono entrare in conflitto tra loro, causando l’esito negativo delle attività di applicazione di patch. Ciò potrebbe non essere indicato nei log di applicazione di patch.

Per verificare se le operazioni di applicazione di patch simultanee potrebbero essersi interrotte a vicenda, consulta la cronologia dei comandi in Run Command, una funzionalità di AWS Systems Manager. Per un nodo gestito con un errore di applicazione di patch, controlla se più operazioni hanno tentato di applicare le patch al computer entro 2 minuti l'una dall'altra. Questo scenario a volte può causare un errore.

È possibile inoltre utilizzare il comando AWS Command Line Interface (AWS CLI) per verificare tentativi di applicazione di patch simultanei utilizzando il comando seguente. Sostituisci il valore di node-id con l'ID del tuo nodo gestito.

aws ssm list-commands \ --filter "key=DocumentName,value=AWS-RunPatchBaseline" \ --query 'Commands[*].{CommandId:CommandId,RequestedDateTime:RequestedDateTime,Status:Status}' \ --instance-id node-id \ --output table

Soluzione: se ritieni che l'applicazione di patch non sia riuscita a causa di operazioni di applicazione di patch simultanee sullo stesso nodo gestito, modifica le configurazioni di applicazione di patch per evitare che ciò si ripeta. Ad esempio, se due finestre di manutenzione specificano orari di applicazione di patch sovrapposti, rimuovine o modificane una. Se una finestra di manutenzione specifica un'operazione di applicazione di patch, ma una policy di patch ne specifica un'altra per lo stesso periodo, prendi in considerazione la possibilità di rimuovere l'attività dalla finestra di manutenzione.

Se stabilisci che le operazioni di applicazione di patch in conflitto non sono state la causa dell'errore in questo scenario, ti consigliamo di contattare AWS Support.

Problema: risultati imprevisti per la conformità delle patch

Problema: quando si esaminano i dettagli di conformità delle patch generati dopo un'operazione Scan, questi includono informazioni che non riflettono le regole configurate nella patch di base. Ad esempio, un'eccezione aggiunta all'elenco Rejected patches (Patch rifiutate) in una patch di base viene elencata come Missing. Oppure le patch classificate come Important sono elencate come mancanti anche se la patch di base specifica solo le patch Critical.

Causa: Patch Manager attualmente supporta diversi metodi di esecuzione delle operazioni Scan:

  • Una policy di patch configurata in Quick Setup

  • Un'opzione di gestione host configurata in Quick Setup

  • Una finestra di manutenzione per eseguire un'attività Scan o Install di patch

  • Un'operazione Patch now (Applica subito una patch) on demand

L'esecuzione di un'operazione Scan, sovrascrive i dettagli di conformità della scansione più recente. Se hai impostato più metodi per eseguire un'operazione Scan e questi utilizzano patch di base diverse con regole diverse, i risultati di conformità delle patch saranno diversi.

Soluzione: per evitare risultati imprevisti relativi alla conformità delle patch, ti consigliamo di utilizzare un solo metodo alla volta per eseguire l'operazione Scan di Patch Manager. Per ulteriori informazioni, consultare Evitare sovrascritture involontarie dei dati di conformità delle patch.

Errori durante l'esecuzione di AWS-RunPatchBaseline su Linux

Argomenti

Problema: errore “Nessun file o directory di questo tipo”

Problema: Quando si esegue AWS-RunPatchBaseline, l'applicazione di patch non riesce con uno dei seguenti errori.

IOError: [Errno 2] No such file or directory: 'patch-baseline-operations-X.XX.tar.gz'
Unable to extract tar file: /var/log/amazon/ssm/patch-baseline-operations/patch-baseline-operations-1.75.tar.gz.failed to run commands: exit status 155
Unable to load and extract the content of payload, abort.failed to run commands: exit status 152

Causa 1: Due comandi per eseguire AWS-RunPatchBaseline erano in esecuzione nello stesso momento sullo stesso nodo gestito. Questo crea una condizione di competizione che fa sì che le file patch-baseline-operations* non sono state create o accessibili correttamente.

Causa 2: lo spazio di archiviazione insufficiente rimane sotto la directory /var.

Soluzione 1: Assicurarsi che nessuna finestra di manutenzione abbia due o più attività Run Command che eseguono AWS-RunPatchBaseline con lo stesso livello di priorità e che vengono eseguite sugli stessi ID di destinazione. In questo caso, riordinare la priorità. Run Command è una funzionalità di AWS Systems Manager.

Soluzione 2: assicurarsi che una sola finestra di manutenzione per volta stia eseguendo attività Run Command che utilizzano AWS-RunPatchBaseline sugli stessi target e sullo stesso programma. In tal caso, modificare la pianificazione.

Soluzione 3: Assicurarsi che solo un'associazione State Manager stia eseguendo AWS-RunPatchBaseline sulla stessa pianificazione e avendo come target gli stessi nodi gestiti. State Manager è una funzionalità di AWS Systems Manager.

Soluzione 4: Liberare spazio di archiviazione sufficiente sotto la directory /var per i pacchetti di aggiornamento.

Problema: Errore “un altro processo ha acquisito il blocco yum”

Problema: Quando si esegue AWS-RunPatchBaseline, l'applicazione di patch ha esito negativo con il seguente errore.

12/20/2019 21:41:48 root [INFO]: another process has acquired yum lock, waiting 2 s and retry.

Causa: Il documento AWS-RunPatchBaseline è stato avviato in esecuzione sul nodo gestito in cui è già in esecuzione in un'altra operazione e ha acquisito il processo di gestione di pacchetti yum.

Soluzione: assicurati che non vi siano associazioni State Manager, attività di finestra di manutenzione o altre configurazioni che eseguono AWS-RunPatchBaseline su una pianificazione che abbiano come target lo stesso nodo gestito nello stesso momento.

Problema: errore “Autorizzazione negata/non riuscita a eseguire i comandi”

Problema: Quando si esegue AWS-RunPatchBaseline, l'applicazione di patch ha esito negativo con il seguente errore.

sh: 
/var/lib/amazon/ssm/instanceid/document/orchestration/commandid/PatchLinux/_script.sh: Permission denied
failed to run commands: exit status 126

Causa:/var/lib/amazon/ Potrebbe essere montato con permessinoexec. Questo è un problema perché SSM Agent scarica gli script del payload in /var/lib/amazon/ssm e li esegue da quella posizione.

Soluzione: Assicurarsi di aver configurato partizioni esclusive per /var/log/amazon e /var/lib/amazon, e che sono montate con autorizzazioni exec.

Problema: errore “Impossibile scaricare il payload”

Problema: Quando si esegue AWS-RunPatchBaseline, l'applicazione di patch ha esito negativo con il seguente errore.

Unable to download payload: https://s3.amzn-s3-demo-bucket.region.amazonaws.com/aws-ssm-region/patchbaselineoperations/linux/payloads/patch-baseline-operations-X.XX.tar.gz.failed to run commands: exit status 156

Causa: Il nodo gestito non dispone delle autorizzazioni necessarie per accedere al bucket Amazon Simple Storage Service (Amazon S3) specificato.

Soluzione: Aggiornare la configurazione di rete in modo che gli endpoint S3 siano raggiungibili. Per ulteriori informazioni, consulta le informazioni sugli accessi necessari ai bucket S3 per Patch Manager in Comunicazioni di SSM Agent con i bucket S3 gestiti di AWS.

Problema: errore “gestore di pacchetti non supportato e combinazione di versione python”

Problema: Quando si esegue AWS-RunPatchBaseline, l'applicazione di patch ha esito negativo con il seguente errore.

An unsupported package manager and python version combination was found. Apt requires Python3 to be installed.
failed to run commands: exit status 1

Causa: non è installata una versione supportata di python3 sull’istanza Debian Server, Raspberry Pi OS, oppure Ubuntu Server.

Soluzione: installa una versione supportata di python3 (3.0 - 3.10) sul server, necessaria per i nodi gestiti Debian Server, Raspberry Pi OS e Ubuntu Server.

Problema:Patch Manager non sta applicando le regole specificate per escludere determinati pacchetti

Problema: Si è tentato di escludere determinati pacchetti specificandoli nel file /etc/yum.conf, nel formato exclude=package-name, ma non sono esclusi durante l'operazione Patch Manager Install.

Causa:Patch Manager non incorpora esclusioni specificate nel file /etc/yum.conf.

Soluzione: Per escludere pacchetti specifici, creare una base di patch personalizzata e creare una norma per escludere i pacchetti che non si desidera installare.

Problema: l'applicazione di patch non va a buon fine e Patch Manager segnala che l'estensione Indicazione nome server a TLS non è disponibile

Problema: L'operazione di applicazione di patch emette il seguente messaggio.

/var/log/amazon/ssm/patch-baseline-operations/urllib3/util/ssl_.py:369: 
SNIMissingWarning: An HTTPS request has been made, but the SNI (Server Name Indication) extension
to TLS is not available on this platform. This might cause the server to present an incorrect TLS 
certificate, which can cause validation failures. You can upgrade to a newer version of Python 
to solve this. 
For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

Causa: Questo messaggio non indica un errore. Invece, è un avvertimento che la versione precedente di Python distribuita con il sistema operativo non supporta l'indicazione del nome del server TLS. Lo script del payload della patch di Systems Manager emette questo avviso quando ci si connette ad API AWS che supportano SNI.

Soluzione: Per risolvere eventuali errori di applicazione di patch quando viene segnalato questo messaggio, esaminare il contenuto dei file stdout e stderr. Se la patch di base non è stata configurata per archiviare questi file in un bucket S3 o in File di log Amazon CloudWatch, è possibile individuare i file nella seguente posizione sul nodo gestito Linux.

/var/lib/amazon/ssm/instance-id/document/orchestration/Run-Command-execution-id/awsrunShellScript/PatchLinux

Problema: Patch Manager riporta “Niente più specchi da testare”

Problema: L'operazione di applicazione di patch emette il seguente messaggio.

[Errno 256] No more mirrors to try.

Causa: I repository configurati sul nodo gestito non funzionano correttamente. Tra le cause possibili sono incluse:

  • La cache yum è danneggiata.

  • Impossibile raggiungere un URL del repository a causa di problemi relativi alla rete.

Soluzione: Patch Manager utilizza il gestore di pacchetti predefinito del nodo gestito per eseguire l'operazione di patch. Verificare che i repository siano configurati e funzionino correttamente.

Problema: l'applicazione di patch non riesce con "Il codice di errore restituito da curl è 23"

Problema: un'operazione di applicazione di patch che utilizza AWS-RunPatchBaseline non riesce con un errore simile al seguente:

05/01/2023 17:04:30 root [ERROR]: Error code returned from curl is 23

Causa: lo strumento curl in uso sui sistemi non dispone delle autorizzazioni necessarie per scrivere sul filesystem. Ciò può verificarsi se lo strumento curl predefinito del gestore di pacchetti è stato sostituito da una versione diversa, ad esempio una versione installata con snap.

Soluzione: se la versione curl fornita dal gestore di pacchetti è stata disinstallata quando è stata installata una versione diversa, reinstallala.

Se devi mantenere installate più versioni di curl, assicurati che la versione associata al gestore di pacchetti si trovi nella prima directory elencata nella variabile PATH. È possibile verificarlo eseguendo il comando echo $PATH per vedere l'ordine corrente delle directory in cui viene controllata la presenza di file eseguibili sul sistema.

Problema: l'applicazione della patch non riesce e viene visualizzato il messaggio "Errore durante la decompressione del pacchetto rpm..."

Problema: un'operazione di applicazione di patch non riesce con un errore simile al seguente:

Error : Error unpacking rpm package python-urllib3-1.25.9-1.amzn2.0.2.noarch
python-urllib3-1.25.9-1.amzn2.0.1.noarch was supposed to be removed but is not!
failed to run commands: exit status 1

Causa 1: quando un particolare pacchetto è presente in più programmi di installazione di pacchetti, ad esempio pip e yum oppure dnf, possono verificarsi conflitti quando si utilizza il gestore di pacchetti predefinito.

Un esempio comune si verifica con il pacchetto urllib3, che si trova in pip, yum e dnf.

Causa 2: il pacchetto python-urllib3 risulta danneggiato. Ciò può accadere se i file del pacchetto sono stati installati o aggiornati da pip dopo che il pacchetto rpm era stato precedentemente installato da yum o dnf.

Soluzione: rimuovi il pacchetto python-urllib3 da pip eseguendo il comando sudo pip uninstall urllib3, mantenendo il pacchetto solo nel gestore di pacchetti predefinito (yum o dnf).

Problema: l'applicazione di patch non riesce e viene visualizzato il messaggio "Sono stati rilevati errori durante il download dei pacchetti"

Problema: durante l'applicazione di patch, viene visualizzato un errore simile al seguente:

YumDownloadError: [u'Errors were encountered while downloading 
packages.', u'libxml2-2.9.1-6.el7_9.6.x86_64: [Errno 5] [Errno 12] 
Cannot allocate memory', u'libxslt-1.1.28-6.el7.x86_64: [Errno 5] 
[Errno 12] Cannot allocate memory', u'libcroco-0.6.12-6.el7_9.x86_64: 
[Errno 5] [Errno 12] Cannot allocate memory', u'openldap-2.4.44-25.el7_9.x86_64: 
[Errno 5] [Errno 12] Cannot allocate memory',

Causa: questo errore può verificarsi quando la memoria disponibile su un nodo gestito è insufficiente.

Soluzione: configura la memoria di swap o aggiorna l'istanza a un tipo diverso per aumentare il supporto di memoria. Quindi inizia una nuova operazione di applicazione di patch.

Problema: l'applicazione di patch non riesce e viene visualizzato il messaggio "Impossibile verificare le seguenti firme perché la chiave pubblica non è disponibile"

Problema: un'operazione di applicazione di patch non riesce su Ubuntu Server con un errore simile al seguente:

02/17/2022 21:08:43 root [ERROR]: W:GPG error: 
http://repo.mysql.com/apt/ubuntu  bionic InRelease: The following 
signatures couldn't be verified because the public key is not available: 
NO_PUBKEY 467B942D3A79BD29, E:The repository ' http://repo.mysql.com/apt/ubuntu bionic

Causa: la chiave GNU Privacy Guard (GPG) è scaduta o risulta mancante.

Soluzione: aggiorna la chiave GPG o aggiungi di nuovo la chiave.

Ad esempio, utilizzando l'errore mostrato in precedenza, vediamo che la chiave 467B942D3A79BD29 risulta mancante e deve essere aggiunta. Per farlo, esegui uno dei comandi seguenti:

sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 467B942D3A79BD29

Oppure, per aggiornare tutte le chiavi, esegui il seguente comando:

sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com --refresh-keys

Se l'errore si ripresenta dopo questa operazione, consigliamo di segnalare il problema all'organizzazione che gestisce il repository. Fino a quando non sarà disponibile una correzione, è possibile modificare il file /etc/apt/sources.list in modo da omettere il repository durante il processo di applicazione di patch.

A tale scopo, apri il file sources.list per modificarlo, individua la riga del repository e inserisci un carattere # all'inizio della riga per commentarla. Salva e chiudi il file.

Problema: l'applicazione di patch non riesce con un messaggio "NoMoreMirrorsRepoError"

Problema: viene visualizzato un errore simile al seguente:

NoMoreMirrorsRepoError: failure: repodata/repomd.xml from pgdg94: [Errno 256] No more mirrors to try.

Causa: si è verificato un errore nel repository di origine.

Soluzione: si consiglia di segnalare il problema all'organizzazione che gestisce il repository. Finché l'errore non viene corretto, è possibile disabilitare il repository a livello di sistema operativo. A tale scopo, esegui il comando seguente, sostituendo il valore di repo-name con il nome del repository:

yum-config-manager --disable repo-name

Di seguito è riportato un esempio.

yum-config-manager --disable pgdg94

Dopo aver eseguito questo comando, esegui un'altra operazione di applicazione di patch.

Problema: l'applicazione di patch non riesce e viene visualizzato il messaggio "Impossibile scaricare il payload"

Problema: viene visualizzato un errore simile al seguente:

Unable to download payload: 
https://s3.dualstack.eu-west-1.amazonaws.com/aws-ssm-eu-west-1/patchbaselineoperations/linux/payloads/patch-baseline-operations-1.83.tar.gz.
failed  to run commands: exit status 156

Causa: la configurazione del nodo gestito contiene errori o è incompleta.

Soluzione: assicurati che il nodo gestito sia configurato con quanto segue:

  • Regola TCP 443 in uscita nel gruppo di sicurezza.

  • Regola TCP 443 in uscita in NACL.

  • Regola TCP 1024-65535 in entrata in NACL.

  • NAT/IGW nella tabella di routing per fornire connettività a un endpoint S3. Se l'istanza non dispone di accesso a Internet, forniscile la connettività con l'endpoint S3. A tale scopo, aggiungi un endpoint gateway S3 nel VPC e integralo con la tabella di routing del nodo gestito.

Problema: l'applicazione di patch non riesce e viene visualizzato il messaggio “Il frontend dpkg è bloccato da un altro processo”

Problema: un'operazione di applicazione di patch non riesce con un errore simile al seguente:

install errors: dpkg: error: dpkg frontend is locked by another process
failed to run commands: exit status 2
Failed to install package; install status Failed

Causa: il gestore di pacchetti sta già eseguendo un altro processo su un nodo gestito a livello di sistema operativo. Se il completamento dell'altro processo richiede molto tempo, l'operazione di applicazione di patch di Patch Manager può andare in timeout e non riuscire.

Soluzione: una volta completato l'altro processo che utilizza il gestore di pacchetti, esegui una nuova operazione di applicazione di patch.

Problema: l'applicazione di patch su Ubuntu Server non riesce con l'errore “dpkg è stato interrotto”

Problema: su Ubuntu Server, un'operazione di applicazione di patch non riesce con un errore simile al seguente:

E: dpkg was interrupted, you must manually run
'dpkg --configure -a' to correct the problem.

Causa: uno o più pacchetti non sono configurati correttamente.

Soluzione: Eseguire i seguenti passaggi:

  1. Controlla quali pacchetti sono interessati e quali sono i problemi di ogni pacchetto eseguendo i seguenti comandi, uno alla volta:

    sudo apt-get check
    sudo dpkg -C
    dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' | grep -E ^.[^nci]
  2. Correggi i pacchetti che presentano problemi eseguendo il seguente comando:

    sudo dpkg --configure -a
  3. Se il comando precedente non ha risolto completamente il problema, esegui il seguente comando:

    sudo apt --fix-broken install

Problema: il gestore di pacchetti non è in grado di risolvere una dipendenza dal pacchetto

Problema: il gestore di pacchetti nativo sul nodo gestito non è in grado di risolvere una dipendenza dal pacchetto e l'applicazione di patch non riesce. Il seguente esempio di messaggio di errore indica questo tipo di errore su un sistema operativo che utilizza yum come gestore di pacchetti.

09/22/2020 08:56:09 root [ERROR]: yum update failed with result code: 1, 
message: [u'rpm-python-4.11.3-25.amzn2.0.3.x86_64 requires rpm = 4.11.3-25.amzn2.0.3', 
u'awscli-1.18.107-1.amzn2.0.1.noarch requires python2-botocore = 1.17.31']

Causa: nei sistemi operativi Linux, Patch Manager utilizza il gestore di pacchetti nativo sul computer per eseguire operazioni di applicazione di patch, ad esempio, yum, dnf, apt e zypper. Le applicazioni rilevano, installano, aggiornano o rimuovono automaticamente i pacchetti dipendenti in base alle esigenze. Tuttavia, alcune condizioni possono impedire al gestore di pacchetti di completare un'operazione di dipendenza, ad esempio:

  • Sul sistema operativo sono configurati più repository in conflitto.

  • L'URL di un repository remoto è inaccessibile a causa di problemi relativi alla rete.

  • Nel repository è stato trovato un pacchetto per l'architettura sbagliata.

Soluzione: l'applicazione di patch potrebbe non riuscire a causa di un problema di dipendenza per un'ampia gamma di motivi. Pertanto, ti consigliamo di contattare AWS Support per ricevere assistenza nella risoluzione dei problemi.

Errori durante l'esecuzione di AWS-RunPatchBaseline su Windows Server

Problema: famiglia di prodotti/coppie di prodotti non corrispondenti

Problema: Quando si crea una base di patch di base nella console Systems Manager, è necessario specificare una famiglia di prodotti e un prodotto. Ad esempio si potrebbe scegliere:

  • Product family (Famiglia di prodotti): Office

    Product (Prodotto): Office 2016

Causa: Se si prova a creare una base di patch con una copia famiglia di prodotti/prodotto non corrispondente, viene visualizzato un messaggio di errore. Di seguito sono elencati i motivi per cui questo può verificarsi:

  • Hai selezionato una famiglia di prodotti e una coppia di prodotti validi ma poi hai rimosso la selezione della famiglia di prodotti.

  • È stato scelto un prodotto dal sottoelenco Obsolete or mismatched options (Opzioni obsolete o non corrispondenti) anziché dal sottoelenco Available and matching options (Opzioni disponibili e corrispondenti).

    Gli elementi nel sottoelenco Obsolete or mismatched options (Opzioni obsolete o non corrispondenti) del prodotto potrebbero essere stati immessi per errore mediante un SDK o un comando AWS Command Line Interface (AWS CLI) create-patch-baseline Questo potrebbe significare che è stato introdotto un errore di digitazione o che un prodotto è stato assegnato alla famiglia di prodotti sbagliata. Un prodotto viene incluso anche nel sottoelenco Obsolete or mismatched options (Opzioni obsolete o non corrispondenti), se è stato specificato per una base di patch precedente, ma in Microsoft non sono disponibili patch.

Soluzione: Per evitare che il problema si presenti nella console, è preferibile scegliere sempre le opzioni dai sottoelenchi Currently available (Attualmente disponibili).

È inoltre possibile visualizzare i prodotti per i quali attualmente sono disponibili patch utilizzando il comando describe-patch-properties in AWS CLI o il comando API DescribePatchProperties.

Problema: AWS-RunPatchBaseline restituisce un HRESULT (Windows Server)

Problema: hai ricevuto un errore simile al seguente:

----------ERROR-------
Invoke-PatchBaselineOperation : Exception Details: An error occurred when 
attempting to search Windows Update.
Exception Level 1:
 Error Message: Exception from HRESULT: 0x80240437
 Stack Trace: at WUApiLib.IUpdateSearcher.Search(String criteria)..
(Windows updates)
11/22/2020 09:17:30 UTC | Info | Searching for Windows Updates.
11/22/2020 09:18:59 UTC | Error | Searching for updates resulted in error: Exception from HRESULT: 0x80240437
----------ERROR-------
failed to run commands: exit status 4294967295

Causa: questo output indica che le API native di Windows Update non sono in grado di eseguire le operazioni di applicazione di patch.

Soluzione: controlla il codice HResult negli argomenti di microsoft.com seguenti per identificare le fasi di risoluzione dei problemi per risolvere l'errore:

Problema: il nodo gestito non ha accesso a Windows Update Catalog o WSUS

Problema: hai ricevuto un errore simile al seguente:

Downloading PatchBaselineOperations PowerShell module from https://s3.aws-api-domain/path_to_module.zip to C:\Windows\TEMP\Amazon.PatchBaselineOperations-1.29.zip.

Extracting PatchBaselineOperations zip file contents to temporary folder.

Verifying SHA 256 of the PatchBaselineOperations PowerShell module files.

Successfully downloaded and installed the PatchBaselineOperations PowerShell module.

Patch Summary for

PatchGroup :

BaselineId :

Baseline : null

SnapshotId :

RebootOption : RebootIfNeeded

OwnerInformation :

OperationType : Scan

OperationStartTime : 1970-01-01T00:00:00.0000000Z

OperationEndTime : 1970-01-01T00:00:00.0000000Z

InstalledCount : -1

InstalledRejectedCount : -1

InstalledPendingRebootCount : -1

InstalledOtherCount : -1

FailedCount : -1

MissingCount : -1

NotApplicableCount : -1

UnreportedNotApplicableCount : -1

EC2AMAZ-VL3099P - PatchBaselineOperations Assessment Results - 2020-12-30T20:59:46.169

----------ERROR-------

Invoke-PatchBaselineOperation : Exception Details: An error occurred when attempting to search Windows Update.

Exception Level 1:

Error Message: Exception from HRESULT: 0x80072EE2

Stack Trace: at WUApiLib.IUpdateSearcher.Search(String criteria)

at Amazon.Patch.Baseline.Operations.PatchNow.Implementations.WindowsUpdateAgent.SearchForUpdates(String

searchCriteria)

At C:\ProgramData\Amazon\SSM\InstanceData\i-02573cafcfEXAMPLE\document\orchestration\3d2d4864-04b7-4316-84fe-eafff1ea58

e3\PatchWindows\_script.ps1:230 char:13

+ $response = Invoke-PatchBaselineOperation -Operation Install -Snapsho ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : OperationStopped: (Amazon.Patch.Ba...UpdateOperation:InstallWindowsUpdateOperation) [Inv

oke-PatchBaselineOperation], Exception

+ FullyQualifiedErrorId : Exception Level 1:

Error Message: Exception Details: An error occurred when attempting to search Windows Update.

Exception Level 1:

Error Message: Exception from HRESULT: 0x80072EE2

Stack Trace: at WUApiLib.IUpdateSearcher.Search(String criteria)

at Amazon.Patch.Baseline.Operations.PatchNow.Implementations.WindowsUpdateAgent.SearchForUpdates(String searc

---Error truncated----

Causa: questo errore potrebbe essere correlato ai componenti di Windows Update o a una mancanza di connettività al catalogo di Windows Update o Windows Server Update Services (WSUS).

Soluzione: verifica che il nodo gestito disponga di connettività al Catalogo Microsoft Update tramite un gateway Internet, un gateway NAT o un'istanza NAT. Se si utilizza WSUS, verificare che il nodo gestito disponga della connettività al server WSUS nell'ambiente in uso. Se la connettività è disponibile per la destinazione desiderata, consulta la documentazione Microsoft per altre potenziali cause di HResult 0x80072EE2. Questo potrebbe indicare un problema a livello di sistema operativo.

Problema: il modulo PowerShell di PatchBaselineOperations non è scaricabile

Problema: hai ricevuto un errore simile al seguente.

Preparing to download PatchBaselineOperations PowerShell module from S3.
                    
Downloading PatchBaselineOperations PowerShell module from https://s3.aws-api-domain/path_to_module.zip to C:\Windows\TEMP\Amazon.PatchBaselineOperations-1.29.zip.
----------ERROR-------

C:\ProgramData\Amazon\SSM\InstanceData\i-02573cafcfEXAMPLE\document\orchestration\aaaaaaaa-bbbb-cccc-dddd-4f6ed6bd5514\

PatchWindows\_script.ps1 : An error occurred when executing PatchBaselineOperations: Unable to connect to the remote server

+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException

+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,_script.ps1

failed to run commands: exit status 4294967295

Soluzione: controlla la connettività del nodo gestito e le autorizzazioni per Amazon Simple Storage Service (Amazon S3). Il ruolo AWS Identity and Access Management( IAM) del nodo gestito deve utilizzare le autorizzazioni minime citate in Comunicazioni di SSM Agent con i bucket S3 gestiti di AWS. Il nodo deve comunicare con l'endpoint Amazon S3 tramite l'endpoint gateway Amazon S3, il gateway NAT o il gateway Internet. Per ulteriori informazioni sui requisiti degli endpoint VPC per AWS Systems Manager SSM Agent(SSM Agent), consulta Migliora la sicurezza delle istanze EC2 utilizzando gli endpoint VPC per Systems Manager.

Problema: patch mancanti

Problema: AWS-RunPatchbaseline completato con successo, ma ci sono alcune patch mancanti.

Di seguito sono elencate alcune cause comuni e le loro soluzioni.

Causa 1: la linea di base non è efficace.

Soluzione 1: Per verificare se questa è la causa, procedi come indicato di seguito.

  1. Aprire la console AWS Systems Manager all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel riquadro di navigazione, scegli Run Command.

  3. Seleziona la scheda Cronologia dei comandi e quindi seleziona il comando di cui si desidera controllare la baseline.

  4. Seleziona il nodo gestito con patch mancanti.

  5. Seleziona Fase 1 - Output e trova il valore BaselineId.

  6. Controlla la Configurazione della patch assegnata, ovvero il sistema operativo, il nome del prodotto, la classificazione e la gravità per la base di patch.

  7. Accedi a Catalogo Microsoft Update.

  8. Eseguire una ricerca negli ID articolo Microsoft Knowledge Base (KB), ad esempio KB3216916.

  9. Verifica che il valore in Prodotto corrisponda a quello del tuo nodo e seleziona il Titolo corrispondente. Si aprirà una nuova finestra Dettagli aggiornamento.

  10. Nella scheda Panoramica, classificazione e Gravità MSRC devono corrispondere alla configurazione della base di patch trovata in precedenza.

Causa 2: la patch è stata sostituita.

Soluzione 2: Per verificare che sia vero, procedi come indicato di seguito.

  1. Accedi a Catalogo Microsoft Update.

  2. Eseguire una ricerca negli ID articolo Microsoft Knowledge Base (KB), ad esempio KB3216916.

  3. Verifica che il valore in Prodotto corrisponda a quello del tuo nodo e seleziona il Titolo corrispondente. Si aprirà una nuova finestra Dettagli aggiornamento.

  4. Accedi alla scheda Package details. Cerca una voce sotto l'intestazione Questo aggiornamento è stato sostituito dagli aggiornamenti seguenti:

Causa 3: La stessa patch potrebbe avere numeri KB diversi perché gli aggiornamenti in linea di WSUS e Windows vengono gestiti come canali di rilascio indipendenti da Microsoft.

Soluzione 3: verifica l'idoneità della patch. Se il pacchetto non è disponibile in WSUS, installa Sistema operativo Build 14393.3115. Se il pacchetto è disponibile per tutte le build del sistema operativo, installaCostruzioni del sistema operativo 18362.1256 e 18363.1256.

Contattare AWS Support

Se non riesci a trovare soluzioni per la risoluzione dei problemi in questa sezione o nei problemi di Systems Manager in AWS re:Post, e se disponi di un piano Sviluppatore, Business o EnterpriseAWS Support, è possibile creare un caso di supporto tecnico a AWS Support.

Prima di contattare AWS Support, raccogli i seguenti elementi:

  • Registri di SSM Agent

  • Run CommandID comando, ID finestra di manutenzione o ID esecuzione automazione

  • Per i nodi gestiti Windows Server, raccogli anche quanto segue:

    • %PROGRAMDATA%\Amazon\PatchBaselineOperations\Logs come descritto nella scheda Windows diCome vengono installate le patch

    • Registri degli aggiornamenti di Windows: per Windows Server 2012 R2 e versioni precedenti, usa %windir%/WindowsUpdate.log. Per Windows Server 2016 e versioni successive, esegui prima il comando PowerShell Get-WindowsUpdateLog prima di utilizzare %windir%/WindowsUpdate.log

  • Per i nodi gestiti da Linux, raccogli anche quanto segue:

    • Il contenuto della directory /var/lib/amazon/ssm/instance-id/document/orchestration/Run-Command-execution-id/awsrunShellScript/PatchLinux