개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

CloudWatch — 로그와 모니터링

2026년 3월 29일
AWSCloudWatch모니터링로그

AWS CloudWatch는 AWS 리소스와 애플리케이션의 메트릭, 로그, 이벤트를 수집·시각화·경보하는 통합 관측 가능성(Observability) 서비스입니다. EC2 CPU 사용률부터 Lambda 호출 오류, RDS 연결 수, 애플리케이션 커스텀 메트릭까지 AWS 인프라 전반의 상태를 한곳에서 파악할 수 있습니다. 장애 탐지, 용량 계획, 비용 최적화 등 운영의 모든 단계에서 활용됩니다.

관측 가능성(Observability): 시스템의 내부 상태를 외부 출력(메트릭·로그·트레이스)만으로 추론할 수 있는 능력. 모니터링보다 넓은 개념입니다.

Metrics

Metrics는 시간 경과에 따른 수치 데이터입니다. AWS 서비스는 자동으로 기본 메트릭을 CloudWatch에 전송합니다.

주요 서비스별 기본 메트릭은 다음과 같습니다.

서비스메트릭 예시
EC2CPUUtilization, NetworkIn, DiskReadOps
RDSDatabaseConnections, FreeStorageSpace, ReadLatency
ALBRequestCount, TargetResponseTime, HTTPCode_5XX_Count
LambdaInvocations, Errors, Duration, Throttles
SQSNumberOfMessagesSent, ApproximateAgeOfOldestMessage

EC2의 메모리 사용률이나 디스크 사용률은 기본 메트릭에 포함되지 않습니다. 이런 데이터는 CloudWatch Agent를 EC2에 설치하여 커스텀 메트릭으로 수집해야 합니다.

Logs

CloudWatch Logs는 애플리케이션 로그, 시스템 로그, AWS 서비스 로그를 수집·저장·검색하는 서비스입니다.

로그는 계층 구조로 관리됩니다.

Log Group: /aws/lambda/my-function
  |
  +-- Log Stream: 2026/06/19/[$LATEST]abc123
  |     |-- 09:00:01  START RequestId: ...
  |     |-- 09:00:02  INFO  처리 완료
  |     |-- 09:00:02  END   Duration: 120ms
  |
  +-- Log Stream: 2026/06/19/[$LATEST]def456
        |-- ...

Log Group은 동일한 소스의 로그를 묶는 단위입니다. Log Stream은 단일 소스(예: EC2 인스턴스 하나, Lambda 실행 환경 하나)에서 발생하는 로그 시퀀스입니다.

Logs Insights를 사용하면 SQL과 유사한 쿼리 언어로 대용량 로그를 빠르게 분석할 수 있습니다.

fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20

Alarm

Alarm은 메트릭이 지정한 임계값을 초과하거나 미달할 때 알림을 보내거나 자동 조치를 취하는 기능입니다.

알람은 세 가지 상태를 가집니다.

  • OK: 메트릭이 임계값 이내
  • ALARM: 임계값 초과
  • INSUFFICIENT_DATA: 데이터가 충분하지 않음

알람 상태 변화 시 취할 수 있는 조치는 다음과 같습니다.

조치설명
SNS 알림이메일, SMS, Slack 등으로 통보
Auto Scaling인스턴스 수 자동 증감
EC2 작업인스턴스 중지·재시작·종료
Systems Manager자동화 Runbook 실행

Dashboard

Dashboard는 여러 메트릭과 알람을 하나의 화면에 모아 시각화하는 기능입니다. 그래프, 숫자, 게이지, 로그 위젯을 자유롭게 배치할 수 있으며, 팀 전체가 공유하는 운영 현황판으로 사용됩니다.

+------------------+------------------+
|  CPU 사용률       |  요청 수/분       |
|  [꺾은선 그래프]  |  [막대 그래프]   |
+------------------+------------------+
|  5XX 오류 수     |  Lambda 오류율   |
|  [숫자 위젯]     |  [꺾은선 그래프]  |
+------------------+------------------+

실무 활용 패턴

고가용성 알람: ALB의 5XX 오류 수가 1분간 10건 초과 시 SNS로 즉시 알림을 보냅니다. 장애 감지 시간을 분 단위로 단축할 수 있습니다.

Auto Scaling 연동: EC2 CPU 사용률이 70% 초과 시 알람이 트리거되어 Auto Scaling이 인스턴스를 자동으로 추가합니다. 트래픽 급증에 자동 대응합니다.

비용 알람: AWS Billing 메트릭을 모니터링하여 월 예상 청구액이 임계값을 넘으면 알림을 보냅니다. 예기치 않은 비용 발생을 조기에 감지합니다.

Lambda 오류 추적: Lambda 오류율 알람과 Logs Insights를 결합하면 오류 발생 즉시 알림을 받고 해당 시간대 로그를 빠르게 분석하는 워크플로를 구성할 수 있습니다.

CloudWatch는 AWS X-Ray와 연동하여 분산 트레이싱도 지원합니다. 여러 서비스를 거치는 요청의 전체 흐름과 병목 지점을 시각적으로 확인할 수 있어 마이크로서비스 환경의 성능 분석에 유용합니다.

← 이전 글API Gateway — REST·HTTP·WebSocket API 서비스
다음 글 →CloudFormation — 인프라를 코드로 관리 (IaC)