Tutorial actualización de un periodo de mantenimiento mediante la AWS CLI
En este tutorial, se muestra cómo utilizar la AWS Command Line Interface (AWS CLI) para actualizar un periodo de mantenimiento. También se muestra cómo actualizar diferentes tipos de tarea, incluidos aquellos para AWS Systems Manager Run Command y Automation, AWS Lambda y AWS Step Functions.
En los ejemplos que aparecen en esta sección, se utilizan las siguientes acciones de Systems Manager para actualizar un periodo de mantenimiento:
Para obtener información acerca de cómo utilizar la consola de Systems Manager para actualizar un periodo de mantenimiento, consulte Actualizar o eliminar recursos de un periodo de mantenimiento mediante la consola.
A medida que siga los pasos que se indican en este tutorial, reemplace los valores en rojo
y cursiva por sus propias opciones y sus ID. Por ejemplo, reemplace el ID del periodo de mantenimiento mw-0c50858d01EJEMPLO
y el ID de la instancia i-02573cafcfEJEMPLO
por los ID de los recursos que usted cree.
Para actualizar un periodo de mantenimiento mediante la AWS CLI
-
Abra el AWS CLI y ejecute el siguiente comando para actualizar un destino e incluir un nombre y una descripción.
El sistema devuelve información similar a la siguiente.
{ "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" }
-
Ejecute el siguiente comando si desea utilizar la opción
replace
para eliminar el campo de descripción y agregar un destino adicional. El campo de descripción se elimina, ya que la actualización no incluye el campo (un valor nulo). Asegúrese de especificar un nodo adicional que se haya configurado para utilizarse con Systems Manager.El sistema devuelve información similar a la siguiente.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE", "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE", "i-0471e04240EXAMPLE" ] } ], "Name": "My-Maintenance-Window-Target" }
-
La opción
start-date
permite retrasar la activación de un periodo de mantenimiento hasta una fecha futura especificada. La opciónend-date
permite establecer una fecha y hora en el futuro después de la cual el periodo de mantenimiento dejará de ejecutarse. Especifique las opciones de formato extendido ISO-8601.Ejecute el siguiente comando para especificar un intervalo de fecha y hora para ejecuciones programadas de forma regular del periodo de mantenimiento.
-
Ejecute el siguiente comando para actualizar una tarea del Run Command.
sugerencia
Si su destino es una instancia de Amazon Elastic Compute Cloud (Amazon EC2) para Windows Server, cambie
df
aipconfig
yAWS-RunShellScript
aAWS-RunPowerShellScript
en el siguiente comando.El sistema devuelve información similar a la siguiente.
{ "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" }
-
Adapte y ejecute el siguiente comando para actualizar una tarea de Lambda.
El sistema devuelve información similar a la siguiente.
{ "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" }
-
Si está actualizando una tarea de Step Functions, adapte y ejecute el siguiente comando para actualizar los parámetros de invocación de tareas.
El sistema devuelve información similar a la siguiente.
{ "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" }
-
Ejecute el siguiente comando para anular el registro de un destino del período de mantenimiento. Este ejemplo utiliza el parámetro
safe
para determinar que el destino no tenga referencias de alguna tarea y, por lo tanto, se pueda anular el registro.El sistema devuelve información similar a la siguiente.
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
-
Ejecute el siguiente comando para anular el registro de un destino de un período de mantenimiento incluso si el destino tiene referencias de una tarea. Puede forzar la operación de anulación del registro mediante el parámetro
no-safe
.El sistema devuelve información similar a la siguiente.
{ "WindowId": "mw-0c50858d01EXAMPLE", "WindowTargetId": "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" }
-
Ejecute el siguiente comando para actualizar una tarea del Run Command. En este ejemplo, se utiliza un parámetro de Systems Manager Parameter Store denominado
UpdateLevel
, que tiene el siguiente formato: “{{ssm:UpdateLevel}}
”.El sistema devuelve información similar a la siguiente.
{ "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" }
-
Ejecute el siguiente comando para actualizar una tarea de Automation y especificar los parámetros
WINDOW_ID
yWINDOW_TASK_ID
para el parámetrotask-invocation-parameters
:El sistema devuelve información similar a la siguiente.
{ "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" }