View a markdown version of this page

Configuración de automatizaciones para monitorear las alarmas de CloudWatch - AWS Systems Manager

Configuración de automatizaciones para monitorear las alarmas de CloudWatch

Se pueden configurar las ejecuciones del manual de procedimientos de automatización para monitorear las alarmas de CloudWatch. Si una alarma específica entra en el estado ALARM, la automatización detiene la ejecución. En el caso de las ejecuciones que utilizan el modo de control de velocidad o se ejecutan en varias cuentas, la automatización cancela todas las ejecuciones pendientes. Si se definen los pasos onCancel en su manual de procedimientos, esos pasos se ejecutan antes de que finalice la ejecución. Esto evita que los manuales de procedimiento continúen cuando los recursos monitoreados no estén en buen estado.

Antes de empezar

Complete estos requisitos previos antes de configurar la supervisión de alarmas de CloudWatch:

  • Crear una alarma de CloudWatch: cree una alarma que supervise los recursos afectados por la ejecución de la automatización. Para obtener más información, consulte Uso de las alarmas de Amazon CloudWatch.

  • Configurar los permisos de identidad de ejecución: la identidad de ejecución utilizada por la automatización debe tener los siguientes permisos para que la supervisión de alarmas de CloudWatch funcione correctamente:

    • cloudwatch:DescribeAlarms— Obligatorio para monitorear los estados de alarma.

    • ssm:StopAutomationExecution— Obligatorio para detener la ejecución cuando se activa una alarma.

    La identidad de ejecución viene determinada por el ARN del rol de IAM especificado en el campo assumeRole del manual de procedimientos de automatización. Si no se especifica ningún valor de assumeRole, el manual de procedimientos se ejecuta con la identidad de la entidad principal de IAM que realizó la llamada a StartAutomationExecution.

En el siguiente ejemplo se muestra una política de IAM mínima que otorga los permisos necesarios para el monitoreo de la alarma de CloudWatch:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "ssm:StopAutomationExecution" ], "Resource": "*" } ] }

Configuración del monitoreo de la alarma (consola)

Se debe utilizar el procedimiento siguiente para configurar el monitoreo de la alarma de CloudWatch cuanco se inicia una automatización desde la consola de Systems Manager.

Para configurar el monitoreo de la alarma

Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  1. En el panel de navegación, elija automatización.

  2. Elija Ejecutar automatización.

  3. Seleccione un manual de procedimientos y configure los parámetros de entrada para la ejecución.

  4. En la sección de alarmas de CloudWatch, elija una alarma para monitorear durante la ejecución.

    La sección de alarmas de CloudWatch de la consola de automatización de Systems Manager que muestra la selección de alarmas y la opción de continuar cuando el estado de alarma no está disponible.
  5. (Opcional) Active la opción Continuar con la automatización si el estado de la alarma no está disponible para controlar el comportamiento cuando la automatización no pueda recuperar el estado de la alarma. Cuando está habilitada, la ejecución continúa incluso si no se puede determinar el estado de la alarma. Cuando está deshabilitada (estado predeterminado), la ejecución se detiene si no se puede recuperar el estado de alarma.

  6. Elija Ejecutar.

Configuración del monitoreo de alarmas (AWS CLI)

Utilice el parámetro --alarm-configuration con el comando aws ssm start-automation-execution para especificar las alarmas de CloudWatch que se van a monitorear.

El parámetro --alarm-configuration acepta una estructura JSON con los campos siguientes:

  • Alarms (obligatorio): un objeto de alarma con un campo Name que identifica la alarma de CloudWatch que se va a monitorear.

  • IgnorePollAlarmFailure (opcional, booleano): controla el comportamiento cuando la automatización no puede recuperar el estado de la alarma. Se establece en false (predeterminado) para detener la ejecución si no se puede determinar el estado de alarma o en true para continuar con la ejecución en cualquier caso.

En el siguiente ejemplo, se inicia una automatización que monitorea una alarma de CloudWatch denominada my-alarm. Como IgnorePollAlarmFailure está configurada en false, la automatización se detiene si no puede recuperar el estado de la alarma:

aws ssm start-automation-execution \ --document-name "AWS-RestartEC2Instance" \ --parameters '{"InstanceId":["i-02573cafcfEXAMPLE"]}' \ --alarm-configuration '{"IgnorePollAlarmFailure":false,"Alarms":[{"Name":"my-alarm"}]}'

Monitoreo entre cuentas y entre regiones

Para las automatizaciones que se ejecutan en varias cuentas y regiones, se puede configurar la supervisión de alarmas por ubicación de destino mediante el campo TargetLocationAlarmConfiguration que hay dentro de TargetLocations. La función de ejecución de cada cuenta de destino (p. ej., AWS-SystemsManager-AutomationExecutionRole) debe tener permisos cloudwatch:DescribeAlarms y ssm:StopAutomationExecution.

Para obtener más información sobre la configuración de roles entre cuentas, consulte Configuración de permisos de administración de la cuenta para la automatización de varias regiones y cuentas.