AWS 사고 관리 마스터하기: Systems Manager Incident Manager를 사용한 대응 자동화
Jan 04, 2025 am 02:30 AM개요
AWS Lambda에서 증가된 오류율을 처리할 때 오류를 분류하고 에스컬레이션 경로를 정의하는 것이 중요합니다. 이 가이드는 AWS Systems Manager Incident Manager를 사용하여 자동으로 인시던트를 효과적으로 처리하고 에스컬레이션하는 방법을 보여줍니다. 워크플로우에는 Runbook을 사용하여 오류 세부 정보를 수집하고 Amazon SNS를 통해 이해관계자에게 알리는 작업이 포함됩니다.
AWS 시스템 관리자 인시던트 관리자를 사용하는 이유는 무엇입니까?
AWS Systems Manager Incident Manager는 AWS 환경 내에서 사고 대응을 위한 중앙 집중식 관리를 제공합니다. 주요 이점은 다음과 같습니다.
기본 AWS 통합: Amazon CloudWatch, AWS Lambda 및 Amazon EventBridge와 같은 서비스와 원활하게 통합됩니다.
런북 자동화: 자동화 또는 반자동 워크플로를 촉진하여 사고 문제를 해결합니다.
다채널 알림: Amazon SNS, Slack 및 Amazon Chime을 통한 알림을 지원합니다.
비용 효율성: 중소 규모 환경을 위한 상용 솔루션의 실행 가능한 대안.
제한사항
상세한 보고, 복잡한 팀 계층 구조, 다층 에스컬레이션 흐름이 필요한 대규모 조직의 경우 PagerDuty 또는 ServiceNow와 같은 전문 도구가 더 적합할 수 있습니다.
아키텍처 개요
아키텍처는 CloudWatch 경보를 사용하여 AWS Lambda 함수에서 오류를 모니터링합니다. Incident Manager는 오류 처리 및 알림을 위해 자동으로 사고를 생성하고 Runbook을 실행합니다.
오류 시나리오
오류 A: 이메일 알림이 포함된 표준 사건.
오류 B: SMS 알림 및 에스컬레이션이 필요한 심각한 사건입니다.
CloudWatch 경보는 이러한 오류 유형을 구별하여 그에 따라 특정 사고 대응을 트리거하도록 구성됩니다.
단계별 구성
1단계: Lambda 오류에 대한 CloudWatch 경보 생성
예제 Lambda 함수:
import logging logger = logging.getLogger() logger.setLevel(logging.INFO) def lambda_handler(event, context): error_type = event.get("errorType") try: if error_type == "A": logger.error("Error A: A standard exception occurred.") raise Exception("Error A occurred") elif error_type == "B": logger.error("Error B: A critical runtime error occurred.") raise RuntimeError("Critical Error B occurred") else: logger.info("No error triggered.") return {"statusCode": 200, "body": "Success"} except Exception as e: logger.exception("An error occurred: %s", e) raise
CloudWatch 지표 및 경보 구성:
- 측정항목 필터: 오류 A 및 오류 B에 대한 필터를 만듭니다.
- 알람: 이 필터를 적절한 임계값과 기간이 있는 알람에 연결하세요.
- 경보 조치: 사건 관리자 워크플로를 시작하기 위한 트리거를 설정합니다.
2단계: 사건 관리자 설정
- 사고 관리자 활성화:
import logging logger = logging.getLogger() logger.setLevel(logging.INFO) def lambda_handler(event, context): error_type = event.get("errorType") try: if error_type == "A": logger.error("Error A: A standard exception occurred.") raise Exception("Error A occurred") elif error_type == "B": logger.error("Error B: A critical runtime error occurred.") raise RuntimeError("Critical Error B occurred") else: logger.info("No error triggered.") return {"statusCode": 200, "body": "Success"} except Exception as e: logger.exception("An error occurred: %s", e) raise
3단계: 알림 연락처 구성
- 이메일: 오류 A에 대해 관리자에게 알립니다.
- SMS: 오류 B 에스컬레이션에 대해 이해관계자에게 알립니다.
4단계: 에스컬레이션 계획 정의
오류 A: 해결되지 않은 경우 이메일 알림 후 SMS가 발송됩니다.
오류 B: 즉시 SMS 알림
5단계: Runbook 만들기
런북 템플릿:
- Navigate to the Incident Manager settings in the AWS Management Console and onboard your account.
6단계: 대응 계획 수립
오류 A와 오류 B에 대해 별도의 대응 계획을 정의합니다.
런북과 알림 채널을 각 대응 계획에 연결하세요.
7단계: CloudWatch 경보를 Incident Manager에 연결
- 해당 사고 관리자 대응 계획을 실행하도록 경보 조치를 편집합니다.
데모
상용 도구 비교
Feature | AWS Incident Manager | PagerDuty | ServiceNow |
---|---|---|---|
Cost Efficiency | High | Medium | Low |
AWS Integration | Seamless | Limited | Limited |
Escalation Flexibility | Moderate | High | High |
Reporting and Analytics | Basic | Advanced | Advanced |
AWS Incident Manager의 이상적인 사용 사례:
AWS 중심 아키텍처를 갖춘 중소 규모 환경.
간단한 에스컬레이션 및 알림이 필요합니다.
비용에 민감한 배포.
결론
AWS Systems Manager Incident Manager는 AWS 중심 환경에서 사고 대응을 위한 비용 효율적인 도구입니다. 상용 솔루션의 일부 고급 기능은 부족하지만 AWS 서비스와의 강력한 통합 및 다양한 사용 사례에 충분한 기능을 제공합니다. 설치가 쉽고 비용이 저렴하므로 중소 규모 운영에 매력적인 선택입니다.
참고자료
AWS 시스템 관리자 사고 관리자
AWS Lambda 모니터링
Amazon CloudWatch 경보
PagerDuty
ServiceNow
위 내용은 AWS 사고 관리 마스터하기: Systems Manager Incident Manager를 사용한 대응 자동화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









