운영 중인 앱에 오류가 생기거나 속도가 느려지면 무엇이 잘못되었는지 파악해야 합니다. 이 능력을 관찰성(Observability)이라고 합니다. AWS DVA-C02 시험은 원인을 파악하기 위해 어떤 도구를 사용해야 하는지를 묻습니다.
Amazon CloudWatch
CloudWatch는 AWS의 중앙 모니터링 서비스입니다. 모든 서비스를 한 곳에서 감시하는 관제탑과 같습니다. 크게 5가지 기능을 제공합니다.
CloudWatch Logs
모든 AWS 서비스의 로그를 한 곳에 모아 수집합니다. 로그 그룹(Log Group): 비슷한 로그를 묶어 정리하는 논리적 컨테이너입니다. 폴더처럼 생각하면 됩니다. 로그 스트림(Log Stream): 특정 소스에서 온 로그를 시간 순으로 나열한 흐름입니다. 보존 기간: 1일부터 영구 보존까지 설정 가능합니다 (기본값: 영구 보존).
CloudWatch Metrics
시스템 건강 상태를 나타내는 수치 측정값입니다. CPU 사용률, 네트워크 트래픽, 요청 수 등을 주로 1분 단위로 수집합니다.
쉽게 말하면 자동차의 속도계, 연료계, 엔진 온도계와 같습니다.
CloudWatch Logs Insights
대량의 로그에서 원하는 정보를 빠르게 찾아주는 분석 도구입니다. SQL과 유사한 문법을 사용합니다. 예를 들어 "지난 1시간 동안의 오류 로그만 보여줘"처럼 조회할 수 있습니다.
CloudWatch Alarms
설정한 임계값을 메트릭이 초과하면 자동으로 알림을 보내거나 조치를 취합니다. 예를 들어 CPU 사용률이 80%를 넘으면 SMS를 보내거나 자동으로 서버를 추가할 수 있습니다.
CloudWatch Dashboards
여러 메트릭과 로그를 그래프로 한 화면에 시각화하여 팀 전체가 서비스 상태를 한눈에 파악할 수 있게 해줍니다.
AWS X-Ray
X-Ray는 여러 분산 서비스를 거치는 요청의 전체 경로를 추적합니다. 쉽게 말하면 택배가 각 물류 센터에서 얼마나 머물렀는지 정확히 보여주는 배송 추적 시스템과 같습니다.
서비스 맵(Service Map): 서비스 간의 관계와 각 구간의 지연 시간을 시각적으로 보여줍니다. 추적(Trace): 한 요청이 여러 서비스를 통과하는 전체 경로를 기록한 것입니다. 세그먼트(Segment): 특정 서비스가 요청을 처리하는 데 걸린 시간입니다. 서브세그먼트(Subsegment): 세그먼트 내의 세부 작업 시간입니다 (예: DB 쿼리 시간, 외부 API 호출 시간).
X-Ray를 사용하면 어떤 서비스가 전체를 느리게 만드는 병목인지 즉시 파악할 수 있습니다.
EMF (Embedded Metric Format)
EMF를 사용하면 특수한 JSON 형식으로 로그를 출력할 때 CloudWatch가 자동으로 메트릭을 추출합니다. 별도로 PutMetricData API를 호출할 필요가 없습니다.
시험 핵심 정리
"로그를 SQL로 분석" -- CloudWatch Logs Insights
"분산 앱의 요청 흐름 추적" -- X-Ray
"서비스 간 연결과 지연 시간 시각화" -- X-Ray 서비스 맵
"메트릭 임계값 초과 시 알림" -- CloudWatch Alarms
"구조화된 로그에서 자동으로 메트릭 추출" -- EMF (Embedded Metric Format)
"여러 메트릭을 한 화면에서 시각화" -- CloudWatch Dashboards
"요청 경로의 병목 지점 파악" -- X-Ray 추적 및 세그먼트
X-Ray는 Lambda, API Gateway, ECS 등과 통합 가능