모니터링 - 성능 효율성 원칙

모니터링

아키텍처를 구현한 후에는 고객이 영향을 받기 전에 모든 문제를 해결할 수 있도록 성능을 모니터링해야 합니다. 모니터링 지표를 사용하여 임계값을 초과할 경우 경보가 생성되도록 해야 합니다.

AWS에서 수행하는 모니터링에서는 다음의 5가지 고유 단계를 진행합니다. 이러한 단계와 관련된 자세한 설명은 다음 백서에 나와 있습니다. 안정성 원칙 백서:

  • 생성 – 모니터링 범위, 지표 및 임계값

  • 집계 – 여러 원본에서 모든 모니터링 정보를 확인할 수 있는 보기 생성

  • 실시간 처리 및 알림 – 인지 및 대응

  • 스토리지 – 데이터 관리 및 보존 정책

  • 분석 – 대시보드, 보고 및 분석 정보 파악

CloudWatch는 AWS 클라우드 리소스 및 AWS에서 실행되는 워크로드용 모니터링 서비스입니다. CloudWatch를 사용하면 지표를 수집/추적하고 로그 파일을 수집/모니터링하고 경보를 설정할 수 있습니다. CloudWatch는 EC2 인스턴스/RDS DB 인스턴스 등의 AWS 리소스는 물론 워크로드와 서비스에서 생성된 사용자 지정 지표와 애플리케이션에서 생성한 모든 로그 파일을 모니터링할 수 있습니다. CloudWatch를 사용하면 리소스 사용률, 애플리케이션 성능 및 운영 상태에 대한 시스템 차원의 가시성을 확보할 수 있습니다. 이러한 분석 정보를 활용해 문제에 빠르게 대응하고 워크로드가 원활하게 실행되는 상태를 유지할 수 있습니다.

CloudWatch 대시보드를 사용하면 AWS 리소스 및 사용자 지정 지표의 재사용 가능 그래프를 생성할 수 있으므로 운영 상태를 모니터링하고 문제를 한눈에 파악할 수 있습니다.

효율적인 모니터링 솔루션에서는 오탐이 발생하지 않아야 합니다. 자동 트리거는 수동 작업으로 인한 오류를 방지하고 문제를 해결하는 데 걸리는 시간을 줄일 수 있습니다. 프로덕션 환경에서 시뮬레이션이 진행되는 게임 데이를 계획하여 경보 솔루션을 테스트하고 해당 솔루션이 문제를 정확하게 인지하는지를 확인합니다.

모니터링 솔루션에는 활성 모니터링(AM)과 수동 모니터링(PM)의 두 가지 유형이 있습니다. AM과 PM은 상호 보완 관계이므로 워크로드 성능과 관련된 모든 정보를 파악할 수 있습니다.

활성 모니터링 에서는 제품의 주요 경로를 따라 진행되는 스크립트로 작성된 사용자 여정의 사용자 활동을 시뮬레이션합니다. 워크로드의 성능과 가용성을 테스트하려면 AM을 지속적으로 수행해야 합니다. AM은 지속적으로 수행, 간편하고 예측이 가능하며 PM을 보완합니다. 모든 환경(특히 프로덕션 전 환경)에서 AM을 실행하여 문제나 성능 관련 문제점이 최종 사용자에게 영향을 주기 전에 파악할 수 있습니다.

수동 모니터링 은 대개 웹 기반 워크로드에 사용됩니다. PM은 브라우저에서 성능 지표를 수집합니다. 웹을 기반으로 하지 않는 워크로드 역시 유사한 방식을 사용할 수 있습니다. 모든 사용자나 일부 사용자, 지역, 브라우저 및 디바이스 유형에서 지표를 수집할 수 있습니다. PM을 사용하여 다음 문제를 확인하십시오.

  • 사용자 환경 성능: PM에서는 사용자에게 발생하는 문제 관련 지표를 제공합니다. 이 지표를 통해 프로덕션 환경의 작동 방식을 지속적으로 파악할 수 있을 뿐 아니라 시간에 따른 변경의 영향도 확인할 수 있습니다.

  • 지리적 성능 가변성: 워크로드가 전 세계적으로 사용되며 사용자들이 전 세계에서 워크로드에 접근하는 경우 PM을 사용하면 특정 지역의 사용자에게 영향을 미치는 성능 문제를 포착할 수 있습니다.

  • API 사용의 영향: 최신 워크로드는 내부 API와 서드파티 API를 사용합니다. PM을 수행하면 API 사용 방식을 확인할 수 있으므로 내부 API 및 서드파티 API 공급자에서 발생하는 성능 병목 현상을 파악할 수 있습니다.

CloudWatch는 모니터링 기능 및 알림 경보 전송 기능을 제공합니다. 자동화를 이용하면 Amazon Kinesis, Amazon Simple Queue Service(Amazon SQS) 및 AWS Lambda를 통해 작업을 트리거하여 성능 문제를 해결할 수 있습니다.