Anleitung: Erstellen eines Wartungsfensters zum Aktualisieren von SSM Agent (AWS CLI) - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Anleitung: Erstellen eines Wartungsfensters zum Aktualisieren von SSM Agent (AWS CLI)

Die folgende Walkthrough zeigt Ihnen, wie Sie mit der AWS Command Line Interface (AWS CLI) ein AWS Systems Manager-Wartungsfenster erstellen. In der Anleitung wird auch beschrieben, wie Sie Ihre verwalteten Knoten als Ziele anmelden und eine Systems-Manager-Run Command-Aufgabe für die Aktualisierung des SSM Agent anmelden.

Bevor Sie beginnen

Bevor Sie die folgenden Schritte ausführen können, müssen Sie entweder über Administratorrechte auf den Knoten verfügen, die Sie konfigurieren möchten, oder Sie müssen über die entsprechenden Berechtigungen in AWS Identity and Access Management (IAM) verfügen. Überprüfen Sie darüber hinaus, dass mindestens ein verwalteter Knoten für Linux oder Windows Server ausgeführt wird, der für Systems Manager in einer Hybrid- und Multi-Cloud-Umgebung konfiguriert ist. Weitere Informationen finden Sie unter Einrichten AWS Systems Manager.

Schritt 1: Erste Schritte

So führen Sie Befehle mithilfe der AWS CLI aus
  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), wenn noch nicht erfolgt.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Überprüfen Sie, ob einen Knoten als Ziel für ein Wartungsfenster registriert werden kann.

    Führen Sie den folgenden Befehl aus, um zu sehen, welche Knoten online sind.

    aws ssm describe-instance-information --query "InstanceInformationList[*]"

    Verwenden Sie den folgenden Befehl, um weitere Details zu einem bestimmten Knoten anzuzeigen.

    aws ssm describe-instance-information --instance-information-filter-list key=InstanceIds,valueSet=instance-id

Schritt 2: Erstellen des Wartungsfensters

Erstellen Sie anhand der folgenden Schritte ein Wartungsfenster und geben die grundlegenden Optionen, wie z. B. Zeitplan und Dauer, an.

Erstellen eines Wartungsfensters (AWS CLI)
  1. Öffnen Sie die AWS CLI und führen Sie die folgenden Befehle aus, um ein Wartungsfenster zu erstellen, das wöchentlich am Sonntag um 02:00 Uhr in der pazifische Zeitzone der USA mit einer Stunde Ausfall ausgeführt wird.

    Linux & macOS
    aws ssm create-maintenance-window \ --name "My-First-Maintenance-Window" \ --schedule "cron(0 2 ? * SUN *)" \ --duration 2 \ --schedule-timezone "America/Los_Angeles" \ --cutoff 1 \ --no-allow-unassociated-targets
    Windows
    aws ssm create-maintenance-window ^ --name "My-First-Maintenance-Window" ^ --schedule "cron(0 2 ? * SUN *)" ^ --duration 2 ^ --schedule-timezone "America/Los_Angeles" ^ --cutoff 1 ^ --no-allow-unassociated-targets

    Weitere Informationen zum Erstellen von Cron-Ausdrücken für den schedule-Parameter finden Sie unter Referenz: Cron- und Rate-Ausdrücke für System Manager.

    Eine Beschreibung des Verhältnisses zwischen den verschiedenen zeitplanbezogenen Optionen für Wartungsfenster finden Sie unter Wartungsfenster-Optionen für Planung und aktive Zeiträume.

    Weitere Informationen zum Arbeiten mit der --schedule-Option finden Sie unter Referenz: Cron- und Rate-Ausdrücke für System Manager.

    Das System gibt unter anderem folgende Informationen zurück

    {
       "WindowId":"mw-0c50858d01EXAMPLE"
    }
  2. Führen Sie den folgenden Befehl aus, um dieses und alle anderen in Ihrem AWS-Konto erstellten Wartungsfenster in Ihrer aktuellen AWS-Region anzuzeigen.

    aws ssm describe-maintenance-windows

    Das System gibt unter anderem folgende Informationen zurück

    {
        "WindowIdentities": [
            {
                "Cutoff": 1,
                "Name": "My-First-Maintenance-Window",
                "NextExecutionTime": "2019-02-03T02:00-08:00",
                "Enabled": true,
                "WindowId": "mw-0c50858d01EXAMPLE",
                "Duration": 2
            }
        ]
    }

Schritt 3: Registrieren von Wartungsfensterzielen (AWS CLI)

Führen Sie die folgenden Schritte aus, um ein Ziel für das Wartungsfenster zu registrieren, das Sie in Schritt 2 erstellt haben. Durch die Registrierung eines Ziels geben Sie an, welche Knoten aktualisiert werden sollen.

So registrieren Sie Wartungsfensterziele (AWS CLI)
  1. Führen Sie den folgenden Befehl aus. Ersetzen Sie jeden Beispiel Platzhalter für Ressourcen mit Ihren eigenen Informationen.

    Linux & macOS
    aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" \ --resource-type "INSTANCE"
    Windows
    aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" ^ --resource-type "INSTANCE"

    Das System gibt unter anderem folgende Informationen zurück, einschließlich einer Wartungsfenster-Ziel-ID. Kopieren oder notieren Sie sich den WindowTargetId-Wert. Sie benötigen diese ID im nächsten Schritt, um eine Aufgabe für dieses Wartungsfenster zu registrieren.

    {
       "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
    }
    Alternative Befehle

    Verwenden Sie den folgenden Befehl, um mehrere verwaltete Knoten anzumelden.

    Linux & macOS
    aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE" \ --resource-type "INSTANCE"
    Windows
    aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE" ^ --resource-type "INSTANCE"

    Verwenden Sie den folgenden Befehl, um Knoten mithilfe von Tags anzumelden.

    Linux & macOS
    aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --targets "Key=tag:Environment,Values=Prod" "Key=tag:Role,Values=Web" \ --resource-type "INSTANCE"
    Windows
    aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --targets "Key=tag:Environment,Values=Prod" "Key=tag:Role,Values=Web" ^ --resource-type "INSTANCE"
  2. Führen Sie den folgenden Befehl aus, um die Ziele für ein Wartungsfenster anzuzeigen.

    aws ssm describe-maintenance-window-targets --window-id "mw-0c50858d01EXAMPLE"

    Das System gibt unter anderem folgende Informationen zurück

    {
        "Targets": [
            {
                "ResourceType": "INSTANCE",
                "WindowId": "mw-0c50858d01EXAMPLE",
                "Targets": [
                    {
                        "Values": [
                            "i-02573cafcfEXAMPLE"
                        ],
                        "Key": "InstanceIds"
                    }
                ],
                "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            },
            {
                "ResourceType": "INSTANCE",
                "WindowId": "mw-0c50858d01EXAMPLE",
                "Targets": [
                    {
                        "Values": [
                            "Prod"
                        ],
                        "Key": "tag:Environment"
                    },
                    {
                        "Values": [
                            "Web"
                        ],
                        "Key": "tag:Role"
                    }
                ],
                "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            }
        ]
    }

Schritt 4: Registrieren einer Run Command-Aufgabe für das Wartungsfenster zum Aktualisieren von SSM Agent

Gehen Sie wie folgt vor, um eine Run Command-Aufgabe für das Wartungsfenster zu registrieren, das Sie in Schritt 2 erstellt haben. Die Run Command-Aufgabe aktualisiert den SSM Agent auf den registrierten Zielen.

So registrieren Sie eine Run Command-Aufgabe für ein Wartungsfenster zum Aktualisieren von SSM Agent (AWS CLI)
  1. Führen Sie den folgenden Befehl aus, um eine Run Command-Aufgabe mithilfe des WindowTargetId-Werts aus Schritt 3 für das Wartungsfenster zu registrieren. Ersetzen Sie jeden Beispiel Platzhalter für Ressourcen mit Ihren eigenen Informationen. Die Aufgabe aktualisiert den SSM Agent mithilfe des AWS-UpdateSSMAgent-Dokuments.

    Linux & macOS
    aws ssm register-task-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --task-arn "AWS-UpdateSSMAgent" \ --name "UpdateSSMAgent" \ --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \ --service-role-arn "arn:aws:iam:account-id:role/MW-Role" \ --task-type "RUN_COMMAND" \ --max-concurrency 1 --max-errors 1 --priority 10
    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --task-arn "AWS-UpdateSSMAgent" ^ --name "UpdateSSMAgent" ^ --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ^ --service-role-arn "arn:aws:iam:account-id:role/MW-Role" ^ --task-type "RUN_COMMAND" ^ --max-concurrency 1 --max-errors 1 --priority 10
    Anmerkung

    Wenn die Ziele, die Sie im vorherigen Schritt registriert haben, unter Windows Server 2012 R2 oder früher ausgeführt werden, müssen Sie das AWS-UpdateEC2Config-Dokument verwenden.

    Das System gibt unter anderem folgende Informationen zurück

    {
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
    }
  2. Führen Sie den folgenden Befehl aus, um alle registrierten Aufgaben für ein Wartungsfenster aufzuführen.

    aws ssm describe-maintenance-window-tasks --window-id "mw-0c50858d01EXAMPLE"

    Das System gibt unter anderem folgende Informationen zurück

    {
        "Tasks": [
            {
                "ServiceRoleArn": "arn:aws:iam::111122223333:role/MW-Role",
                "MaxErrors": "1",
                "TaskArn": "AWS-UpdateSSMAgent",
                "MaxConcurrency": "1",
                "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
                "TaskParameters": {},
                "Priority": 10,
                "WindowId": "mw-0c50858d01EXAMPLE",
                "Type": "RUN_COMMAND",
                "Targets": [
                    {
                        "Values": [
                            "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
                        ],
                        "Key": "WindowTargetIds"
                    }
                ],
                "Name": "UpdateSSMAgent"
            }
        ]
    }