REL06-BP03 알림 전송(실시간 처리 및 경보) - AWS Well-Architected Framework

REL06-BP03 알림 전송(실시간 처리 및 경보)

조직은 잠재적인 문제를 탐지하면 해당 직원과 시스템에 실시간 알림과 경고를 보내 이러한 문제에 신속하고 효과적으로 대응할 수 있도록 합니다.

원하는 결과: 서비스 및 애플리케이션 지표를 기반으로 관련 경보를 구성하여 운영 이벤트에 신속하게 대응할 수 있습니다. 경보 임계값이 위반되면 적절한 인력과 시스템에 알림이 전송되어 근본적인 문제를 해결할 수 있습니다.

일반적인 안티 패턴:

  • 임계값이 지나치게 높은 경보를 구성하여 중요한 알림을 보내지 못하는 상황

  • 임계값이 너무 낮은 경보를 구성하여 과도한 알림 노이즈로 인해 중요한 알림이 제대로 조치되지 않는 상황

  • 사용량이 변경될 때 경보 및 임계값을 업데이트하지 않는 상황

  • 자동화된 작업을 통해 가장 잘 해결되는 경보에 대해, 자동화된 작업을 생성하지 않고 담당자에게 알림을 보내 과도한 알림이 전송되는 상황

이 모범 사례 확립의 이점: 적절한 인력과 시스템에 실시간 알림과 경고를 전송하면 문제를 조기에 탐지하고 운영 인시던트에 신속하게 대응할 수 있습니다.

이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음

구현 가이드

워크로드는 애플리케이션의 가용성에 영향을 미칠 수 있는 문제의 탐지 가능성을 개선하고 자동화된 대응을 위한 트리거 역할을 할 수 있도록 실시간 처리 및 경보 기능을 갖추어야 합니다. 조직은 정의된 지표로 경고를 생성하여 중요한 이벤트가 발생하거나 지표가 임계값을 초과할 때마다 알림을 수신하여 실시간 처리 및 경보를 수행할 수 있습니다.

Amazon CloudWatch 를 사용하면 지표 와 정적 임계값, 이상 탐지 및 기타 기준에 기반한 CloudWatch 경보를 사용하는 복합 경보를 만들 수 있습니다. CloudWatch를 사용하여 구성할 수 있는 경보 유형에 대한 자세한 내용은 CloudWatch 설명서의 알람 섹션을 참조하십시오.

팀의 AWS 리소스 지표 및 경보에 대한 사용자 지정 보기를 구성할 수 있습니다. 이 경우 CloudWatch 대시보드를 사용할 수 있습니다. CloudWatch 콘솔의 사용자 지정 가능한 홈 페이지를 사용하면 여러 리전에 걸쳐 단일 보기에서 리소스를 모니터링할 수 있습니다.

경보는 다음에 알림을 보내는 것과 같은 하나 이상의 작업을 수행할 수 있습니다. Amazon SNS 주제로 알림을 전송할 수 있습니다.이때 Amazon EC2 작업 또는 Amazon EC2 Auto Scaling 작업을 수행하거나 OpsItem 또는 인시던트 를 생성합니다(AWS Systems Manager에서).

Amazon CloudWatch는 경보 상태가 변경될 때 Amazon SNS 를 사용하여 알림을 전송하고, 게시자(생산자)에서 구독자(소비자)에게 메시지를 전달합니다. Amazon SNS 알림 설정에 대한 자세한 내용은 Amazon SNS 구성을 참조하십시오.

CloudWatch에서 EventBridge 이벤트를 전송합니다 (CloudWatch 경보가 생성, 업데이트, 삭제되거나 상태가 변경될 때마다). 이러한 이벤트와 함께 EventBridge를 사용하여 경보 상태가 변경될 때마다 사용자에게 알리거나 Systems Manager자동화를 사용하여 계정에서 이벤트를 자동으로 트리거하는 등의 작업을 수행하는 규칙을 만들 수 있습니다.

EventBridge 또는 Amazon SNS는 언제 사용해야 하나요?

이벤트 기반 애플리케이션을 개발하는 데 EventBridge와 Amazon SNS를 모두 사용할 수 있으며, 특정 요구 사항에 따라 선택이 달라집니다.

자체 애플리케이션, SaaS 애플리케이션 및 AWS 서비스의 이벤트에 반응하는 애플리케이션을 구축하려는 경우 Amazon EventBridge를 사용하는 것이 좋습니다. EventBridge는 타사 SaaS 파트너와 직접 통합되는 유일한 이벤트 기반 서비스입니다. 또한 EventBridge는 개발자가 계정에 리소스를 생성할 필요 없이 200개 이상의 AWS 서비스에서 이벤트를 자동으로 수집합니다.

EventBridge는 이벤트에 대해 정의된 JSON 기반 구조를 사용하며, 이벤트 본문 전체에 적용되는 규칙을 생성하여 대상에 전달할 이벤트를 선택할 수 있도록 도와줍니다. EventBridge는 현재 다음을 포함한 20개 이상의 AWS 서비스를 대상으로 지원합니다. AWS Lambda, Amazon SQS, Amazon SNS, Amazon Kinesis Data StreamsAmazon Data Firehose단축할 수 있습니다.

높은 팬 아웃(수천 또는 수백만 개의 엔드포인트)이 필요한 애플리케이션에는 Amazon SNS가 권장됩니다. 일반적으로 고객이 Amazon SNS를 규칙 대상으로 사용하여 필요한 이벤트를 필터링하고 여러 엔드포인트로 팬아웃하는 패턴을 볼 수 있습니다.

메시지는 비정형이며 모든 형식이 가능합니다. Amazon SNS는 Lambda, Amazon SQS, HTTP/S 엔드포인트, SMS, 모바일 푸시, 이메일 등 6가지 상이한 유형의 대상에 메시지를 전달할 수 있도록 지원합니다. Amazon SNS의 일반적인 지연 시간은 30밀리초 미만입니다. 다양한 AWS 서비스에서 Amazon SNS 메시지를 전송하도록 서비스를 구성하여 전송합니다(다음을 포함하여 30가지 이상: Amazon EC2, Amazon S3Amazon RDS).

구현 단계

  1. 경보를 생성합니다 (Amazon CloudWatch 경보 사용).

    1. 지표 경보에서는 단일 CloudWatch 지표 또는 CloudWatch 지표에 종속된 표현식을 모니터링합니다. 경보는 여러 시간 간격에 걸쳐 임계값과 비교한 지표 또는 표현식의 값에 따라 하나 이상의 작업을 시작합니다. 작업은 다음으로 알림을 보내는 것으로 구성될 수 있습니다. Amazon SNS 주제로 알림을 전송합니다.이때 Amazon EC2 작업 또는 Amazon EC2 Auto Scaling 작업을 수행하거나 OpsItem 또는 인시던트 를 생성합니다(AWS Systems Manager에서).

    2. 복합 경보는 사용자가 만든 다른 경보의 경보 조건을 고려하는 규칙 표현식으로 구성됩니다. 복합 경보는 모든 규칙 조건이 충족되는 경우에만 경보 상태로 전환됩니다. 복합 경보의 규칙 표현식에 지정된 경보에는 지표 경보 및 추가 복합 경보가 포함될 수 있습니다. 복합 경보는 상태가 변경될 때 Amazon SNS 알림을 보낼 수 있으며 다음을 생성할 수 있습니다. Systems Manager OpsItems 또는 인시던트 (경보 상태에 들어갔지만 Amazon EC2 또는 Auto Scaling 작업을 수행할 수 없는 경우).

  2. 그리고 Amazon SNS 알림을 설정합니다. CloudWatch 경보 생성 시, 경보 상태가 변경될 때 알림을 보내도록 Amazon SNS 토픽을 포함할 수 있습니다.

  3. EventBridge에서 지정된 CloudWatch 경보와 일치하는 규칙을 생성합니다. 각 규칙은 Lambda 함수를 비롯한 여러 대상을 지원합니다. 예를 들어, 사용 가능한 디스크 공간이 부족할 때 시작되는 경보를 정의하여 EventBridge 규칙을 통해 Lambda 함수를 트리거하여 공간을 정리할 수 있습니다. EventBridge 대상에 대한 자세한 내용은 EventBridge 대상을 참조하십시오.

리소스

관련 Well-Architected 모범 사례:

관련 문서:

관련 동영상:

관련 예시: