Tutorial: Aktualisieren eines Wartungsfensters mithilfe von AWS CLI
In diesem Tutorial wird gezeigt, wie Sie ein Wartungsfenster mithilfe der AWS Command Line Interface (AWS CLI) aktualisieren. Außerdem wird gezeigt, wie Sie verschiedener Aufgabentypen aktualisieren, einschließlich derjenigen für AWS Systems Manager Run Command und Automation, AWS Lambda und AWS Step Functions.
In den Beispielen dieses Abschnitts werden die folgenden Systems Manager-Aktionen zum Aktualisieren eines Wartungsfensters verwendet:
Weitere Informationen zum Aktualisieren eines Wartungsfensters über die Systems Manager-Konsole finden Sie unter Ressourcen für das Wartungsfenster mithilfe der Konsole aktualisieren oder löschen.
Wenn Sie die Schritte in diesem Tutorial ausführen, ersetzen Sie die Werte in kursiv-rotem
Text durch Ihren eigenen Optionen und IDs. Ersetzen Sie z. B. die Wartungsfenster-ID MW-0C50858D01Beispiel
und die Instance-ID i-02573CafcfBeispiel
mit IDs der Ressourcen, die Sie erstellen.
Aktualisieren eines Wartungsfensters mithilfe von AWS CLI
-
Öffnen Sie die AWS CLI und führen Sie den folgenden Befehl aus, um ein Ziel zu aktualisieren, sodass es einen Namen und eine Beschreibung enthält.
Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE", "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE" ] } ], "Name": "My-Maintenance-Window-Target", "Description": "Description for my maintenance window target" }
-
Führen Sie den folgenden Befehl aus, um mit der
replace
-Option das Beschreibungsfeld zu entfernen und ein zusätzliches Ziel hinzuzufügen. Das Beschreibungsfeld wird gelöscht, da die Aktualisierung das Feld nicht enthält (NULL-Wert). Stellen Sie sicher, dass Sie einen zusätzlichen Knoten angeben, der für die Verwendung mit Systems Manager konfiguriert wurde.Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE", "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE", "i-0471e04240EXAMPLE" ] } ], "Name": "My-Maintenance-Window-Target" }
-
Die Option
start-date
erlaubt Ihnen, die Aktivierung eines Wartungsfensters bis zu einem angegebenen künftigen Zeitpunkt zu verzögern. Die Optionend-date
erlaubt Ihnen, ein in der Zukunft liegendes Datum sowie eine Uhrzeit festzulegen, nach dem das Wartungsfenster nicht mehr ausgeführt wird. Geben Sie die Optionen im erweiterten ISO-8601-Format an.Führen Sie den folgenden Befehl aus, um ein Datum oder eine Zeitspanne für die regelmäßig geplanten Wartungsfenster-Ausführungen anzugeben.
-
Führen Sie den folgenden Befehl aus, um eine Run Command-Aufgabe zu aktualisieren.
Tipp
Wenn es sich bei Ihrem Ziel um eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance für Windows Server handelt, ändern Sie
df
aufipconfig
undAWS-RunShellScript
aufAWS-RunPowerShellScript
im folgenden Befehl.Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "AWS-RunShellScript", "ServiceRoleArn": "arn:aws:iam::111122223333:role/MaintenanceWindowsRole", "TaskParameters": {}, "TaskInvocationParameters": { "RunCommand": { "Comment": "Revising my Run Command task", "Parameters": { "commands": [ "df" ] } } }, "Priority": 1, "MaxConcurrency": "10", "MaxErrors": "4", "Name": "My-Task-Name", "Description": "A description for my Run Command task" }
-
Passen Sie den folgenden Befehl aus und führen Sie ihn aus, um eine Lambda-Aufgabe zu aktualisieren.
Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" } ], "TaskArn": "arn:aws:lambda:us-east-2:111122223333:function:SSMTestLambda", "ServiceRoleArn": "arn:aws:iam::111122223333:role/MaintenanceWindowsRole", "TaskParameters": {}, "TaskInvocationParameters": { "Lambda": { "Payload": "e30=" } }, "Priority": 1, "MaxConcurrency": "10", "MaxErrors": "5", "Name": "New-Lambda-Task-Name", "Description": "A description for my Lambda task" }
-
Wenn Sie eine Step Functions-Aufgabe aktualisieren, passen Sie den folgenden Befehl an und führen Sie ihn aus, um seine task-invocation-Parameter zu aktualisieren.
Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "arn:aws:states:us-east-2:111122223333:execution:SSMStepFunctionTest", "ServiceRoleArn": "arn:aws:iam::111122223333:role/MaintenanceWindowsRole", "TaskParameters": {}, "TaskInvocationParameters": { "StepFunctions": { "Input": "{\"instanceId\":\"{{RESOURCE_ID}}\"}" } }, "Priority": 0, "MaxConcurrency": "10", "MaxErrors": "5", "Name": "My-Step-Functions-Task", "Description": "A description for my Step Functions task" }
-
Führen Sie den folgenden Befehl aus, um ein Ziel von einem Wartungsfenster abzumelden. In diesem Beispiel wird der
safe
-Parameter verwendet, um zu bestimmen, ob beliebige Aufgaben auf das Ziel verweisen und es sicher abgemeldet werden kann.Die vom System zurückgegebenen Informationen ähneln den Folgenden.
An error occurred (TargetInUseException) when calling the DeregisterTargetFromMaintenanceWindow operation: This Target cannot be deregistered because it is still referenced in Task: 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
-
Führen Sie den folgenden Befehl aus, um ein Ziel auch dann von einem Wartungsfenster abzumelden, wenn eine Aufgabe auf das Ziel verweist. Sie können den Abmeldevorgang mit dem
no-safe
-Parameter erzwingen.Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" }
-
Führen Sie den folgenden Befehl aus, um eine Run Command-Aufgabe zu aktualisieren. Dieses Beispiel verwendet einen Parameter Store Systems Manager-Parameter mit dem Namen
UpdateLevel
und der folgenden Formatierung:{{ssm:UpdateLevel}}
'Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE", "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE" ] } ], "TaskArn": "AWS-RunShellScript", "ServiceRoleArn": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole", "TaskParameters": {}, "TaskInvocationParameters": { "RunCommand": { "Comment": "A comment for my task update", "Parameters": { "UpdateLevel": [ "{{ssm:UpdateLevel}}" ] } } }, "Priority": 10, "MaxConcurrency": "1", "MaxErrors": "1" }
-
Führen Sie den folgenden Befehl aus, um eine Automatisierungsaufgabe so zu aktualisieren, dass
WINDOW_ID
-Parameter undWINDOW_TASK_ID
-Parameter alstask-invocation-parameters
-Parameter angegeben werden:Die vom System zurückgegebenen Informationen ähneln den Folgenden.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "AutoTestDoc", "ServiceRoleArn": "arn:aws:iam::111122223333:role/MyMaintenanceWindowServiceRole", "TaskParameters": {}, "TaskInvocationParameters": { "Automation": { "Parameters": { "multi": [ "{{WINDOW_TASK_ID}}" ], "single": [ "{{WINDOW_ID}}" ] } } }, "Priority": 0, "MaxConcurrency": "10", "MaxErrors": "5", "Name": "My-Automation-Task", "Description": "A description for my Automation task" }