Planen von Automatisierungen mit Wartungsfenstern - 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.

Planen von Automatisierungen mit Wartungsfenstern

Sie starten eine Automatisierung, indem Sie ein Runbook als registrierte Aufgabe für ein Wartungsfenster konfigurieren. Durch die Registrierung des Runbooks als registrierte Aufgabe führt ein Wartungsfenster die Automatisierung während des geplanten Wartungszeitraums aus.

Angenommen, Sie erstellen beispielsweise ein Runbook mit dem Namen CreateAMI, welches eine Amazon Machine Image (AMI) von Instances erstellt, welche als Ziele für das Wartungsfenster registriert sind. Um ein CreateAMI-Runbook (und die entsprechende Automatisierung) als eine registrierte Aufgabe eines Wartungsfensters angeben zu können, müssen Sie zunächst ein Wartungsfenster erstellen und Ziele registrieren. Im Anschluss daran geben Sie mit den folgenden Schritten das Dokument CreateAMI als registrierte Aufgabe innerhalb des Wartungsfensters an. Wenn das Wartungsfenster während des geplanten Zeitraums gestartet wird, führt das System die Automatisierung aus und erstellt ein der AMI registrierten Ziele.

Weitere Informationen zum Erstellen eines Automation-Runbooks finden Sie unter Erstellen Ihrer eigenen Runbooks. Automatisierung ist eine Fähigkeit von AWS Systems Manager.

Gehen Sie wie folgt vor, um eine Automatisierung mithilfe der AWS Systems Manager Konsole AWS Command Line Interface (AWS CLI) oder als registrierte Aufgabe für ein Wartungsfenster zu konfigurieren AWS Tools for Windows PowerShell.

Registrieren einer Automatisierungsaufgabe für ein Wartungsfenster (Konsole)

Im folgenden Verfahren wird beschrieben, wie Sie mithilfe der Systems Manager-Konsole eine Automatisierung als registrierte Aufgabe für ein Wartungsfenster konfigurieren.

Bevor Sie beginnen

Bevor Sie die folgenden Schritte ausführen, müssen Sie ein Wartungsfenster erstellen und mindestens ein Ziel registrieren. Weitere Informationen finden Sie in den folgenden Verfahren:

So konfigurieren Sie einen Automatisierung als registrierte Aufgabe für ein Wartungsfenster
  1. Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im linken Navigationsbereich Maintenance Windows und dann das Wartungsfenster aus, für das Sie eine Automation-Aufgabe registrieren möchten.

  3. Wählen Sie Aktionen. Wählen Sie dann Register Automation task (Automation-Aufgabe registrieren) aus, um die gewünschte Automatisierung mithilfe eines Runbooks auf den Zielen auszuführen.

  4. Geben Sie unter Name einen Namen für die Aufgabe ein.

  5. Geben Sie im Feld Description (Beschreibung) eine Beschreibung ein.

  6. Wählen Sie für Document (Dokument) das Runbook aus, das die auszuführende Aufgabe definiert.

  7. Wählen Sie für Document version (Dokumentversion) die zu verwendende Runbook-Version aus.

  8. Wählen Sie für Task priority (Aufgabenpriorität) eine Priorität für diese Aufgabe aus. 1 ist die höchste Priorität. Aufgaben in einem Wartungsfenster werden in Reihenfolge der Priorität geplant. Dabei werden Aufgaben mit derselben Priorität parallel ausgeführt.

  9. Geben Sie im Abschnitt Targets (Ziele) die Ziele an, auf denen Sie diesen Automation-Workflow ausführen möchten, wenn das von Ihnen gewählte Runbook eines ist, das Aufgaben auf Ressourcen aufführt. Hierzu können Sie entweder Tags angeben oder die Instances manuell auswählen.

    Anmerkung

    Wenn Sie die Ressourcen über Eingabeparameter anstelle von Zielen übergeben möchten, müssen Sie kein Wartungsfensterziel angeben.

    In vielen Fällen müssen Sie kein Ziel für eine Automation-Aufgabe explizit angeben. Angenommen, Sie erstellen beispielsweise eine Automation-Aufgabe, um eine Amazon Machine Image (AMI) für Linux mit dem AWS-UpdateLinuxAmi-Runbook zu aktualisieren. Wenn die Aufgabe ausgeführt wird, wird AMI mit den neuesten verfügbaren Linux-Verteilungspaketen und Amazon-Software aktualisiert. Neue Instances, die aus der AMI erstellt wurden, haben diese Updates bereits installiert. Da die ID des AMI in den Eingabeparametern für das Runbook angegeben ist, muss in der Wartungsfenster-Aufgabe kein Ziel erneut angegeben werden.

    Informationen zu Wartungsfenster-Tasks, für die keine Ziele erforderlich sind, finden Sie unter Wartungsfenster-Tasks ohne Ziele registrieren.

  10. (Optional) Für Rate control (Ratenregelung):

    Anmerkung

    Wenn die ausgeführte Aufgabe keine Ziele angibt, müssen Sie keine Ratensteuerungen angeben.

    • Geben Sie für Concurrency (Gleichzeitigkeit) entweder eine Anzahl oder einen Prozentsatz der Ziele ein, auf denen die Automatisierung gleichzeitig ausgeführt wird.

      Wenn Sie Ziele anhand von Tag-Schlüssel-Wert-Paaren ausgewählt haben und nicht sicher sind, von wie vielen Zielen die ausgewählten Tags verwendet werden, sollten Sie die Anzahl der Automatisierungen, die gleichzeitig ausgeführt werden können, durch einen Prozentsatz begrenzen.

      Wenn das Wartungsfenster ausgeführt wird, wird pro Ziel eine neue Automatisierung eingeleitet. Es gilt ein Limit von 100 gleichzeitigen Automationen pro AWS-Konto. Wenn Sie einen Gleichzeitigkeitswert über 100 angeben, werden alle gleichzeitigen Automatisierungen über die 100. hinaus automatisch zur Automatisierungswarteschlange hinzugefügt. Informationen finden Sie unter Systems Manager Service Quotas im Allgemeine Amazon Web Services-Referenz.

    • Geben Sie unter Error threshold (Fehlerschwellenwert) an, wann die Ausführung der Automatisierung auf anderen Zielen beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Zielen ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, führt Systems Manager keine Automatisierungen mehr aus, wenn der vierte Fehler empfangen wird. Von Zielen, auf denen die Automatisierung noch ausgeführt wird, werden unter Umständen ebenfalls Fehler gesendet.

  11. Geben Sie im Abschnitt Input Parameters die Parameter für das Runbook an. Bei Runbooks werden die Werte vom System automatisch gefüllt. Sie können diese Werte beibehalten oder ersetzen.

    Wichtig

    Für Runbooks können Sie optional eine Automatisierungsübernahmerolle angeben. Wenn Sie keine Rolle für diesen Parameter angeben, übernimmt die Automatisierung die Wartungsfenster-Servicerolle, die Sie in Schritt 11 gewählt haben. Daher müssen Sie sicherstellen, dass die von Ihnen gewählte Service-Rolle für das Wartungsfenster über die entsprechenden Berechtigungen AWS Identity and Access Management (IAM) verfügt, um die im Runbook definierten Aktionen auszuführen.

    Beispielsweise verfügt die serviceverknüpfte Rolle für Systems Manager nicht über die IAM Berechtigungec2:CreateSnapshot, die für die Verwendung des AWS-CopySnapshot Runbooks erforderlich ist. Hier müssen Sie entweder eine benutzerdefinierte Wartungsfenster-Servicerolle verwenden oder eine Automation-Übernahmerolle angeben, die über ec2:CreateSnapshot-Berechtigungen verfügt. Weitere Informationen finden Sie unter Einrichten der Automatisierung.

  12. Wählen Sie im Bereich IAMServicerolle eine Rolle aus, um Systems Manager die Berechtigungen zum Starten der Automatisierung zu gewähren.

    Informationen zum Erstellen einer Servicerolle für Wartungsfenster-Aufgaben finden Sie unter Einrichten von Maintenance Windows.

  13. Wählen Sie Register Automation task (Automation-Aufgabe registrieren) aus.

Registrieren einer Automation-Aufgabe für ein Wartungsfenster (Befehlszeile)

Im folgenden Verfahren wird beschrieben, wie Sie die AWS CLI (unter Linux oder Windows) verwenden oder AWS Tools for PowerShell eine Automatisierung als registrierte Aufgabe für ein Wartungsfenster konfigurieren.

Bevor Sie beginnen

Bevor Sie die folgenden Schritte ausführen, müssen Sie ein Wartungsfenster erstellen und mindestens ein Ziel registrieren. Weitere Informationen finden Sie in den folgenden Verfahren:

So konfigurieren Sie einen Automatisierung als registrierte Aufgabe für ein Wartungsfenster
  1. Installieren und konfigurieren Sie das AWS CLI oder das AWS Tools for PowerShell, falls Sie das noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version der AWS CLI und Installieren des AWS Tools for PowerShell.

  2. Erstellen Sie einen Befehl, um eine Automatisierung als registrierte Aufgabe für ein Wartungsfenster zu konfigurieren. Ersetze jedes example resource placeholder mit Ihren eigenen Informationen.

    Linux & macOS
    aws ssm register-task-with-maintenance-window \ --window-id window ID \ --name task name \ --task-arn runbook name \ --targets Key=targets,Values=value \ --service-role-arn IAM role arn \ --task-type AUTOMATION \ --task-invocation-parameters task parameters \ --priority task priority \ --max-concurrency 10% \ --max-errors 5
    Anmerkung

    Wenn Sie eine Automatisierung mithilfe von als registrierte Aufgabe konfigurieren AWS CLI, verwenden Sie den Parameter, um --Task-Invocation-Parameters Parameter anzugeben, die an eine Aufgabe übergeben werden, wenn sie ausgeführt wird. Verwenden Sie nicht den Parameter --Task-Parameters. Der Parameter --Task-Parameters ist veraltet.

    Bei Wartungsfensteraufgaben ohne festgelegtes Ziel können Sie keine Werte für --max-errors und --max-concurrency bereitstellen. Stattdessen fügt das System den Platzhalterwert 1 ein, der in der Antwort auf Befehle wie describe-maintenance-window-tasks und get-maintenance-window-task gemeldet wird. Diese Werte wirken sich nicht auf die Ausführung Ihrer Aufgabe aus und können ignoriert werden.

    Informationen zu Wartungsfenster-Tasks, für die keine Ziele erforderlich sind, finden Sie unter Wartungsfenster-Tasks ohne Ziele registrieren.

    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id window ID ^ --name task name ^ --task-arn runbook name ^ --targets Key=targets,Values=value ^ --service-role-arn IAM role arn ^ --task-type AUTOMATION ^ --task-invocation-parameters task parameters ^ --priority task priority ^ --max-concurrency 10% ^ --max-errors 5
    Anmerkung

    Wenn Sie eine Automatisierung mithilfe von als registrierte Aufgabe konfigurieren AWS CLI, verwenden Sie den Parameter, um --task-invocation-parameters Parameter anzugeben, die an eine Aufgabe übergeben werden, wenn sie ausgeführt wird. Verwenden Sie nicht den Parameter --task-parameters. Der Parameter --task-parameters ist veraltet.

    Bei Wartungsfensteraufgaben ohne festgelegtes Ziel können Sie keine Werte für --max-errors und --max-concurrency bereitstellen. Stattdessen fügt das System den Platzhalterwert 1 ein, der in der Antwort auf Befehle wie describe-maintenance-window-tasks und get-maintenance-window-task gemeldet wird. Diese Werte wirken sich nicht auf die Ausführung Ihrer Aufgabe aus und können ignoriert werden.

    Informationen zu Wartungsfenster-Tasks, für die keine Ziele erforderlich sind, finden Sie unter Wartungsfenster-Tasks ohne Ziele registrieren.

    PowerShell
    Register-SSMTaskWithMaintenanceWindow ` -WindowId window ID ` -Name "task name" ` -TaskArn "runbook name" ` -Target @{ Key="targets";Values="value" } ` -ServiceRoleArn "IAM role arn" ` -TaskType "AUTOMATION" ` -Automation_Parameter @{ "task parameter"="task parameter value"} ` -Priority task priority ` -MaxConcurrency 10% ` -MaxError 5
    Anmerkung

    Wenn Sie eine Automatisierung mithilfe von als registrierte Aufgabe konfigurieren AWS Tools for PowerShell, verwenden Sie den Parameter, um -Automation_Parameter Parameter anzugeben, die an eine Aufgabe übergeben werden, wenn die Aufgabe ausgeführt wird. Verwenden Sie nicht den Parameter -TaskParameters. Der Parameter -TaskParameters ist veraltet.

    Bei Wartungsfensteraufgaben ohne festgelegtes Ziel können Sie keine Werte für -MaxError und -MaxConcurrency bereitstellen. Stattdessen fügt das System den Platzhalterwert 1 ein, der in der Antwort auf Befehle wie Get-SSMMaintenanceWindowTaskList und Get-SSMMaintenanceWindowTask gemeldet wird. Diese Werte wirken sich nicht auf die Ausführung Ihrer Aufgabe aus und können ignoriert werden.

    Informationen zu Wartungsfenster-Tasks, für die keine Ziele erforderlich sind, finden Sie unter Wartungsfenster-Tasks ohne Ziele registrieren.

    Im folgenden Beispiel wird eine Automatisierung als registrierte Aufgabe für ein Wartungsfenster mit Priorität 1 konfiguriert. Es zeigt auch, dass die --targets, --max-errors und --max-concurrency- Optionen für eine ziellose Wartungsfensteraufgabe weggelassen werden. Die Automatisierung verwendet das AWS-StartEC2Instance Runbook und die angegebene Automationsübernahmerolle, um EC2 Instanzen zu starten, die als Ziele für das Wartungsfenster registriert sind. Das Wartungsfenster führt die Automatisierung gleichzeitig auf maximal 5 Instances zu einem bestimmten Zeitpunkt aus. Die Ausführung dieser registrierten Aufgabe wird außerdem für ein bestimmtes Intervall auf weiteren Instances gestoppt, wenn die Fehlerzählung 1 überschreitet.

    Linux & macOS
    aws ssm register-task-with-maintenance-window \ --window-id mw-0c50858d01EXAMPLE \ --name StartEC2Instances \ --task-arn AWS-StartEC2Instance \ --service-role-arn arn:aws:iam::123456789012:role/MaintenanceWindowRole \ --task-type AUTOMATION \ --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{TARGET_ID}}\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationAssumeRole\"]}}}" \ --priority 1
    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id mw-0c50858d01EXAMPLE ^ --name StartEC2Instances ^ --task-arn AWS-StartEC2Instance ^ --service-role-arn arn:aws:iam::123456789012:role/MaintenanceWindowRole ^ --task-type AUTOMATION ^ --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{TARGET_ID}}\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationAssumeRole\"]}}}" ^ --priority 1
    PowerShell
    Register-SSMTaskWithMaintenanceWindow ` -WindowId mw-0c50858d01EXAMPLE ` -Name "StartEC2" ` -TaskArn "AWS-StartEC2Instance" ` -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowRole" ` -TaskType "AUTOMATION" ` -Automation_Parameter @{ "InstanceId"="{{TARGET_ID}}";"AutomationAssumeRole"="arn:aws:iam::123456789012:role/AutomationAssumeRole" } ` -Priority 1

    Der Befehl gibt Details für die neue registrierte Aufgabe zurück, die den folgenden ähneln.

    Linux & macOS
    {
    "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
    }
    Windows
    {
    "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
    }
    PowerShell
    4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
  3. Um die registrierte Aufgabe anzuzeigen, führen Sie den folgenden Befehl aus. Ersetzen maintenance windows ID mit Ihren eigenen Informationen.

    Linux & macOS
    aws ssm describe-maintenance-window-tasks \ --window-id maintenance window ID
    Windows
    aws ssm describe-maintenance-window-tasks ^ --window-id maintenance window ID
    PowerShell
    Get-SSMMaintenanceWindowTaskList ` -WindowId maintenance window ID

    Das System gibt unter anderem folgende Informationen zurück

    Linux & macOS
    {
    "Tasks": [
        {
            "ServiceRoleArn": "arn:aws:iam::123456789012:role/MaintenanceWindowRole",
            "MaxErrors": "1",
            "TaskArn": "AWS-StartEC2Instance",
            "MaxConcurrency": "1",
            "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
            "TaskParameters": {},
            "Priority": 1,
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Type": "AUTOMATION",
            "Targets": [
            ],
            "Name": "StartEC2"
        }
    ]
    }
    Windows
    {
    "Tasks": [
        {
            "ServiceRoleArn": "arn:aws:iam::123456789012:role/MaintenanceWindowRole",
            "MaxErrors": "1",
            "TaskArn": "AWS-StartEC2Instance",
            "MaxConcurrency": "1",
            "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
            "TaskParameters": {},
            "Priority": 1,
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Type": "AUTOMATION",
            "Targets": [
            ],
            "Name": "StartEC2"
        }
    ]
    }
    PowerShell
    Description    : 
    LoggingInfo    : 
    MaxConcurrency : 5
    MaxErrors      : 1
    Name           : StartEC2
    Priority       : 1
    ServiceRoleArn : arn:aws:iam::123456789012:role/MaintenanceWindowRole
    Targets        : {}
    TaskArn        : AWS-StartEC2Instance
    TaskParameters : {}
    Type           : AUTOMATION
    WindowId       : mw-0c50858d01EXAMPLE
    WindowTaskId   : 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE