View a markdown version of this page

Configuração de automações para monitorar alarmes do CloudWatch - AWS Systems Manager

Configuração de automações para monitorar alarmes do CloudWatch

Você pode configurar as execuções do seu runbook do Automation para monitorar os alarmes do CloudWatch. Se um alarme especificado entrar no estado ALARM, o Automation interrompe a execução. Para execuções usando o modo de controle de taxa ou em execução em várias contas, o Automation cancela todas as execuções pendentes. Se você definir etapas onCancel em seu runbook, elas serão executadas antes do término da execução. Isso evita que os runbooks continuem quando os recursos monitorados não estão íntegros.

Antes de começar

Conclua estes pré-requisitos antes de configurar o monitoramento de alarmes do CloudWatch:

  • Criar um alarme do CloudWatch: crie um alarme que monitore os recursos afetados pela execução do Automation. Para obter mais informações, consulte Uso de alarmes do Amazon CloudWatch.

  • Configurar permissões de identidade de execução: a identidade de execução usada pelo Automation deve ter as seguintes permissões para que o monitoramento de alarmes do CloudWatch funcione corretamente:

    • cloudwatch:DescribeAlarms: necessário para monitorar os estados dos alarmes.

    • ssm:StopAutomationExecution: necessário para interromper a execução quando um alarme é ativado.

    A identidade de execução é determinada pelo ARN do perfil do IAM especificado no campo assumeRole do seu runbook do Automation. Se nenhum valor assumeRole for especificado, o runbook será executado usando a identidade da entidade principal do IAM que chamou StartAutomationExecution.

O exemplo abaixo mostra uma política mínima do IAM que concede as permissões necessárias para o monitoramento de alarmes do CloudWatch:

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

Configuração de monitoramento de alarmes (console)

Use o procedimento a seguir para a configuração de monitoramento de alarmes do CloudWatch ao iniciar uma automação no console do Systems Manager.

Para configurar o monitoramento de alarmes

Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  1. No painel de navegação à esquerda, escolha Automation (Automação).

  2. Escolha Execute automation.

  3. Selecione um runbook e configure os parâmetros de entrada para sua execução.

  4. Na seção de alarmes do CloudWatch, escolha um alarme para monitorar durante a execução.

    A seção de alarmes do CloudWatch do console do Systems Manager Automation mostra a seleção do alarme e a opção de continuar quando o estado do alarme não estiver disponível.
  5. (Opcional) Ative a opção Continuar a automação se o estado do alarme não estiver disponível para controlar o comportamento quando o Automation não puder recuperar o estado do alarme. Quando habilitada, a execução continua mesmo que o estado do alarme não possa ser determinado. Quando desabilitada (padrão), a execução será interrompida se o estado do alarme não puder ser recuperado.

  6. Clique em Executar.

Configuração de monitoramento de alarmes (AWS CLI)

Use o parâmetro --alarm-configuration com o comando aws ssm start-automation-execution para especificar os alarmes do CloudWatch a serem monitorados.

O parâmetro --alarm-configuration aceita uma estrutura JSON com os seguintes campos:

  • Alarms (obrigatório): um objeto de alarme com um campo Name que identifica o alarme do CloudWatch a ser monitorado.

  • IgnorePollAlarmFailure (opcional, booliano): controla o comportamento quando o Automation não consegue recuperar o estado do alarme. Defina como false (padrão) para interromper a execução se o estado do alarme não puder ser determinado ou como true para continuar a execução de qualquer forma.

O exemplo a seguir inicia uma automação que monitora um alarme do CloudWatch denominado my-alarm. Como IgnorePollAlarmFailure está definido como false, a automação será interrompida se não conseguir recuperar o estado do alarme:

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

Monitoramento de alarmes entre regiões e entre contas

Para automações executadas em várias contas e regiões, você pode configurar o monitoramento de alarmes por local de destino usando o campo TargetLocationAlarmConfiguration em TargetLocations. O perfil de execução em cada conta de destino (por exemplo, AWS-SystemsManager-AutomationExecutionRole) deve ter as permissões cloudwatch:DescribeAlarms e ssm:StopAutomationExecution.

Para obter mais informações sobre a configuração de perfis entre contas, consulte Configurar permissões da conta de gerenciamento para execução da automação de várias regiões e contas.