SSM-Befehlsdokument zum Patchen: AWS-RunPatchBaselineAssociation - AWS Systems Manager

SSM-Befehlsdokument zum Patchen: AWS-RunPatchBaselineAssociation

Wie das AWS-RunPatchBaseline-Dokument führt auch AWS-RunPatchBaselineAssociation Patching-Operationen auf Instances für sicherheitsrelevante und andere Arten von Updates aus. Sie können das Dokument AWS-RunPatchBaselineAssociation auch verwenden, um Patches sowohl für Betriebssysteme als auch für Anwendungen durchzuführen. (Unter Windows Server ist der Anwendungssupport auf Updates für Microsoft-Anwendungen beschränkt.)

Dieses Dokument unterstützt Amazon Elastic Compute Cloud (Amazon EC2)-Instances für Linux, macOS und Windows Server. Nicht-EC2-Knoten in einer Hybrid- und Multi-Cloud-Umgebung werden nicht unterstützt. Das Dokument führt die entsprechenden Aktionen für jede Plattform durch, indem ein Python-Modul auf Linux- und macOS-Instances und ein PowerShell-Modul auf Windows-Instances aufgerufen wird.

AWS-RunPatchBaselineAssociation unterscheidet sich jedoch auf folgende Weise von AWS-RunPatchBaseline:

  • AWS-RunPatchBaselineAssociation ist hauptsächlich für die Verwendung mit State Manager-Zuordnungen vorgesehen, die mithilfe von Quick Setup, einer Funktion von AWS Systems Manager, erstellt wurden. Insbesondere, wenn Sie den Quick Setup-Host-Management-Konfigurationstyp verwenden und die Option Scan instances for missing patches daily (Instances täglich auf fehlende Patches scannen) auswählen, verwendet das System AWS-RunPatchBaselineAssociation für diese Operation.

    In den meisten Fällen sollten Sie jedoch beim Einrichten eigener Patching-Vorgänge AWS-RunPatchBaseline oder AWS-RunPatchBaselineWithHooks anstelle von AWS-RunPatchBaselineAssociation auswählen.

  • Wenn Sie das AWS-RunPatchBaselineAssociation-Dokument verwenden, können Sie ein Tag-Schlüssel-Paar im BaselineTags-Parameterfeld des Dokuments angeben. Wenn eine benutzerdefinierte Patch-Baseline in Ihrem AWS-Konto diese Tags teilt, aktiviert Patch Manager, eine Funktion von AWS Systems Manager, diese getaggte Baseline, wenn sie auf den Ziel-Instances ausgeführt wird, anstelle der aktuell angegebenen „Standard“-Patch-Baseline für den Betriebssystemtyp.

    Anmerkung

    Wenn Sie AWS-RunPatchBaselineAssociation in anderen Patching-Operationen als den mithilfe von Quick Setup eingerichteten verwenden und Sie den optionalen BaselineTags-Parameter verwenden möchten, müssen Sie einige zusätzliche Berechtigungen für das Instance-Profil für Amazon Elastic Compute Cloud (Amazon EC2)-Instances bereitstellen. Weitere Informationen finden Sie unter Parametername: BaselineTags.

    Die beiden folgenden Formate sind gültig für Ihre BaselineTags-Parameter:

    Key=tag-key,Values=tag-value

    Key=tag-key,Values=tag-value1,tag-value2,tag-value3

    Wichtig

    Tag-Schlüssel und -Werte dürfen die folgenden Zeichen nicht enthalten: Backtick (`), einfaches Anführungszeichen ('), doppeltes Anführungszeichen („) und Dollarzeichen ($).

  • Wenn AWS-RunPatchBaselineAssociation ausgeführt wird, werden die Patch-Compliance-Daten, die es sammelt, mit dem API-Befehl PutComplianceItems anstelle des Befehls PutInventory, der von AWS-RunPatchBaseline verwendet wird, aufgezeichnet. Dieser Unterschied bedeutet, dass die Patch-Compliance-Informationen gemäß einer bestimmten Zuordnung gespeichert und gemeldet werden. Patch-Compliance-Daten, die außerhalb dieser Zuordnung generiert wurden, werden nicht überschrieben.

  • Die Patch-Compliance-Informationen, die nach der Ausführung von AWS-RunPatchBaselineAssociation gemeldet werden, geben an, ob eine Instance konform ist oder nicht. Sie enthalten keine Patch-Level-Details, wie die Ausgabe des folgendenAWS Command Line Interface (AWS CLI)-Befehls. Der Befehl filtert auf Association als Compliance-Typ:

    aws ssm list-compliance-items \ --resource-ids "i-02573cafcfEXAMPLE" \ --resource-types "ManagedInstance" \ --filters "Key=ComplianceType,Values=Association,Type=EQUAL" \ --region us-east-2

    Das System gibt unter anderem folgende Informationen zurück

    {
        "ComplianceItems": [
            {
                "Status": "NON_COMPLIANT", 
                "Severity": "UNSPECIFIED", 
                "Title": "MyPatchAssociation", 
                "ResourceType": "ManagedInstance", 
                "ResourceId": "i-02573cafcfEXAMPLE", 
                "ComplianceType": "Association", 
                "Details": {
                    "DocumentName": "AWS-RunPatchBaselineAssociation", 
                    "PatchBaselineId": "pb-0c10e65780EXAMPLE", 
                    "DocumentVersion": "1"
                }, 
                "ExecutionSummary": {
                    "ExecutionTime": 1590698771.0
                }, 
                "Id": "3e5d5694-cd07-40f0-bbea-040e6EXAMPLE"
            }
        ]
    }

Wenn ein Tag-Schlüssel-Paar-Wert als Parameter für das AWS-RunPatchBaselineAssociation-Dokument angegeben wurde, sucht Patch Manager nach einer benutzerdefinierten Patch-Baseline, die mit dem Betriebssystemtyp übereinstimmt und mit demselben Tag-Schlüssel-Paar gekennzeichnet wurde. Diese Suche ist nicht auf die aktuell angegebene Standard-Patch-Baseline oder die Baseline beschränkt, die einer Patch-Gruppe zugewiesen ist. Wenn keine Baseline mit den angegebenen Tags gefunden wird, sucht Patch Manager als Nächstes nach einer Patch-Gruppe, wenn eine in dem Befehl angegeben wurde, der AWS-RunPatchBaselineAssociation ausführt. Wenn keine Patch-Gruppe übereinstimmt, wird Patch Manager auf die aktuelle Standard-Patch-Baselines für das Betriebssystemkonto zurückgesetzt.

Wenn mehr als eine Patch-Baseline mit den Tags gefunden wird, die im AWS-RunPatchBaselineAssociation-Dokument angegeben sind, gibt Patch Manager eine Fehlermeldung zurück, die angibt, dass nur eine Patch-Baseline mit diesem Schlüssel-Wert-Paar gekennzeichnet werden kann, damit der Vorgang fortgesetzt wird.

Anmerkung

Auf Linux-Instances wird der entsprechende Paketmanager für jeden Instance-Typ verwendet, um Pakete zu installieren:

  • Amazon Linux 1, Amazon Linux 2, CentOS, Oracle Linux- und RHEL-Instances verwenden YUM. Für YUM-Vorgänge erfordert Patch Manager Python 2.6 oder eine höhere unterstützte Version (2.6–3.10).

  • Debian Server, Raspberry Pi OS und Ubuntu Server-Instances verwenden APT. Für APT-Vorgänge erfordert Patch Manager eine unterstützte Version von Python 3 (3.0–3.10).

  • SUSE Linux Enterprise Server-Instances verwenden Zypper. Für Zypper-Vorgänge erfordert Patch Manager Python 2.6 oder eine höhere unterstützte Version (2.6–3.10).

Nachdem der Scan abgeschlossen wurde oder alle genehmigten und zutreffenden Updates installiert und je nach Bedarf Neustarts durchgeführt wurden, werden Patch-Compliance-Informationen auf einer Instance generiert und wieder an den Patchmanager-Service gemeldet.

Anmerkung

Wenn der Parameter RebootOption im Dokument AWS-RunPatchBaselineAssociation auf NoReboot gesetzt ist, wird die Instance nach dem Ausführen von Patch Manager nicht neu gestartet. Weitere Informationen finden Sie unter Parametername: RebootOption.

Weitere Informationen zum Anzeigen von Patch-Compliance-Daten finden Sie unter Info zu Patch Compliance.

AWS-RunPatchBaselineAssociation-Parameter

AWS-RunPatchBaselineAssociation unterstützt vier Parameter. Die Parameter Operation und AssociationId müssen angegeben werden. Die Parameter InstallOverrideList, RebootOption und BaselineTags sind optional.

Parametername: Operation

Nutzung: erforderlich.

Optionen: Scan | Install.

Scan

Wenn Sie die Option Scan wählen, bestimmt AWS-RunPatchBaselineAssociation den Patch-Compliance-Status der Instance und meldet diese Informationen an Patch Manager. Scan fordert nicht zum Installieren von Updates oder zum Neustarten von Instances auf. Stattdessen erkennt der Vorgang, wo für die Instance genehmigte und geeignete Updates fehlen.

Installieren

Bei Auswahl der Option Install versucht AWS-RunPatchBaselineAssociation, die genehmigten und geeigneten Updates zu installieren, die auf der Instance fehlen. Patch-Compliance-Informationen, die als Teil eines Install-Vorgangs generiert wurden, enthalten keine fehlenden Updates, melden allerdings möglicherweise Updates im Fehlerzustand, wenn die Installation des Updates aus einem beliebigen Grund nicht erfolgreich war. Immer wenn ein Update auf einer Instance installiert wird, wird die Instance neu gestartet, um sicherzustellen, dass es installiert und aktiviert ist. (Ausnahme: Wenn der RebootOption-Parameter im AWS-RunPatchBaselineAssociation-Dokument auf NoReboot gesetzt ist, wird die Instance nach der Ausführung von Patch Manager nicht neugestartet. Weitere Informationen finden Sie unter Parametername: RebootOption.)

Anmerkung

Wenn ein von den Basisregeln festgelegter Patch installiert wird, bevor der Patch Manager die Instance aktualisiert, wird das System möglicherweise nicht wie erwartet neu gestartet. Dies kann passieren, wenn ein Patch manuell von einem Benutzer oder automatisch von einem anderen Programm, z. B. dem unattended-upgrades-Paket auf Ubuntu Server, installiert wird.

Parametername: BaselineTags

Nutzung: optional.

BaselineTags ist ein eindeutiges Tag-Schlüssel-Wert-Paar, das Sie auswählen und einer individuellen benutzerdefinierten Patch-Baseline zuweisen. Sie können einen oder mehrere Werte für diesen Parameter angeben. Beider der folgenden Formate sind gültig:

Key=tag-key,Values=tag-value

Key=tag-key,Values=tag-value1,tag-value2,tag-value3

Wichtig

Tag-Schlüssel und -Werte dürfen die folgenden Zeichen nicht enthalten: Backtick (`), einfaches Anführungszeichen ('), doppeltes Anführungszeichen („) und Dollarzeichen ($).

Der BaselineTags-Wert wird von Patch Manager verwendet, um sicherzustellen, dass eine Gruppe von Instances, für die in einem Vorgang Patches durchgeführt werden, den genau gleichen Satz genehmigter Patches aufweist. Wenn der Patching-Vorgang ausgeführt wird, überprüft Patch Manager, ob eine Patch-Baseline für den Betriebssystemtyp mit demselben Schlüssel-Wert-Paar versehen ist, das Sie für BaselineTags angeben. Wenn eine Übereinstimmung vorliegt, wird diese benutzerdefinierte Patch-Baseline verwendet. Wenn keine Übereinstimmung vorliegt, wird eine Patch-Baseline anhand einer beliebigen Patchgruppe identifiziert, die für die Patching-Operation angegeben wurde. Wenn keine vorhanden ist, wird die von AWS verwaltete vordefinierte Patch-Baseline für dieses Betriebssystem verwendet.

Zusätzliche Berechtigungsanforderungen

Wenn Sie AWS-RunPatchBaselineAssociation in anderen Patching-Operationen als den mithilfe von Quick Setup eingerichteten verwenden und Sie den optionalen BaselineTags-Parameter verwenden möchten, müssen Sie die folgenden Berechtigungen für das Instance-Profil für Amazon Elastic Compute Cloud (Amazon EC2)-Instances bereitstellen.

Anmerkung

Quick Setup und AWS-RunPatchBaselineAssociation unterstützen keine On-Premises-Server und virtuellen Maschinen (VMs).

{ "Effect": "Allow", "Action": [ "ssm:DescribePatchBaselines", "tag:GetResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetPatchBaseline", "ssm:DescribeEffectivePatchesForPatchBaseline" ], "Resource": "patch-baseline-arn" }

Ersetzen Sie patch-baseline-srn mit dem Amazon-Ressourcennamen (ARN) der Patch-Baseline, auf die Sie Zugriff gewähren möchten, im Format arn:aws:ssm:us-east-2:123456789012:patchbaseline/pb-0c10e65780EXAMPLE.

Parametername: AssociationId

Nutzung: erforderlich.

AssociationId ist die ID einer vorhandenen Zuordnung in State Manager, einer Funktion von AWS Systems Manager. Es wird von Patch Manager verwendet, um einer angegebenen Zuordnung Compliance-Daten hinzuzufügen. Diese Zuordnung bezieht sich auf einen Scan-Patching-Vorgang, der in einer in Quick Setup erstellten Host-Management-Konfiguration aktiviert ist. Durch das Senden von Patching-Ergebnissen als Zuordnungs-Compliance-Daten anstelle von Inventar-Compliance-Daten werden vorhandene Inventar-Compliance-Informationen für Ihre Instances weder nach einer Patching-Operation noch für andere Zuordnungs-IDs überschrieben. Wenn Sie noch keine Zuordnung erstellt haben, die Sie verwenden möchten, können Sie eine erstellen, indem Sie den Befehl create-association ausführen. Beispielsweise:

Linux & macOS
aws ssm create-association \ --name "AWS-RunPatchBaselineAssociation" \ --association-name "MyPatchHostConfigAssociation" \ --targets "Key=instanceids,Values=[i-02573cafcfEXAMPLE,i-07782c72faEXAMPLE,i-07782c72faEXAMPLE]" \ --parameters "Operation=Scan" \ --schedule-expression "cron(0 */30 * * * ? *)" \ --sync-compliance "MANUAL" \ --region us-east-2
Windows Server
aws ssm create-association ^ --name "AWS-RunPatchBaselineAssociation" ^ --association-name "MyPatchHostConfigAssociation" ^ --targets "Key=instanceids,Values=[i-02573cafcfEXAMPLE,i-07782c72faEXAMPLE,i-07782c72faEXAMPLE]" ^ --parameters "Operation=Scan" ^ --schedule-expression "cron(0 */30 * * * ? *)" ^ --sync-compliance "MANUAL" ^ --region us-east-2

Parametername: InstallOverrideList

Nutzung: optional.

Mit InstallOverrideList können Sie eine https-URL oder eine Amazon Simple Storage Service (Amazon S3)-URL im Pfadstil zu einer Liste mit zu installierenden Patches angeben. Diese im YAML-Format geführte Patch-Installationsliste überschreibt die von der Standard-Patch-Baseline angegebenen Patches. Dies bietet Ihnen eine differenziertere Kontrolle darüber, welche Patches auf Ihren Instances installiert sind.

Wichtig

Der InstallOverrideList-Dateiname darf die folgenden Zeichen nicht enthalten: Backtick (`), einfaches Anführungszeichen ('), doppeltes Anführungszeichen („) und Dollarzeichen ($).

Das Verhalten des Patch-Vorgangs bei Verwendung des InstallOverrideList-Parameters unterscheidet sich zwischen Linux- und macOS-verwalteten Knoten und Windows Server-verwalteten Knoten. Unter Linux und macOS versucht Patch Manager, Patches aus der Patchliste InstallOverrideList anzuwenden, die in einem auf dem Knoten aktivierten Repository vorhanden sind, unabhängig davon, ob die Patches den Patch-Baseline-Regeln entsprechen oder nicht. Auf Windows Server-Knoten werden Patches in der InstallOverrideList-Patch-Liste jedoch nur angewendet, wenn sie auch den Patch-Baseline-Regeln entsprechen.

Beachten Sie, dass Compliance-Berichte Patch-Status entsprechend den Angaben in der Patch-Baseline wiedergeben, nicht entsprechend Ihren Angaben in einer InstallOverrideList-Liste von Patches. Mit anderen Worten: Scan-Operationen ignorieren den Parameter InstallOverrideList. Auf diese Weise wird sichergestellt, dass Compliance-Berichte den Patch-Status konsistent entsprechend der Richtlinie wiedergeben und nicht danach, was für eine bestimmte Patching-Operation genehmigt wurde.

Gültige URL-Formate

Anmerkung

Wenn Ihre Datei in einem öffentlich zugänglichen Bucket gespeichert ist, können Sie entweder ein HTTPS-URL-Format oder eine URL im Amazon S3-Pfadstil angeben. Wenn Ihre Datei in einem privaten Bucket gespeichert ist, müssen Sie eine URL im Amazon S3-Pfadstil angeben.

  • Beispiel des HTTPS-URL-Formats:

    https://s3.amazonaws.com/amzn-s3-demo-bucket/my-windows-override-list.yaml
  • Beispiel-URL im Amazon-S3-Pfadstil:

    s3://amzn-s3-demo-bucket/my-windows-override-list.yaml

Gültige YAML-Inhaltsformate

Die Formate, die Sie verwenden, um Patches in Ihrer Liste anzugeben, hängen von dem Betriebssystem Ihrer Instance ab. Das allgemeine Format lautet jedoch folgendermaßen:

patches: - id: '{patch-d}' title: '{patch-title}' {additional-fields}:{values}

Sie können zwar zusätzliche Felder in der YAML-Datei bereitstellen, diese werden jedoch während der Patch-Operationen ignoriert.

Darüber hinaus empfehlen wir zu überprüfen, ob das Format Ihrer YAML-Datei gültig ist, bevor Sie die Liste in Ihrem S3-Bucket hinzufügen oder aktualisieren. Weitere Informationen zum YAML-Format finden Sie unter yaml.org. Für Validierungstool-Optionen suchen Sie im Internet nach „yaml format validators“ durch.

  • Microsoft Windows

    id

    Das Feld id ist ein Pflichtfeld. Verwenden Sie es, um Patches mit Microsoft Knowledge Base-IDs (z. B. KB2736693) und Microsoft Security Bulletins-IDs (z. B. MS17-023) festzulegen.

    Alle anderen Felder, die Sie in einer Patch-Liste für Windows bereitstellen möchten, sind optional und dienen nur zu Ihrer eigenen Information. Sie können zusätzlichen Felder verwenden, wie z. B. Titel, Klassifizierung, Schweregrad oder andere Angaben für detailliertere Informationen über die angegebenen Patches.

  • Linux

    id

    Das Feld id ist ein Pflichtfeld. Verwenden Sie es, um Patches mit Paketnamen und Architektur anzugeben. Beispiel: 'dhclient.x86_64'. Sie können Platzhalter in der ID verwenden, um mehrere Pakete anzugeben. Zum Beispiel 'dhcp*' und 'dhcp*1.*'.

    Titel

    Das Feld Titel ist optional, es bietet jedoch auf Linux-Systemen zusätzliche Filterfunktionen. Wenn Sie Titel verwenden, sollte er die Versionsinformationen des Pakets in einem der folgenden Formate enthalten:

    YUM/SUSE Linux Enterprise Server (SLES):

    {name}.{architecture}:{epoch}:{version}-{release}

    APT

    {name}.{architecture}:{version}

    Für Linux-Patch-Titel können Sie einen oder mehrere Platzhalter in beliebigen Positionen verwenden, um die Anzahl der Paketzuordnungen zu erhöhen. Beispiel: '*32:9.8.2-0.*.rc1.57.amzn1'.

    Beispielsweise:

    • apt-Paketversion 1.2.25 ist derzeit auf Ihrer Instance installiert, aber Version 1.2.27 ist jetzt verfügbar.

    • Fügen Sie die apt.amd64-Version 1.2.27 der Liste hinzu. Sie ist abhängig von apt utils.amd64 Version 1.2.27, aber apt-utils.amd64 Version 1.2.25 ist in der Liste angegeben.

    In diesem Fall wird apt Version 1.2.27 von Installation ausgeschlossen und als „Failed-NonCompliant“ gemeldet.

Andere Felder

Alle anderen Felder, die Sie in einer Patch-Liste für Linux bereitstellen möchten, sind optional und dienen nur zu Ihrer eigenen Information. Sie können zusätzlichen Felder verwenden, wie z. B. Klassifizierung, Schweregrad oder andere Angaben für detailliertere Informationen über die angegebenen Patches.

Patch-Beispiellisten

  • Windows

    patches: - id: 'KB4284819' title: '2018-06 Cumulative Update for Windows Server 2016 (1709) for x64-based Systems (KB4284819)' - id: 'KB4284833' - id: 'KB4284835' title: '2018-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4284835)' - id: 'KB4284880' - id: 'KB4338814'
  • APT

    patches: - id: 'apparmor.amd64' title: '2.10.95-0ubuntu2.9' - id: 'cryptsetup.amd64' title: '*2:1.6.6-5ubuntu2.1' - id: 'cryptsetup-bin.*' title: '*2:1.6.6-5ubuntu2.1' - id: 'apt.amd64' title: '*1.2.27' - id: 'apt-utils.amd64' title: '*1.2.25'
  • Amazon Linux

    patches: - id: 'kernel.x86_64' - id: 'bind*.x86_64' title: '32:9.8.2-0.62.rc1.57.amzn1' - id: 'glibc*' - id: 'dhclient*' title: '*12:4.1.1-53.P1.28.amzn1' - id: 'dhcp*' title: '*10:3.1.1-50.P1.26.amzn1'
  • Red Hat Enterprise Linux (RHEL)

    patches: - id: 'NetworkManager.x86_64' title: '*1:1.10.2-14.el7_5' - id: 'NetworkManager-*.x86_64' title: '*1:1.10.2-14.el7_5' - id: 'audit.x86_64' title: '*0:2.8.1-3.el7' - id: 'dhclient.x86_64' title: '*.el7_5.1' - id: 'dhcp*.x86_64' title: '*12:5.2.5-68.el7'
  • SUSE Linux Enterprise Server (SLES)

    patches: - id: 'amazon-ssm-agent.x86_64' - id: 'binutils' title: '*0:2.26.1-9.12.1' - id: 'glibc*.x86_64' title: '*2.19*' - id: 'dhcp*' title: '0:4.3.3-9.1' - id: 'lib*'
  • Ubuntu Server

    patches: - id: 'apparmor.amd64' title: '2.10.95-0ubuntu2.9' - id: 'cryptsetup.amd64' title: '*2:1.6.6-5ubuntu2.1' - id: 'cryptsetup-bin.*' title: '*2:1.6.6-5ubuntu2.1' - id: 'apt.amd64' title: '*1.2.27' - id: 'apt-utils.amd64' title: '*1.2.25'
  • Windows

    patches: - id: 'KB4284819' title: '2018-06 Cumulative Update for Windows Server 2016 (1709) for x64-based Systems (KB4284819)' - id: 'KB4284833' - id: 'KB4284835' title: '2018-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4284835)' - id: 'KB4284880' - id: 'KB4338814'

Parametername: RebootOption

Nutzung: optional.

Optionen: RebootIfNeeded | NoReboot

Standardwert: RebootIfNeeded

Warnung

Die Standardoption ist RebootIfNeeded. Stellen Sie sicher, dass Sie die richtige Option für Ihren Anwendungsfall auswählen. Wenn Ihre Instances beispielsweise sofort neu starten müssen, um einen Konfigurationsprozess abzuschließen, wählen Sie RebootIfNeeded aus. Oder wenn Sie die Verfügbarkeit von Instances bis zu einer geplanten Neustartzeit beibehalten müssen, wählen Sie NoReboot aus.

Wichtig

Wir raten davon ab, Patch Manager für das Patchen von Cluster-Instances in Amazon EMR (früher Amazon Elastic MapReduce genannt) zu verwenden. Wählen Sie insbesondere nicht die Option RebootIfNeeded für den Parameter RebootOption aus. (Diese Option ist in den SSM-Befehlsdokumenten für das Patchen von AWS-RunPatchBaseline, AWS-RunPatchBaselineAssociation und AWS-RunPatchBaselineWithHooks verfügbar.)

Die zugrunde liegenden Befehle für das Patchen mithilfe von Patch Manager verwenden yum- und dnf-Befehle. Daher führen die Operationen aufgrund der Art und Weise, wie Pakete installiert werden, zu Inkompatibilitäten. Informationen zu den bevorzugten Methoden für die Aktualisierung von Software auf Amazon-EMR-Clustern finden Sie unter Verwenden des Standard-AMI für Amazon EMR im Amazon EMR Management Guide.

RebootIfNeeded

Wenn Sie die Option RebootIfNeeded auswählen, wird die Instance in einem der folgenden Fälle neu gestartet:

  • Patch Manager ist auf einem oder mehreren Patches installiert.

    Patch Manager wertet nicht aus, ob ein Neustart vom Patch erfordert wird. Das System wird neu gestartet, auch wenn der Patch keinen Neustart erfordert.

  • Patch Manager erkennt ein oder mehrere Patches mit dem Status INSTALLED_PENDING_REBOOT während der Install-Operation.

    Der INSTALLED_PENDING_REBOOT-Status kann bedeuten, dass die Option NoReboot ausgewählt wurde, als der Install-Vorgang das letzte Mal ausgeführt wurde, oder dass ein Patch außerhalb von Patch Manager seit dem letzten Neustart des verwalteten Knotens installiert wurde.

Durch den Neustart von Instances wird in diesen beiden Fällen sichergestellt, dass aktualisierte Pakete aus dem Speicher gelöscht werden und das Patch- und Neustartverhalten über alle Betriebssysteme hinweg konsistent bleibt.

NoReboot

Wenn Sie die Option NoReboot auswählen, startet Patch Manager eine Instance nicht neu, selbst wenn über ihn während der Install-Operation Patches installiert wurden. Diese Option ist nützlich, wenn Sie wissen, dass für Ihre Instances nach dem Anwenden von Patches kein Neustart erforderlich ist oder Anwendungen bzw. Prozesse auf einer Instance ausgeführt werden, die nicht durch einen Neustart des Patches unterbrochen werden sollten. Sie ist auch nützlich, wenn Sie mehr Kontrolle über das Timing von Instance-Neustarts wünschen, z. B. durch die Verwendung eines Wartungsfensters.

Datei zum Nachverfolgen der Patch-Installation (Tracking-Datei): Um die Patch-Installation nachzuverfolgen, insbesondere von Patches, die seit dem letzten Neustart des Systems installiert wurden, erstellt Systems Manager eine Datei auf der verwalteten Instance.

Wichtig

Löschen oder ändern Sie die Tracking-Datei nicht. Wenn diese Datei gelöscht oder beschädigt wird, ist der Patch-Compliance-Bericht für die Instance ungenau. Starten Sie in diesem Fall die Instance neu und führen Sie einen Patch-Scan-Vorgang aus, um die Datei wiederherzustellen.

Diese Tracking-Datei wird an den folgenden Speicherorten auf Ihren verwalteten Instances gespeichert:

  • Linux-Betriebssysteme:

    • /var/log/amazon/ssm/patch-configuration/patch-states-configuration.json

    • /var/log/amazon/ssm/patch-configuration/patch-inventory-from-last-operation.json

  • Windows Server-Betriebssystem:

    • C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchStatesConfiguration.json

    • C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchInventoryFromLastOperation.json