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
assumeRoledo seu runbook do Automation. Se nenhum valorassumeRolefor especificado, o runbook será executado usando a identidade da entidade principal do IAM que chamouStartAutomationExecution. -
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/
-
No painel de navegação à esquerda, escolha Automation (Automação).
-
Escolha Execute automation.
-
Selecione um runbook e configure os parâmetros de entrada para sua execução.
-
Na seção de alarmes do CloudWatch, escolha um alarme para monitorar durante a execução.
-
(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.
-
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 campoNameque 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 comofalse(padrão) para interromper a execução se o estado do alarme não puder ser determinado ou comotruepara 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.