상태 검사에 실패한 Amazon EC2 인스턴스용 CloudWatch 알람 만들기

상태 검사에 실패한 Amazon EC2 인스턴스용 CloudWatch 알람 만들기 (Create CloudWatch alarms for Amazon EC2 instances that fail status checks)

상태 검사 메트릭을 사용해 인스턴스의 상태 검사가 실패했을 때 알려주는 CloudWatch 알람을 만들 수 있어요.

출처: 문서

본문

메트릭 데이터 포인트가 누락되면 상태 검사와 상태 검사 알람이 일시적으로 데이터 부족(insufficient data) 상태에 들어갈 수 있어요. 드물지만 인스턴스가 정상일 때에도 메트릭 보고 시스템에 중단이 있으면 발생할 수 있어요. 이 상태를 상태 검사 실패나 알람 위반이 아닌 누락된 데이터로 취급할 것을 권장해요. 특히 이에 대응해 인스턴스에 중지, 종료, 재부팅, 복구 작업을 수행할 때 중요해요.

콘솔로 상태 검사 알람 만들기

이 예제는 인스턴스가 상태 검사에 실패할 때 알림을 보내는 알람을 구성해요. 선택적으로 인스턴스를 중지, 종료, 복구할 수 있어요.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창에서 Instances를 선택해요.
  3. 인스턴스를 선택하고 Status Checks 탭을 선택한 뒤 Actions, Create status check alarm을 선택해요.
  4. Manage CloudWatch alarms 페이지의 Add or edit alarm에서 Create an alarm을 선택해요.
  5. Alarm notification에서 토글을 켜 Amazon SNS 알림을 구성해요. 기존 Amazon SNS 주제를 선택하거나 이름을 입력해 새 주제를 만들어요. 받는 사람 목록에 이메일 주소를 추가하거나 새 주제를 만들면 Amazon SNS가 각 새 주소에 확인 이메일을 보내요. 각 수신자가 이메일의 확인 링크를 선택해야 해요. 확인된 주소만 알림을 받아요.
  6. Alarm action에서 토글을 켜 알람이 트리거될 때 수행할 작업을 지정해요.
  7. Alarm thresholds에서 알람의 메트릭과 기준을 지정해요. Group samples by(Average)와 Type of data to sample(Status check failed:either)의 기본 설정을 그대로 두거나 필요에 맞게 변경할 수 있어요. Consecutive period에서 평가할 기간 수를 설정하고, Period에 알람 트리거·이메일 발송 전 평가 기간 길이를 입력해요.
  8. (선택) Sample metric data에서 Add to dashboard를 선택해요.
  9. Create를 선택해요.

콘솔로 상태 검사 알람 편집하기

  1. Amazon EC2 콘솔에서 Instances를 선택해요.
  2. 인스턴스를 선택하고 Actions, Monitoring, Manage CloudWatch alarms을 선택해요.
  3. Add or edit alarm에서 Edit an alarm을 선택해요.
  4. Search for alarm에서 알람을 선택해요.
  5. 변경을 마치고 Update를 선택해요.

AWS CLI로 상태 검사 알람 만들기

다음 예제는 인스턴스가 인스턴스 검사나 시스템 상태 검사 중 하나를 연속 두 기간 이상 실패하면 SNS 주제에 알림을 게시하는 알람이에요. 사용된 CloudWatch 메트릭은 StatusCheckFailed예요.

  1. 기존 SNS 주제를 선택하거나 새로 만들어요.
  2. 다음 list-metrics 명령으로 Amazon EC2의 사용 가능한 CloudWatch 메트릭을 확인해요.
aws cloudwatch list-metrics --namespace AWS/EC2
  1. 다음 put-metric-alarm 명령으로 알람을 만들어요.
aws cloudwatch put-metric-alarm \
    --alarm-name StatusCheckFailed-Alarm-for-i-1234567890abcdef0 \
    --metric-name StatusCheckFailed \
    --namespace AWS/EC2 \
    --statistic Maximum \
    --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
    --unit Count \
    --period 300 \
    --evaluation-periods 2 \
    --threshold 1 \
    --comparison-operator GreaterThanOrEqualToThreshold \
    --alarm-actions arn:aws:sns:us-west-2:111122223333:my-sns-topic

period는 Amazon CloudWatch가 메트릭을 수집하는 시간 프레임(초)이에요. 이 예제는 300(60초 × 5분)을 사용해요. evaluation period는 메트릭 값이 임계값과 비교되어야 하는 연속 기간 수예요. 이 예제는 2를 사용해요. alarm actions는 이 알람이 트리거될 때 수행할 작업이에요.

PowerShell로 상태 검사 알람 만들기

Write-CWMetricAlarm cmdlet을 사용해 인스턴스가 연속 두 기간 이상 상태 검사에 실패할 때 SNS 주제에 알림을 게시해요.

Write-CWMetricAlarm `
    -AlarmName "StatusCheckFailed-Alarm-for-i-1234567890abcdef0" `
    -MetricName "StatusCheckFailed" `
    -Namespace "AWS/EC2" `
    -Statistic "Maximum" `
    -Dimension @{Name="InstanceId"; Values="i-1234567890abcdef0"} `
    -Unit "Count" `
    -Period 300 `
    -EvaluationPeriod 2 `
    -Threshold 1 `
    -ComparisonOperator "GreaterThanOrEqualToThreshold" `
    -AlarmAction "arn:aws:sns:us-west-2:111122223333:my-sns-topic"

더 알아보기