Wie behebe ich Patch-Probleme im Zusammenhang mit der Amazon EC2-Windows-Instance, wenn ich das Patch Manager AWS-RunPatchBaseline-Dokument verwende?

Lesedauer: 7 Minute
0

Ich versuche, meine Amazon Elastic Compute Cloud (Amazon EC2) Windows-Instance zu patchen, erhalte aber Fehler. Ich möchte Probleme beheben, wenn ich das AWS-RunPatchBaseline-Dokument verwende, um Windows-Knoten zu patchen.

Kurzbeschreibung

Die folgenden Probleme können auftreten, wenn Sie den Patch Manager verwenden, eine Funktion von AWS Systems Manager, AWS-RunPatchBaseline-Dokument:

  • Der Knoten kann Amazon Simple Storage Service (Amazon S3)-Endpunkte nicht erreichen
  • Die Token-Anfrage ist nicht gültig
  • Sie können nicht nach Windows-Updates suchen
  • Updates können nach dem Herunterladen nicht installiert werden
  • Ein Patch fehlt

Behebung

Der Knoten kann Amazon S3-Endpunkte nicht erreichen

Möglicherweise werden die folgenden Beispielfehlermeldungen angezeigt, wenn Amazon S3 keine Verbindung zum Remote-Server herstellen kann:

„Invoke-PatchBaselineOperation: Die zugrunde liegende Verbindung wurde geschlossen: Beim Senden ist ein unerwarteter Fehler aufgetreten.“

-oder-

„Bei der Ausführung von PatchBaselineOperations ist ein Fehler aufgetreten: Es konnte keine Verbindung zum Remoteserver hergestellt werden“

Die vorherigen Fehler treten auf, weil der Knoten keine Verbindung zu S3-Endpunkten herstellen kann. Oder dem AWS Identity and Access Management (IAM)-Profil, das an die Instance angehängt ist, fehlen die mindestens erforderlichen Berechtigungen für die S3-Konnektivität.

Gehen Sie wie folgt vor, um diese Probleme zu beheben:

1.    Stellen Sie sicher, dass die IAM-Berechtigungen für das Instance-Profil an den Knoten angehängt sind. Die Mindestberechtigungen finden Sie unter Kommunikation des AWS Systems Manager Agent (SSM Agent) mit von AWS verwalteten S3-Buckets.

2.    Führen Sie den folgenden Befehl in PowerShell aus, um die Verbindung zum Amazon S3-Endpunkt zu überprüfen:
Hinweis: Ersetzen Sie <region_id> durch Ihre AWS-Regions-ID.

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

3.    Wenn der vorherige Test fehlschlägt, überprüfen Sie, wie die Instance mit Systems Manager-Endpunkten verbunden ist:

Die Token-Anfrage ist nicht gültig

Möglicherweise werden die folgenden Beispielfehlermeldungen angezeigt, da die Token-Anfrage nicht gültig ist:

„Die Invoke-PatchBaselineOperation ist fehlgeschlagen mit: Das in der Anfrage enthaltene Sicherheitstoken ist abgelaufen:

-oder-

„Invoke-PatchBaselineOperation: Die Instance-ID i-00fe5918abcdef12 entspricht nicht den Anmeldeinformationen“

Die vorherigen Fehler treten auf, wenn der SSM Agent Anmeldeinformationen verwendet, die sich von den Anmeldeinformationen unterscheiden, die Sie erwarten. Der SSM Agent verwendet beispielsweise eine gemeinsame Anmeldeinformationsdatei anstelle eines Instance-Profils.

Hinweis: Für SSM Agent Version 3.1.1927.0 oder früher sucht der SSM Agent nach Anmeldeinformationen in der Reihenfolge, die für die standardmäßige Anbieterkette für Anmeldeinformationen vorgeschrieben ist. Dies gilt auch für Amazon Elastic Container Service (Amazon ECS) Container-Instances.

Ab SSM Agent Version 3.2.183.0 speichert der SSM Agent eine Reihe temporärer Anmeldeinformationen unter /var/lib/amazon/ssm/credentials (Linux und macOS) oder %PROGRAMFILES%\Amazon\SSM\credentials (Windows Server). Die temporären Anmeldeinformationen verfügen über die Berechtigungen, die Sie für die von Ihnen ausgewählte IAM-Rolle angeben. Die IAM-Rolle verfügt über die Berechtigungen der Standard-Hostverwaltungskonfiguration oder des Instance-Profils, das an Ihren verwalteten Knoten angehängt ist.

Um diese Fehler zu beheben, aktualisieren Sie den SSM Agent auf Version 3.2.183.0 oder höher, damit er Anmeldeinformationen aus einer Datei im SSM-Ordner abrufen kann.

Um eine frühere Version des SSM Agent zu verwenden, suchen Sie nach den gemeinsam genutzten Anmeldeinformationen, löschen Sie sie und testen Sie den Patch dann erneut.

Gehen Sie wie folgt vor, um die Anmeldeinformationen zu finden:

1.    Drücken Sie die Windows-Taste, und geben Sie dann Umgebungsvariablen ein.

2.    Suchen Sie die Variablen mit den Namen AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY.

3.    Löschen Sie die Anmeldeinformationen und testen Sie den Patch erneut.

Gemeinsam genutzte Speicherorte für Anmeldeinformationen

Im Folgenden finden Sie Beispiele für gemeinsam genutzte Speicherorte für Anmeldeinformationen:

Systemprofil

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

Nutzerprofil

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

Sie können nicht nach Windows-Updates suchen

Möglicherweise werden die folgenden Beispielfehlermeldungen angezeigt, wenn Sie nicht nach Windows-Updates suchen können:

„Invoke-PatchBaselineOperation: Einzelheiten zur Ausnahme: Beim Versuch, Windows Update zu suchen, ist ein Fehler aufgetreten. Fehlermeldung: Ausnahme von HRESULT: 0x80240437“

-oder-

„Invoke-PatchBaselineOperation: Einzelheiten zur Ausnahme: Beim Versuch, Windows Update zu suchen, ist ein Fehler aufgetreten. Fehlermeldung: Ausnahme von HRESULT: 0x80072EE2“

Die vorherigen Fehler hängen entweder mit den Windows Update-Komponenten, einer fehlenden Konnektivität zum Windows Update-Katalog oder mit Windows Server Update Services (WSUS) zusammen.

Gehen Sie wie folgt vor, um diese Probleme zu beheben:

1.    Überprüfen Sie die Verbindung zu Windows Update. Stellen Sie fest, ob die Instance über einen Proxy oder mithilfe von WSUS über eine direkte Internetverbindung zur Microsoft-Patchquelle verfügt.

2.    Sie können eine Gruppenrichtlinie oder Registrierungsschlüssel verwenden, um WSUS-Server zu konfigurieren. Führen Sie den folgenden Befehl aus, um die WSUS-Konfiguration zu überprüfen:

Überprüfen Sie die Gruppenrichtlinien:

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

Überprüfen Sie die Registrierungsschlüssel, die möglicherweise manuell festgelegt wurden:

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

Führen Sie die folgenden Befehle aus, um die Proxykonfigurationen zu überprüfen:

Hinweis: Sie müssen die Proxykonfigurationen im Kontext des Systembenutzerkontos S-1-5-18 abrufen, auf dem Sie die Patching-Operationen ausführen. Um die Konfigurationen abzurufen, verwenden Sie Run Command, eine Funktion von AWS Systems Manager, zusammen mit dem AWS-RunPowerShellScript-Dokument.

Laden Sie PSExec von der Microsoft-Website herunter und führen Sie den folgenden Befehl aus, um eine neue PowerShell-Eingabeaufforderung im Systembenutzerkontext zu starten:

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

Führen Sie den folgenden Befehl aus, um die Registrierungseinstellungen von AmazonSSMAgent einzusehen:

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

Führen Sie die folgenden Befehle aus, um die Systemumgebungsvariablen (http_proxy, no_proxy) zu sehen:

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

Führen Sie den folgenden Befehl aus, um die Internet Explorer-Einstellungen (HTTP, sicher, Ausnahmen) einzusehen:

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

Führen Sie den folgenden Befehl aus, um den WinINET-Proxy zu sehen:

[System.Net.WebRequest]::DefaultWebProxy

Führen Sie den folgenden Befehl aus, um die WinHTTP-Proxyeinstellungen (http=, https=, bypass-list=) zu sehen:

netsh winhttp show proxy

Wenn der Proxy nur für SSM Agent eingerichtet ist, funktioniert der Patch-Manager nicht. Dies liegt daran, dass der Windows Update-Client systemweite Proxyeinstellungen verwendet, um die Updates zu scannen und herunterzuladen. Führen Sie den folgenden Befehl aus, um den Proxy systemweit einzustellen:

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

Wenn eine Verbindung besteht, setzen Sie die Windows Update-Komponenten zurück und versuchen Sie erneut, das Patchen durchzuführen.

Updates können nach dem Herunterladen nicht installiert werden

Gehen Sie wie folgt vor, um ein Update zu beheben, das nach dem Herunterladen nicht installiert werden kann:

1.    Überprüfen Sie die Patch-Installationsprotokolle unter C:\Windows\Logs\CBS und gleichen Sie den Zeitstempel des ausgeführten Befehls ab. Überprüfen Sie dann die Protokolle auf Fehlermeldungen.

2.    Wenn der Patch einen Neustart erfordert, aber nach dem Neustart nicht installiert werden kann, verwenden Sie einen Amazon EC2-Screenshot, um die Meldung auf dem Anmeldebildschirm zu sehen.

Hinweis: Patches werden möglicherweise mit der folgenden Meldung auf dem Startbildschirm zurückgesetzt: „Wir konnten die Updates nicht abschließen. Änderungen werden rückgängig gemacht. Schalten Sie Ihren Computer nicht aus“

3.    Suchen Sie den HResult-Code in der CBS-Protokolldatei (Component-Based Servicing) und suchen Sie dann in der Windows Update-Fehlerdokumentation nach dem Code.

4.    Setzen Sie die Windows Update-Komponenten zurück, und versuchen Sie dann erneut, die Installation durchzuführen.

Ein Patch fehlt

Informationen zur Behebung fehlender Patches finden Sie unter Wie behebe ich einen fehlenden KB-Patch nach einem erfolgreichen Patchvorgang auf EC2-Windows-Instances über den Patch Manager?

Weitere Informationen

So werden Patches installiert

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten