Führen Sie einen automatisierten Vorgang aus, der von Systems Manager Automation unterstützt wird - 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 einen automatisierten Vorgang aus, der von Systems Manager Automation unterstützt wird

Wenn Sie eine Automatisierung ausführen, wird die Automatisierung standardmäßig im Kontext des Benutzers ausgeführt, der die Automatisierung initiiert hat. Das bedeutet beispielsweise, wenn Ihr Benutzer über Administratorrechte verfügt, wird die Automatisierung mit Administratorrechten und vollständigem Zugriff auf die von der Automatisierung konfigurierten Ressourcen ausgeführt. Aus Sicherheitsgründen empfehlen wir, dass Sie die Automatisierung mithilfe einer IAM-Servicerolle ausführen, die in diesem Fall als Übernahmerolle bezeichnet wird und mit der Amazon SSMAutomation Role Managed Policy konfiguriert ist. Möglicherweise müssen Sie Ihrer angenommenen Rolle zusätzliche IAM-Richtlinien hinzufügen, um verschiedene Runbooks verwenden zu können. Die Verwendung einer IAM-Servicerolle zur Ausführung der Automatisierung wird als delegierte Administration bezeichnet.

Wenn Sie eine Servicerolle verwenden, darf die Automatisierung zwar für AWS -Ressourcen laufen, aber der Benutzer, der die Automatisierung ausgeführt hat, verfügt über einen eingeschränkten Zugriff (oder besitzt keinen Zugriff) auf diese Ressourcen. Sie können beispielsweise eine Servicerolle konfigurieren und sie mit Automation verwenden, um eine oder mehrere Amazon Elastic Compute Cloud (Amazon EC2) -Instances neu zu starten. Automatisierung ist ein Tool in AWS Systems Manager. Die Automatisierung startet die Instances neu, aber die Servicerolle gibt dem Benutzer nicht die Berechtigung, auf diese Instances zuzugreifen.

Sie können eine Servicerolle zur Laufzeit angeben, wenn Sie eine Automatisierung ausführen, oder Sie können benutzerdefinierte Runbooks erstellen und die Servicerolle direkt im Runbook angeben. Wenn Sie zur Laufzeit oder in einem Runbook eine Servicerolle angeben, dann wird der Service im Kontext der angegebenen Servicerolle ausgeführt. Wenn Sie keine Servicerolle angeben, dann legt das System im Kontext des Benutzers eine temporäre Sitzung an und führt die Automatisierung aus.

Anmerkung

Für Automatisierungen, die voraussichtlich länger als 12 Stunden laufen, müssen Sie eine Servicerolle angeben. Wenn Sie eine lang laufende Automatisierung im Kontext eines Benutzers starten, läuft die temporäre Sitzung des Benutzers nach 12 Stunden ab.

Delegierte Administration sorgt für mehr Sicherheit und Kontrolle Ihrer AWS -Ressourcen. Sie erlaubt auch eine verbesserte Prüfungserfahrung, da Aktionen für Ihre Ressourcen von einer zentralen Servicerolle statt von mehreren IAM-Konten ausgeführt werden.

Bevor Sie beginnen

Bevor Sie die folgenden Verfahren ausführen, müssen Sie die IAM-Dienstrolle erstellen und eine Vertrauensstellung für Automation, ein Tool in AWS Systems Manager, konfigurieren. Weitere Informationen finden Sie unter Aufgabe 1: Erstellen einer Servicerolle für Automation.

In den folgenden Verfahren wird beschrieben, wie Sie die Systems-Manager-Konsole oder Ihr bevorzugtes Befehlszeilen-Tool zum Ausführen einer einfachen Automatisierung verwenden.

Ausführen einer einfachen Automatisierung (Konsole)

Im folgenden Verfahren wird beschrieben, wie Sie mithilfe der Systems Manager-Konsole eine einfache Automatisierung ausführen.

Ausführen einer einfachen Automatisierung
  1. Öffnen Sie die AWS Systems Manager Konsole unter. https://console.aws.amazon.com/systems-manager/

  2. Wählen Sie im Navigationsbereich Automatisierung und Automatisierung ausführen aus.

  3. Wählen Sie in der Liste Automation-Dokument ein Runbook. Wählen Sie eine oder mehrere Optionen im Bereich Dokumentkategorien, 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 Registerkarte Mit mir geteilt. Um alle Runbooks anzuzeigen, wählen Sie die Registerkarte Alle Dokumente.

    Anmerkung

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

  4. Überprüfen Sie im Abschnitt Dokument-Details, ob 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 Simple execution (Einfache Ausführung) aus.

  7. Geben Sie im Abschnitt Eingabeparameter die erforderlichen Eingaben an. Optional können Sie eine IAM-Dienstrolle aus der AutomationAssumeRoleListe auswählen.

  8. (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 entsprechende Genehmigung verfügeniam:createServiceLinkedRole. 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 dies verwenden AWS CloudTrail, wird der API-Aufruf in Ihrem Trail angezeigt.

  9. Wählen Sie Ausführen.

Die Konsole zeigt den Status der Automatisierung an. Wenn Automatisierung nicht ausgeführt werden kann, finden Sie weitere Informationen unter Fehlerbehebung für Systems Manager Automation..

Ausführen einer einfachen Automatisierung (Befehlszeile)

Das folgende Verfahren beschreibt, wie Sie das AWS CLI (unter Linux oder Windows) verwenden oder AWS Tools for PowerShell eine einfache Automatisierung ausführen.

Ausführen einer einfachen Automatisierung
  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. Führen Sie den folgenden Befehl aus, um eine einfache Automatisierung zu starten. Ersetzen Sie jeden example resource placeholder durch Ihre Informationen.

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --parameters runbook parameters
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --parameters runbook parameters
    PowerShell
    Start-SSMAutomationExecution ` -DocumentName runbook name ` -Parameter runbook parameters

    Hier ist ein Beispiel, bei dem das Runbook verwendet wirdAWS-RestartEC2Instance, um die angegebene EC2 Instanz neu zu starten.

    Linux & macOS
    aws ssm start-automation-execution \ --document-name "AWS-RestartEC2Instance" \ --parameters "InstanceId=i-02573cafcfEXAMPLE"
    Windows
    aws ssm start-automation-execution ^ --document-name "AWS-RestartEC2Instance" ^ --parameters "InstanceId=i-02573cafcfEXAMPLE"
    PowerShell
    Start-SSMAutomationExecution ` -DocumentName AWS-RestartEC2Instance ` -Parameter @{"InstanceId"="i-02573cafcfEXAMPLE"}

    Das System gibt unter anderem folgende Informationen zurück

    Linux & macOS
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    Windows
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    PowerShell
    4105a4fc-f944-11e6-9d32-0123456789ab
  3. Führen Sie den folgenden Befehl aus, um den Status der Automatisierung abzurufen.

    Linux & macOS
    aws ssm describe-automation-executions \ --filter "Key=ExecutionId,Values=4105a4fc-f944-11e6-9d32-0123456789ab"
    Windows
    aws ssm describe-automation-executions ^ --filter "Key=ExecutionId,Values=4105a4fc-f944-11e6-9d32-0123456789ab"
    PowerShell
    Get-SSMAutomationExecutionList | ` Where {$_.AutomationExecutionId -eq "4105a4fc-f944-11e6-9d32-0123456789ab"}

    Das System gibt unter anderem folgende Informationen zurück

    Linux & macOS
    {
        "AutomationExecutionMetadataList": [
            {
                "AutomationExecutionStatus": "InProgress",
                "CurrentStepName": "stopInstances",
                "Outputs": {},
                "DocumentName": "AWS-RestartEC2Instance",
                "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab",
                "DocumentVersion": "1",
                "ResolvedTargets": {
                    "ParameterValues": [],
                    "Truncated": false
                },
                "AutomationType": "Local",
                "Mode": "Auto",
                "ExecutionStartTime": 1564600648.159,
                "CurrentAction": "aws:changeInstanceState",
                "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
                "LogFile": "",
                "Targets": []
            }
        ]
    }
    Windows
    {
        "AutomationExecutionMetadataList": [
            {
                "AutomationExecutionStatus": "InProgress",
                "CurrentStepName": "stopInstances",
                "Outputs": {},
                "DocumentName": "AWS-RestartEC2Instance",
                "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab",
                "DocumentVersion": "1",
                "ResolvedTargets": {
                    "ParameterValues": [],
                    "Truncated": false
                },
                "AutomationType": "Local",
                "Mode": "Auto",
                "ExecutionStartTime": 1564600648.159,
                "CurrentAction": "aws:changeInstanceState",
                "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
                "LogFile": "",
                "Targets": []
            }
        ]
    }
    PowerShell
    AutomationExecutionId       : 4105a4fc-f944-11e6-9d32-0123456789ab
    AutomationExecutionStatus   : InProgress
    AutomationType              : Local
    CurrentAction               : aws:changeInstanceState
    CurrentStepName             : startInstances
    DocumentName                : AWS-RestartEC2Instance
    DocumentVersion             : 1
    ExecutedBy                  : arn:aws:sts::123456789012:assumed-role/Administrator/Admin
    ExecutionEndTime            : 1/1/0001 12:00:00 AM
    ExecutionStartTime          : 7/31/2019 7:17:28 PM
    FailureMessage              : 
    LogFile                     : 
    MaxConcurrency              : 
    MaxErrors                   : 
    Mode                        : Auto
    Outputs                     : {}
    ParentAutomationExecutionId : 
    ResolvedTargets             : Amazon.SimpleSystemsManagement.Model.ResolvedTargets
    Target                      : 
    TargetMaps                  : {}
    TargetParameterName         : 
    Targets                     : {}