Explicación: creación de una ventana de mantenimiento para actualizar SSM Agent (consola) de manera automática - AWS Systems Manager

Explicación: creación de una ventana de mantenimiento para actualizar SSM Agent (consola) de manera automática

En la siguiente explicación, se muestra cómo utilizar la consola de AWS Systems Manager para crear un periodo de mantenimiento. También se describe cómo registrar los nodos administrados como destinos y cómo registrar una tarea de Systems Manager Run Command para actualizar SSM Agent.

Antes de empezar

Antes de completar el siguiente procedimiento, debe tener permisos de administrador en los nodos que desea configurar o se le deben haber concedido los permisos adecuados en AWS Identity and Access Management (IAM). Además, verifique que haya al menos un nodo administrado en ejecución para Linux o Windows Server en un entorno híbrido y multinube configurado para Systems Manager. Para obtener más información, consulte Configuración de AWS Systems Manager.

Paso 1: crear el período de mantenimiento (consola)

Para crear un período de mantenimiento (consola)
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Maintenance Windows.

  3. Elija Create maintenance window (Crear periodo de mantenimiento).

  4. En el campo Name (Nombre), ingrese un nombre descriptivo que lo ayude a identificar este periodo de mantenimiento.

  5. (Opcional) En Description (Descripción), introduzca una descripción.

  6. Elija Allow unregistered targets (Permitir destinos no registrados) si desea permitir que se ejecute una tarea del periodo de mantenimiento en los nodos administrados, incluso si no ha registrado esos nodos como destinos. Si elige esta opción, podrá elegir los nodos no registrados (por ID de nodo) al registrar una tarea con el periodo de mantenimiento.

    Si no elige esta opción, tendrá elegir los destinos registrados anteriormente cuando registre una tarea con el periodo de mantenimiento.

  7. Especifique una programación para el período de mantenimiento usando una de las tres opciones de programación.

    Para obtener información acerca de cómo crear expresiones Cron y Rate, consulte Referencia: expresiones cron y rate para Systems Manager.

  8. En Duration (Duración), escriba el número de horas que debe ejecutarse el periodo de mantenimiento.

  9. En el campo Stop initiating tasks (Dejar de iniciar tareas), escriba el número de horas que el sistema debe considerar antes de que finalice el período de mantenimiento para dejar de programar nuevas tareas por ejecutar.

  10. (Opcional) En Fecha de inicio del periodo: opcional, especifique una fecha y una hora en formato extendido ISO-8601 para cuando desee que se active el periodo de mantenimiento. Esto le permite retrasar la activación del periodo de mantenimiento hasta la fecha futura especificada.

    nota

    No puede especificar una fecha y hora de inicio que se produzcan en el pasado.

  11. (Opcional) En Fecha de finalización del periodo: opcional, especifique una fecha y una hora en formato extendido ISO-8601 para cuando desee que se desactive el periodo de mantenimiento. Esto le permite establecer una fecha y hora en el futuro después de la cual el periodo de mantenimiento dejará de ejecutarse.

  12. (Opcional) En Schedule time zone - optional (Zona horaria de la programación [opcional]), especifique la zona horaria en la que se basan las ejecuciones programadas del periodo de mantenimiento, en formato Internet Assigned Numbers Authority (IANA). Por ejemplo: "America/Los_Angeles", "etc/UTC" o "Asia/Seoul".

    Para obtener más información sobre los formatos válidos, consulte Time Zone Database en el sitio web de IANA.

  13. (Opcional) En el área Manage tags (Administrar etiquetas), aplique uno o varios pares de claves nombre/valor al periodo de mantenimiento.

    Las etiquetas son metadatos opcionales que usted asigna a un recurso. Las etiquetas permiten clasificar los recursos de diversas maneras, por ejemplo, según la finalidad, el propietario o el entorno. Por ejemplo, es posible que desee etiquetar un periodo de mantenimiento para identificar el tipo de tareas que ejecuta, los tipos de destinos y el entorno en el que se ejecuta. En este caso, puede especificar los siguientes pares de claves nombre-valor:

    • Key=TaskType,Value=AgentUpdate

    • Key=OS,Value=Windows

    • Key=Environment,Value=Production

  14. Elija Create maintenance window (Crear periodo de mantenimiento). El sistema le devuelve a la página de periodo de mantenimiento. El estado del periodo de mantenimiento que acaba de crear es Enabled (Habilitado).

Paso 2: registrar destinos de periodo de mantenimiento (consola)

Utilice el siguiente procedimiento para registrar un destino con el periodo de mantenimiento creado en el paso 1. Al registrar un destino, debe especificar qué nodos se van a actualizar.

Para asignar destinos a un período de mantenimiento (consola)
  1. En la lista de periodos de mantenimiento, elija el período de mantenimiento que acaba de crear.

  2. Elija Actions (Acciones) y, a continuación, elija Register targets (Registrar destinos).

  3. (Opcional) En Target Name (Nombre de destino), ingrese un nombre para el destino.

  4. (Opcional) En Description (Descripción), introduzca una descripción.

  5. (Opcional) En Owner information (Información de propietario), especifique su nombre o alias de trabajo. La información del propietario se incluye en cualquier evento de Amazon EventBridge que se genere mientras se ejecutan las tareas para estos destinos en este periodo de mantenimiento.

    Para obtener información acerca de cómo utilizar EventBridge para monitorear los eventos de Systems Manager, consulte Monitoreo de eventos de Systems Manager con Amazon EventBridge.

  6. En el área de Destinos , elija una de las opciones que se describen en la siguiente tabla.

    Opción Descripción

    Especifique las etiquetas de las instancias

    En los cuadros Specify instance tags (Especificar etiquetas de instancia), especifique una o más claves de etiquetas y valores (opcional) que se hayan agregado o que se agregarán a los nodos administrados en la cuenta. Cuando el periodo de mantenimiento se ejecuta, intenta realizar tareas en todos los nodos administrados a los que estas etiquetas se han agregado.

    Si especifica más de una clave de etiqueta, será necesario etiquetar un nodo con todos los valores y las claves de etiqueta especificados para que se incluyan en el grupo de destino.

    Elegir los nodos manualmente

    En la lista, seleccione la casilla para cada nodo que desea incluir en el destino del periodo de mantenimiento.

    La lista incluye todos los nodos en la cuenta que están configurados para su uso con Systems Manager.

    Si un nodo administrado que espera ver no aparece en la lista, consulte Solución de problemas de disponibilidad de nodos administrados para obtener consejos de solución de problemas.

    En el caso de los dispositivos periféricos, servidores en las instalaciones y máquinas virtuales (VM), consulte Uso de Systems Manager en entornos híbridos y multinube

    Elegir un grupo de recursos

    En Grupo de recursos, elija el nombre de un grupo de recursos existente en su cuenta de la lista.

    Para obtener más información acerca de cómo crear y trabajar con grupos de recursos, consulte los siguientes temas:

    En Tipos de recursos, seleccione hasta cinco tipos de recursos disponibles, o seleccione Todos los tipos de recursos.

    Si las tareas que se asignan al periodo de mantenimiento no actúan en uno de los tipos de recursos que agregó al destino, el sistema podría informar un error. Las tareas para las que se encuentra un tipo de recurso compatible siguen ejecutándose a pesar de estos errores.

    Por ejemplo, suponga que añadir los siguientes tipos de recurso a este objetivo:

    • AWS::S3::Bucket

    • AWS::DynamoDB::Table

    • AWS::EC2::Instance

    Sin embargo, más tarde, al agregar tareas para el periodo de mantenimiento, debe incluir solo tareas que realizan acciones en los nodos, como, por ejemplo, la aplicación de una base de referencia de revisiones o reiniciar un nodo. En el registro del periodo de mantenimiento, es posible que se notifique un error si no se encuentran buckets de Amazon Simple Storage Service (Amazon S3) o tablas de Amazon DynamoDB. Sin embargo, el periodo de mantenimiento sigue administrando tareas en los nodos del grupo de recursos.

  7. Elija Register target (Registrar destino).

Paso 3: registrar una tarea de Run Command para el periodo de mantenimiento para actualizar SSM Agent (consola)

Utilice el siguiente procedimiento para registrar una tarea de Run Command para el periodo de mantenimiento creado en el paso 1. La tarea de Run Command actualiza SSM Agent en los destinos registrados.

Para asignar tareas a un período de mantenimiento (consola)
  1. En la lista de periodos de mantenimiento, elija el período de mantenimiento que acaba de crear.

  2. Elija Actions (Acciones) y, a continuación, elija Register Run Command task (Registrar tarea de Run Command).

  3. (Opcional) En Name (Nombre), ingrese un nombre para la tarea, como “UpdateSSMAgent”.

  4. (Opcional) En Description (Descripción), introduzca una descripción.

  5. En el área Command document (Documento de Command), elija el documento de Command de SSM AWS-UpdateSSMAgent.

    nota

    Si los destinos registrados en el paso anterior son Windows Server 2012 R2 o de versiones anteriores, debe utilizar el documento AWS-UpdateEC2Config.

  6. En Document version (Versión de documento), seleccione la versión de documento que se utilizará.

  7. En Task priority (Prioridad de tarea), especifique una prioridad para esta tarea. Cero (0) es la prioridad más alta. Las tareas de un período de mantenimiento se programan por orden de prioridad; las tareas que tengan la misma prioridad se programan en paralelo.

  8. En la sección Targets (Destinos), identifique los nodos en los que desea ejecutar esta operación por medio de las opciones Selecting registered target groups (Selección de grupos de destino registrados) o Selecting unregistered targets (Selección de destinos no registrados).

  9. En Rate control (Control de velocidad):

    • En Concurrency (Simultaneidad), especifique un número o un porcentaje de los nodos administrados en los que desea ejecutar el comando al mismo tiempo.

      nota

      Si seleccionó los destinos mediante la especificación de etiquetas aplicadas a nodos administrados o de grupos de recursos de AWS y no está seguro de cuántos nodos administrados tienen destino, limite el número de destinos que puede ejecutar el documento al mismo tiempo. Para ello, especifique un porcentaje.

    • En Error threshold (Umbral de errores), especifique cuándo desea parar la ejecución del comando en los demás nodos administrados después de que haya fallado en un número o un porcentaje de los nodos. Por ejemplo, si especifica tres errores, Systems Manager dejará de enviar el comando cuando se reciba el cuarto error. Los nodos administrados que estén procesando el comando todavía pueden enviar errores.

  10. (Opcional) En Rol de servicio de IAM, seleccione un rol que proporcione permisos para que los asuma Systems Manager al ejecutar una tarea del periodo de mantenimiento.

    Si no especifica el ARN de un rol de servicio, Systems Manager usa un rol vinculado al servicio de su cuenta. Si en su cuenta no existe ningún rol vinculado al servicio adecuado para Systems Manager, se crea cuando la tarea se registra correctamente.

    nota

    Para mejorar la seguridad, le recomendamos encarecidamente que cree una política y un rol de servicio personalizados para ejecutar las tareas del periodo de mantenimiento. La política se puede diseñar para proporcionar solo los permisos necesarios para las tareas específicas del periodo de mantenimiento. Para obtener más información, consulte Utilice la consola para configurar permisos para periodos de mantenimiento.

  11. (Opcional) En Output options (Opciones de salida), lleve a cabo una de las siguientes operaciones:

    • Seleccione la casilla de verificación Enable writing to S3 (Habilitar escritura en S3) para guardar la salida del comando en un archivo. Ingrese los nombres del bucket y del prefijo (carpeta) en los cuadros.

      nota

      Los permisos de S3 que conceden la capacidad de escribir datos en un bucket de S3 son los del perfil de instancia asignado al nodo, no los del usuario que realiza esta tarea. Para obtener más información, consulte Configuración de permisos de instancia requeridos para Systems Manager. Además, si el bucket de S3 especificado se encuentra en una Cuenta de AWS diferente, verifique que el perfil de instancias asociado al nodo tenga los permisos necesarios para escribir en ese bucket.

    • Seleccione la casilla de verificación CloudWatch output (Salida de CloudWatch) para escribir la salida completa en los Registros de Amazon CloudWatch. Ingrese el nombre de un grupo de registro de los Registros de CloudWatch.

  12. En la sección SNS notifications (Notificaciones de SNS), puede, de forma opcional, permitir que Systems Manager envíe notificaciones sobre los estados de los comandos mediante Amazon Simple Notification Service (Amazon SNS). Si elige activar esta opción, debe especificar lo siguiente:

    1. El rol de IAM para comenzar las notificaciones de Amazon SNS.

    2. El tema de Amazon SNS que se utilizará.

    3. Los tipos de eventos específicos sobre los que desea recibir notificaciones.

    4. El tipo de notificación que desea recibir cuando cambia el estado de un comando. Para comandos enviados a varios nodos, elija Invocation (Invocación) para recibir las notificaciones basándose en una invocación (por nodo) cuando cambia el estado de cada invocación.

  13. En el área Parameters (Parámetros), tiene la opción de proporcionar una versión específica de SSM Agent para instalar, o bien, puede permitir que el servicio de SSM Agent vuelva a una versión anterior. Sin embargo, para los fines de este tutorial, no proporcionamos una versión. Por lo tanto, SSM Agent se actualiza a la versión más reciente.

  14. Elija Register Run command task (Registrar tarea de Run Command).