Führen Sie automatisierte Abläufe in großem Umfang aus - 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.

Führen Sie automatisierte Abläufe in großem Umfang aus

Mit AWS Systems Manager Automation können Sie mithilfe von Zielen Automatisierungen auf einer Flotte von AWS Ressourcen ausführen. Außerdem können Sie die Bereitstellung der Automatisierung innerhalb Ihrer Flotte steuern, indem Sie einen Gleichzeitigkeitswert und einen Fehlergrenzwert angeben. Die Gleichzeitigkeits- und die Fehlergrenzwertfeature werden gemeinsam als Ratensteuerungen bezeichnet. Der Gleichzeitigkeitswert legt fest, wie viele Ressourcen die Automatisierung gleichzeitig ausführen kann. Automation bietet außerdem einen adaptiven Nebenläufigkeitsmodus, den Sie aktivieren können. Die adaptive Nebenläufigkeit skaliert Ihr Automatisierungskontingent automatisch von 100 gleichzeitig ausgeführten Automatisierungen auf bis zu 500. Ein Fehlergrenzwert legt fest, wie viele Automatisierungsausführungen fehlschlagen dürfen, bevor Systems Manager damit aufhört, die Automatisierung an andere Ressourcen zu senden.

Weitere Informationen über Gleichzeitigkeits- und Fehlergrenzwerte finden Sie unter Steuern von Automatisierungen im großen Maßstab. Weitere Informationen über Ziele finden Sie unter Zuordnen von Zielen für eine Automatisierung.

Die folgenden Verfahren veranschaulichen, wie Sie die adaptive Nebenläufigkeit aktivieren und eine Automatisierung mit Zielen und Ratensteuerelementen über die Systems-Manager-Konsole und AWS Command Line Interface (AWS CLI) ausführen.

Ausführen einer Automatisierung mit Zielen und Ratensteuerungen (Konsole)

Im folgenden Verfahren wird beschrieben, wie Sie mit der Systems Manager-Konsole eine Automatisierung mit Ziel- und Ratensteuerungen ausführen.

So führen Sie eine Automatisierung mit Zielen und Ratensteuerungen aus
  1. Öffnen Sie die AWS Systems Manager Konsole unter. https://console.aws.amazon.com/systems-manager/

  2. Wählen Sie im Navigationsbereich Automation (Automatisierung) und Execute automation (Automatisierung ausführen) aus.

  3. Wählen Sie in der Liste Automation-Dokument ein Runbook. Wählen Sie im Bereich Dokumentkategorien eine oder mehrere Optionen aus, um SSM Dokumente nach ihrem Zweck zu filtern. Um ein Runbook anzuzeigen, das Sie besitzen, wählen Sie die Im Besitz von mir-Registerkarte. Um ein Runbook anzuzeigen, das für Ihr Konto freigegeben ist, wählen Sie die Mit mir geteilt-Registerkarte. Um alle Runbooks anzuzeigen, wählen Sie die Alle Dokumente-Registerkarte.

    Anmerkung

    Sie können Informationen zu einem Runbook einsehen, indem Sie den Runbook-Namen auswählen.

  4. Überprüfen Sie im Abschnitt Document details (Dokument-Details), ob Document version (Dokumentversion) auf die Version gesetzt ist, die Sie ausführen möchten. Das System bietet die folgenden Versionsoptionen:

    • Standardversion zur Laufzeit – Wählen Sie diese Option aus, wenn das Automation-Runbook regelmäßig aktualisiert wird und eine neue Standardversion zugewiesen ist.

    • Letzte Version zur Laufzeit – Wählen Sie diese Option aus, wenn das Automation-Runbook regelmäßig aktualisiert wird, und Sie die Version auszuführen möchten, die zuletzt aktualisiert wurde.

    • 1 (Standard) – Wählen Sie diese Option zur Ausführung der ersten Version des Dokuments, welches der Standard ist.

  5. Wählen Sie Weiter.

  6. Wählen Sie im Abschnitt Execution Mode (Ausführungsmodus) die Option Rate Control (Ratensteuerung) aus. Sie müssen diesen Modus oder die Option Multi-account and Region (Mehrere Konten und Regionen) verwenden, wenn Sie Ziele und Ratensteuerungen nutzen möchten.

  7. Wählen Sie im Abschnitt Ziele aus, wie Sie die AWS Ressourcen gezielt einsetzen möchten, auf die Sie die Automatisierung ausführen möchten. Diese Optionen sind erforderlich.

    1. Wählen Sie in der Liste Parameter (Parameter) einen Parameter aus. Die Elemente in der Liste Parameter richten sich nach den Parametern in dem Automation-Runbook, das Sie zu Beginn dieses Verfahrens ausgewählt haben. Durch Auswahl eines Parameters legen Sie den Typ der Ressource fest, für die der Automation-Workflow ausgeführt wird.

    2. Wählen Sie in der Liste Targets (Ziele)aus, wie Sie Ressourcen als Ziele verwenden möchten.

      1. Wenn Sie die Zielressourcen mithilfe von Parameterwerten ausgewählt haben, geben Sie den Parameterwert für den gewählten Parameter im Feld Eingabeparameter eingeben ein.

      2. Wenn Sie Ressourcen mithilfe von als Ziel verwenden möchten AWS Resource Groups, wählen Sie den Namen der Gruppe aus der Liste der Ressourcengruppen aus.

      3. Wenn Sie die Zielressourcen mithilfe von Tags ausgewählt haben, geben Sie den Tag-Schlüssel und (optional) den Tag-Wert in die entsprechenden Felder ein. Wählen Sie Hinzufügen aus.

      4. Wenn Sie ein Automatisierungs-Runbook auf allen Instanzen im aktuellen AWS-Konto und ausführen möchten AWS-Region, wählen Sie Alle Instanzen aus.

  8. Geben Sie im Abschnitt Input Parameters (Eingabeparameter) die erforderlichen Eingaben an. Optional können Sie eine IAM Servicerolle aus der AutomationAssumeRoleListe auswählen.

    Anmerkung

    Möglicherweise müssen Sie einige der Optionen im Abschnitt Input parameters (Eingabeparameter) nicht auswählen. Dies liegt daran, dass Sie Ressourcen mithilfe von Tags oder einer Ressourcengruppe als Ziele ausgewählt haben. Wenn Sie beispielsweise das AWS-RestartEC2Instance Runbook ausgewählt haben, müssen Sie IDs im Abschnitt Eingabeparameter keine Instanz angeben oder auswählen. Die Automation-Ausführung sucht die Instances für den Neustart mit den von Ihnen angegebenen Tags oder Ressourcengruppen.

  9. Verwenden Sie die Optionen im Abschnitt Tarifsteuerung, um die Anzahl der AWS Ressourcen zu beschränken, die die Automatisierung innerhalb der einzelnen Konto-Region-Paare ausführen können.

    Wählen Sie im Abschnitt Concurrency (Gleichzeitigkeit) eine Option aus:

    • Wählen Sie targets (Ziele) aus, um eine absolute Anzahl von Zielen einzugeben, die den Automation-Workflow gleichzeitig ausführen können.

    • Wählen Sie percentage (Prozentsatz) aus, um einen Prozentsatz der Ziele anzugeben, die den Automation-Workflow gleichzeitig ausführen können.

  10. Wählen Sie im Abschnitt Error threshold (Fehlerschwellenwert) eine Option aus:

    • Wählen Sie errors (Fehler), um eine absolute Anzahl von zulässigen Fehlern anzugeben, bevor Automation damit aufhört, den Workflow an andere Ressourcen zu senden.

    • Wählen Sie percentage (Prozentsatz) aus, um einen Prozentsatz von zulässigen Fehlern anzugeben, bevor Automation damit aufhört, den Workflow an andere Ressourcen zu senden.

  11. (Optional) Wählen Sie einen CloudWatch Alarm aus, der zur Überwachung auf Ihre Automatisierung angewendet werden soll. Um Ihrer Automatisierung einen CloudWatch Alarm hinzuzufügen, muss der IAM Principal, der die Automatisierung startet, über die Genehmigung für die iam:createServiceLinkedRole Aktion verfügen. Weitere Informationen zu CloudWatch Alarmen finden Sie unter CloudWatch Amazon-Alarme verwenden. Beachten Sie, dass die Automatisierung gestoppt wird, wenn Ihr Alarm aktiviert wird. Wenn Sie diese Option verwenden AWS CloudTrail, wird Ihnen der API Anruf in Ihrer Spur angezeigt.

  12. Wählen Sie Execute (Ausführen).

Um Automatisierungen anzuzeigen, die von der Automatisierung der Ratensteuerung gestartet wurden, wählen Sie im Navigationsbereich Automation (Automatisierung) und wählen Sie dann Anzeigen von untergeordneten Automatisierungen.

Ausführen einer Automatisierung mit Zielen und Ratensteuerungen (Befehlszeile)

Das folgende Verfahren beschreibt, wie Sie die AWS CLI (unter Linux oder Windows) verwenden oder AWS Tools for PowerShell eine Automatisierung mit Zielen und Ratensteuerungen ausführen.

So führen Sie eine Automatisierung mit Zielen und Ratensteuerungen aus
  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. Nutzen Sie den folgenden Befehl, um eine Liste der Dokumente anzuzeigen.

    Linux & macOS
    aws ssm list-documents
    Windows
    aws ssm list-documents
    PowerShell
    Get-SSMDocumentList

    Beachten Sie den Namen des Runbooks, das Sie verwenden möchten.

  3. Führen Sie den folgenden Befehl aus, um Details des Runbooks einsehen zu können: Ersetzen Sie das runbook name durch den Namen des Runbooks, dessen Details Sie anzeigen möchten. Notieren Sie auch einen Parameternamen (z. B. InstanceId), den Sie für die Option --target-parameter-name verwenden möchten. Dieser Parameter bestimmt den Typ der Ressource, für die die Automatisierung ausgeführt wird.

    Linux & macOS
    aws ssm describe-document \ --name runbook name
    Windows
    aws ssm describe-document ^ --name runbook name
    PowerShell
    Get-SSMDocumentDescription ` -Name runbook name
  4. Erstellen Sie einen Befehl, der die Ziel- und Ratensteuerungsoptionen verwendet, die Sie ausführen möchten. Ersetze jedes example resource placeholder mit Ihren eigenen Informationen.

    Ausrichtung mithilfe von Tags

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets Key=tag:key name,Values=value \ --target-parameter-name parameter name \ --parameters "input parameter name=input parameter value,input parameter 2 name=input parameter 2 value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=tag:key name,Values=value ^ --target-parameter-name parameter name ^ --parameters "input parameter name=input parameter value,input parameter 2 name=input parameter 2 value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "tag:key name" $Targets.Values = "value" Start-SSMAutomationExecution ` DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "parameter name" ` -Parameter @{"input parameter name"="input parameter value";"input parameter 2 name"="input parameter 2 value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Ausrichtung mithilfe von Parameterwerten

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets Key=ParameterValues,Values=value,value 2,value 3 \ --target-parameter-name parameter name \ --parameters "input parameter name=input parameter value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=ParameterValues,Values=value,value 2,value 3 ^ --target-parameter-name parameter name ^ --parameters "input parameter name=input parameter value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "ParameterValues" $Targets.Values = "value","value 2","value 3" Start-SSMAutomationExecution ` -DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "parameter name" ` -Parameter @{"input parameter name"="input parameter value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Targeting mit AWS Resource Groups

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets Key=ResourceGroup,Values=Resource group nname \ --target-parameter-name parameter name \ --parameters "input parameter name=input parameter value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=ResourceGroup,Values=Resource group name ^ --target-parameter-name parameter name ^ --parameters "input parameter name=input parameter value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "ResourceGroup" $Targets.Values = "Resource group name" Start-SSMAutomationExecution ` -DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "parameter name" ` -Parameter @{"input parameter name"="input parameter value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Ausrichtung auf alle EC2 Amazon-Instances in der aktuellen AWS-Konto und AWS-Region

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets "Key=AWS::EC2::Instance,Values=*" \ --target-parameter-name instanceId \ --parameters "input parameter name=input parameter value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=AWS::EC2::Instance,Values=* ^ --target-parameter-name instanceId ^ --parameters "input parameter name=input parameter value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "AWS::EC2::Instance" $Targets.Values = "*" Start-SSMAutomationExecution ` -DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "instanceId" ` -Parameter @{"input parameter name"="input parameter value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Der Befehl gibt eine Ausführungs-ID zurück. Kopieren Sie diese ID in die Zwischenablage. Sie können diese ID zum Anzeigen des Status der Automatisierung verwenden.

    Linux & macOS
    {
        "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE"
    }
    Windows
    {
        "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE"
    }
    PowerShell
    a4a3c0e9-7efd-462a-8594-01234EXAMPLE
  5. Führen Sie den folgenden Befehl aus, um die Automatisierung anzuzeigen. Ersetze jede automation execution ID mit Ihren eigenen Informationen.

    Linux & macOS
    aws ssm describe-automation-executions \ --filter Key=ExecutionId,Values=automation execution ID
    Windows
    aws ssm describe-automation-executions ^ --filter Key=ExecutionId,Values=automation execution ID
    PowerShell
    Get-SSMAutomationExecutionList | ` Where {$_.AutomationExecutionId -eq "automation execution ID"}
  6. Führen Sie den folgenden Befehl aus, um Details über den Automatisierungsprozess anzuzeigen. Ersetze jedes automation execution ID mit Ihren eigenen Informationen.

    Linux & macOS
    aws ssm get-automation-execution \ --automation-execution-id automation execution ID
    Windows
    aws ssm get-automation-execution ^ --automation-execution-id automation execution ID
    PowerShell
    Get-SSMAutomationExecution ` -AutomationExecutionId automation execution ID

    Das System gibt unter anderem folgende Informationen zurück

    Linux & macOS
    {
        "AutomationExecution": {
            "StepExecutionsTruncated": false,
            "AutomationExecutionStatus": "Success",
            "MaxConcurrency": "1",
            "Parameters": {},
            "MaxErrors": "1",
            "Outputs": {},
            "DocumentName": "AWS-StopEC2Instance",
            "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE",
            "ResolvedTargets": {
                "ParameterValues": [
                    "i-02573cafcfEXAMPLE"
                ],
                "Truncated": false
            },
            "ExecutionEndTime": 1564681619.915,
            "Targets": [
                {
                    "Values": [
                        "DEV"
                    ],
                    "Key": "tag:ENV"
                }
            ],
            "DocumentVersion": "1",
            "ExecutionStartTime": 1564681576.09,
            "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
            "StepExecutions": [
                {
                    "Inputs": {
                        "InstanceId": "i-02573cafcfEXAMPLE"
                    },
                    "Outputs": {},
                    "StepName": "i-02573cafcfEXAMPLE",
                    "ExecutionEndTime": 1564681619.093,
                    "StepExecutionId": "86c7b811-3896-4b78-b897-01234EXAMPLE",
                    "ExecutionStartTime": 1564681576.836,
                    "Action": "aws:executeAutomation",
                    "StepStatus": "Success"
                }
            ],
            "TargetParameterName": "InstanceId",
            "Mode": "Auto"
        }
    }
    Windows
    {
        "AutomationExecution": {
            "StepExecutionsTruncated": false,
            "AutomationExecutionStatus": "Success",
            "MaxConcurrency": "1",
            "Parameters": {},
            "MaxErrors": "1",
            "Outputs": {},
            "DocumentName": "AWS-StopEC2Instance",
            "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE",
            "ResolvedTargets": {
                "ParameterValues": [
                    "i-02573cafcfEXAMPLE"
                ],
                "Truncated": false
            },
            "ExecutionEndTime": 1564681619.915,
            "Targets": [
                {
                    "Values": [
                        "DEV"
                    ],
                    "Key": "tag:ENV"
                }
            ],
            "DocumentVersion": "1",
            "ExecutionStartTime": 1564681576.09,
            "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
            "StepExecutions": [
                {
                    "Inputs": {
                        "InstanceId": "i-02573cafcfEXAMPLE"
                    },
                    "Outputs": {},
                    "StepName": "i-02573cafcfEXAMPLE",
                    "ExecutionEndTime": 1564681619.093,
                    "StepExecutionId": "86c7b811-3896-4b78-b897-01234EXAMPLE",
                    "ExecutionStartTime": 1564681576.836,
                    "Action": "aws:executeAutomation",
                    "StepStatus": "Success"
                }
            ],
            "TargetParameterName": "InstanceId",
            "Mode": "Auto"
        }
    }
    PowerShell
    AutomationExecutionId       : a4a3c0e9-7efd-462a-8594-01234EXAMPLE
    AutomationExecutionStatus   : Success
    CurrentAction               : 
    CurrentStepName             : 
    DocumentName                : AWS-StopEC2Instance
    DocumentVersion             : 1
    ExecutedBy                  : arn:aws:sts::123456789012:assumed-role/Administrator/Admin
    ExecutionEndTime            : 8/1/2019 5:46:59 PM
    ExecutionStartTime          : 8/1/2019 5:46:16 PM
    FailureMessage              : 
    MaxConcurrency              : 1
    MaxErrors                   : 1
    Mode                        : Auto
    Outputs                     : {}
    Parameters                  : {}
    ParentAutomationExecutionId : 
    ProgressCounters            : 
    ResolvedTargets             : Amazon.SimpleSystemsManagement.Model.ResolvedTargets
    StepExecutions              : {i-02573cafcfEXAMPLE}
    StepExecutionsTruncated     : False
    Target                      : 
    TargetLocations             : {}
    TargetMaps                  : {}
    TargetParameterName         : InstanceId
    Targets                     : {tag:Name}
    Anmerkung

    Sie können auch den Status der Automatisierung in der Konsole überwachen. Wählen Sie in der Liste Automatisierungs-Ausführung die Automatisierung, die Sie gerade ausgeführt haben, und wählen Sie dann die Registerkarte Execution steps (Ausführungsschritte). Diese Registerkarte zeigt Ihnen den Status der Automatisierungs-Aktionen.