Beispiele: Registrieren von Aufgaben für ein Wartungsfenster
Sie können eine Aufgabe in Run Command, einer Funktion von AWS Systems Manager, mit einem Wartungsfenster registrieren, indem Sie das AWS Command Line Interface (AWS CLI) verwenden, wie in Register tasks with the maintenance window (Aufgaben mit dem Wartungsfenster registrieren) gezeigt. Darüber hinaus haben Sie die Möglichkeit, Aufgaben wie nachstehend veranschaulicht für Systems Manager Automation-Workflows, AWS Lambda-Funktionen und AWS Step Functions-Aufgaben zu registrieren.
Anmerkung
Geben Sie ein oder mehrere Ziele für Wartungsfenster Run Command-Typ-Aufgaben an. Abhängig von der Aufgabe sind Ziele für andere Aufgaben-Typen im Wartungsfenster optional (Automation, AWS Lambda und AWS Step Functions) enthalten. Weitere Informationen zur Ausführung von Aufgaben, die keine Ziele angeben, finden Sie unter Wartungsfenster-Tasks ohne Ziele registrieren.
In diesem Thema finden Sie Beispiele für die Verwendung des AWS Command Line Interface (AWS CLI)-CLI-Befehls register-task-with-maintenance-window
zur Registrierung eines jeden der vier unterstützten Aufgabentypen bei einem Wartungsfenster. Die Beispiele dienen nur zur Veranschaulichung. Sie können sie abwandeln, um funktionsfähige Befehle zur Aufgabenregistrierung zu erstellen.
Verwenden der --cli-input-json-Option
Zur besseren Verwaltung Ihrer Aufgabenoptionen können Sie die Befehlsoption --cli-input-json
mit in einer JSON-Datei referenzierten Optionswerten verwenden.
Um den Inhalt der JSON-Beispieldatei zu verwenden, den wir in den folgenden Beispielen bereitgestellt haben, führen Sie auf Ihrem lokalen Computer die die folgenden Schritte aus:
-
Erstellen Sie eine Datei mit einem Namen wie z. B.
MyRunCommandTask.json
,MyAutomationTask.json
oder einem anderen von Ihnen bevorzugten Namen. -
Kopieren Sie den Inhalt der JSON-Beispieldatei in die Datei.
-
Ändern Sie den Inhalt der Datei für Ihre Aufgabenregistrierung ab und speichern Sie dann die Datei.
-
Führen Sie in demselben Verzeichnis, in dem Sie die Datei gespeichert haben, den folgenden Befehl aus. Ersetzen Sie
MyFile.json
durch Ihren Dateinamen.
Pseudo-Parameter in Wartungsfenster-Aufgaben
In einigen Beispielen verwenden wir Pseudoparameter als Methode zur Übergabe von ID-Informationen an Ihre Aufgaben. Zum Beispiel werden {{TARGET_ID}}
und {{RESOURCE_ID}}
verwendet, um IDs von AWS-Ressourcen an Automation-, Lambda- und Step Functions-Aufgaben zu übergeben. Weitere Informationen zu Pseudoparametern im --task-invocation-parameters
-Inhalt finden Sie unter Verwendung von Pseudo-Parametern bei der Registrierung von Aufgaben im Wartungsfenster.
- Weitere Informationen
-
-
Parameteroptionen für den register-task-with-maintenance-windows-Befehl.
-
register-task-with-maintenance-window in der AWS CLI Befehlsreferenz
-
RegisterTaskWithMaintenanceWindow in der AWS Systems Manager-API-Referenz
-
Beispiele der Aufgabenregistrierung
In den folgenden Abschnitten finden Sie einen AWS CLI-Beispielbefehl für die Registrierung eines unterstützten Aufgabentyps und ein JSON-Beispiel, das mit der --cli-input-json
-Option verwendet werden kann.
Die folgenden Beispiele veranschaulichen, wie Sie Aufgaben von Systems Manager Run Command-Aufgaben mithilfe der AWS CLI bei einem Wartungsfenster registrieren.
JSON-Inhalt für die Verwendung mit der Dateioption --cli-input-json
:
{ "TaskType": "RUN_COMMAND", "WindowId": "mw-0c50858d01EXAMPLE", "Description": "My Run Command task to update SSM Agent on an instance", "MaxConcurrency": "1", "MaxErrors": "1", "Name": "My-Run-Command-Task", "Priority": 10, "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "AWS-UpdateSSMAgent", "TaskInvocationParameters": { "RunCommand": { "Comment": "A TaskInvocationParameters test comment", "NotificationConfig": { "NotificationArn": "arn:aws:sns:
region
:123456789012:my-sns-topic-name", "NotificationEvents": [ "All" ], "NotificationType": "Invocation" }, "OutputS3BucketName": "amzn-s3-demo-bucket", "OutputS3KeyPrefix": "S3-PREFIX
", "TimeoutSeconds": 3600 } } }
Die folgenden Beispiele veranschaulichen, wie Systems Manager Automation-Aufgaben mithilfe der bei einem Wartungsfenster registriert werden AWS CLI:
AWS CLI-Befehl:
JSON-Inhalt für die Verwendung mit der Dateioption --cli-input-json
:
{ "WindowId": "mw-0c50858d01EXAMPLE", "TaskArn": "AWS-PatchInstanceWithRollback", "TaskType": "AUTOMATION","TaskInvocationParameters": { "Automation": { "DocumentVersion": "1", "Parameters": { "instanceId": [ "{{RESOURCE_ID}}" ] } } } }
Die folgenden Beispiele veranschaulichen, wie Lambda-Funktionsaufgaben mithilfe der AWS CLI bei einem Wartungsfenster registriert werden.
Bei diesen Beispielen hat der Benutzer, der die Lambda-Funktion erstellt hat, ihr den Namen SSMrestart-my-instances
gegeben und zwei Parameter mit dem Namen instanceId
und targetType
erstellt.
Wichtig
Die IAM-Richtlinie für Maintenance Windows erfordert, dass Sie den Namen von Lambda-Funktionen (oder Aliasen) das Präfix SSM
hinzufügen. Bevor Sie mit dem Registrieren dieser Art von Aufgabe fortfahren, müssen Sie ihren Namen in AWS Lambda so aktualisieren, dass in ihm SSM
enthalten ist. Beispiel: Wenn Ihr Lambda-Funktionsname MyLambdaFunction
lautet, ändern Sie ihn in SSMMyLambdaFunction
.
AWS CLI-Befehl:
JSON-Inhalt für die Verwendung mit der Dateioption --cli-input-json
:
{ "WindowId": "mw-0c50858d01EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "SSM_RestartMyInstances", "TaskType": "LAMBDA", "MaxConcurrency": "10", "MaxErrors": "10", "TaskInvocationParameters": { "Lambda": { "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE", "Payload": "{ \"instanceId\": \"{{RESOURCE_ID}}\", \"targetType\": \"{{TARGET_TYPE}}\" }", "Qualifier": "$LATEST" } }, "Name": "My-Lambda-Task", "Description": "A description for my LAMBDA task", "Priority": 5 }
Die folgenden Beispiele veranschaulichen, wie Sie Aufgaben von Step Functions-Zustandsautomaten mithilfe der AWS CLI bei einem Wartungsfenster registrieren.
Anmerkung
Aufgaben im Wartungsfenster unterstützen nur Zustandsmaschinen-Workflows von Step Functions Standard. Sie unterstützen keine Express-Zustandsmaschinen-Workflows. Informationen zu Workflowtypen für Zustandsmaschinen finden Sie unter Standard- gegenüber Express-Workflows im AWS Step Functions-Entwicklerhandbuch.
In diesen Beispielen erstellte der Benutzer, der den Step Functions-Zustandsautomaten erstellt hatte, einen Zustandsautomaten mit dem Namen „SSMMyStateMachine
“ und dem Parameter „instanceId
“.
Wichtig
Die AWS Identity and Access Management (IAM)-Richtlinie für Maintenance Windows erfordert, dass Sie die Namen von Step Functions-Zustandsautomaten mit dem Präfix SSM
versehen. Bevor Sie mit dem Registrieren dieser Art von Aufgabe fortfahren, müssen Sie ihren Namen in AWS Step Functions so aktualisieren, dass in ihm SSM
enthalten ist. Beispiel: Wenn der Name des Zustandsautomaten MyStateMachine
lautet, ändern Sie ihn in SSMMyStateMachine
.
AWS CLI-Befehl:
JSON-Inhalt für die Verwendung mit der Dateioption --cli-input-json
:
{ "WindowId": "mw-0c50858d01EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "SSM_MyStateMachine", "TaskType": "STEP_FUNCTIONS", "MaxConcurrency": "10", "MaxErrors": "10", "TaskInvocationParameters": { "StepFunctions": { "Input": "{ \"instanceId\": \"{{TARGET_ID}}\" }", "Name": "{{INVOCATION_ID}}" } }, "Name": "My-Step-Functions-Task", "Description": "A description for my Step Functions task", "Priority": 5 }