CloudWatch 경보를 모니터링하도록 Automation 구성
CloudWatch 경보를 모니터링하도록 Automation 런북 실행을 구성할 수 있습니다. 지정한 경보가 ALARM 상태가 되면 Automation이 실행을 중지합니다. 속도 제어 모드를 사용하는 실행이나 여러 계정에서 실행되는 경우 Automation은 대기 중인 모든 실행을 취소합니다. 런북에서 onCancel 단계를 정의하면 실행이 종료되기 전에 해당 단계가 실행됩니다. 이를 통해 모니터링되는 리소스가 비정상 상태일 때 런북이 계속 실행되는 것을 방지할 수 있습니다.
시작하기 전 준비 사항
CloudWatch 경보 모니터링을 구성하기 전에 다음 사전 조건을 완료합니다.
-
CloudWatch 경보 생성 - Automation 실행의 영향을 받는 리소스를 모니터링하는 경보를 생성합니다. 자세한 내용은 Amazon CloudWatch 경보 사용을 참조하세요.
-
실행 자격 증명 권한 구성 - CloudWatch 경보 모니터링이 올바르게 작동하려면 Automation에서 사용하는 실행 자격 증명에 다음 권한이 있어야 합니다.
-
cloudwatch:DescribeAlarms- 경보 상태를 모니터링하는 데 필요합니다. -
ssm:StopAutomationExecution- 경보가 활성화될 때 실행을 중지하는 데 필요합니다.
실행 자격 증명은 Automation 런북의
assumeRole필드에 지정된 IAM 역할 ARN에 따라 결정됩니다.assumeRole값을 지정하지 않으면 런북은StartAutomationExecution를 호출한 IAM 보안 주체의 자격 증명을 사용하여 실행됩니다. -
다음 예제에서는 CloudWatch 경보 모니터링에 필요한 권한을 부여하는 최소 IAM 정책을 보여 줍니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "ssm:StopAutomationExecution" ], "Resource": "*" } ] }
경보 모니터링 구성(콘솔)
Systems Manager 콘솔에서 Automation을 시작할 때 다음 절차에 따라 CloudWatch 경보 모니터링을 구성합니다.
경보 모니터링을 구성하려면
https://console.aws.amazon.com/systems-manager/
-
왼쪽 탐색 창에서 Automation을 선택합니다.
-
자동화 실행(Execute automation)을 선택합니다.
-
런북을 선택하고 실행에 사용할 입력 파라미터를 구성합니다.
-
CloudWatch 경보 섹션에서 실행 중에 모니터링할 경보를 선택합니다.
-
(선택 사항) Automation에서 경보 상태를 가져올 수 없을 때의 동작을 제어하려면 1경보 상태를 사용할 수 없는 경우 Automation 계속을 전환합니다. 활성화하면 경보 상태를 확인할 수 없는 경우에도 실행이 계속됩니다. 비활성화하면(기본값) 경보 상태를 가져올 수 없는 경우 실행이 중지됩니다.
-
실행을 선택합니다.
경보 모니터링 구성(AWS CLI)
aws ssm
start-automation-execution 명령과 함께 --alarm-configuration 파라미터를 사용하여 모니터링할 CloudWatch 경보를 지정합니다.
--alarm-configuration 파라미터에는 다음 필드가 포함된 JSON 구조를 사용할 수 있습니다.
-
Alarms(필수) — 모니터링할 CloudWatch 경보를 식별하는Name필드가 포함된 경보 객체입니다. -
IgnorePollAlarmFailure(선택 사항, 부울) — Automation에서 경보 상태를 가져올 수 없을 때의 동작을 제어합니다. 경보 상태를 확인할 수 없는 경우 실행을 중지하려면false(기본값)로 설정하고, 경보 상태와 관계없이 실행을 계속하려면true로 설정합니다.
다음 예제에서는 이름이 my-alarm인 CloudWatch 경보를 모니터링하는 Automation을 시작합니다. IgnorePollAlarmFailure이 false로 설정되어 있으므로 경보 상태를 가져올 수 없는 경우 Automation이 중지됩니다.
aws ssm start-automation-execution \ --document-name "AWS-RestartEC2Instance" \ --parameters '{"InstanceId":["i-02573cafcfEXAMPLE"]}' \ --alarm-configuration '{"IgnorePollAlarmFailure":false,"Alarms":[{"Name":"my-alarm"}]}'
교차 계정 및 교차 리전 경보 모니터링
여러 계정 및 리전에서 실행되는 Automation의 경우 TargetLocations 내의 TargetLocationAlarmConfiguration 필드를 사용하여 대상 위치별로 경보 모니터링을 구성할 수 있습니다. 각 대상 계정의 실행 역할(예: AWS-SystemsManager-AutomationExecutionRole)에는 cloudwatch:DescribeAlarms 및 ssm:StopAutomationExecution 권한이 있어야 합니다.
교차 계정 역할 설정에 대한 자세한 내용은 다중 리전 및 다중 계정 자동화를 위한 관리 계정 권한 설정을 참조하세요.