
[monitoring] AWS X-Ray
요청이 여러 서비스를 거치는데 어디서 느려졌는지 모르겠다면. 요청의 여정을 통째로 추적해 병목을 찾습니다.
One-Line Summary
X-Ray는 요청이 여러 서비스(마이크로서비스)를 거치는 경로를 추적(distributed tracing) 해, 어디서 지연·오류가 나는지 시각적으로 보여주는 분산 추적 서비스다. 시험에서는 마이크로서비스/서버리스 요청 흐름 추적 / 병목·지연 원인 파악 / 서비스 맵 이 핵심이다. "여러 컴포넌트에 걸친 요청에서 어디가 느린지"면 X-Ray다.
Why It Exists
하나의 요청이 API Gateway → Lambda → DynamoDB → 다른 서비스처럼 여러 컴포넌트를 거치면, 어느 구간에서 느려지거나 실패하는지 로그만으로는 알기 어렵다. 서비스별 로그가 흩어져 있기 때문이다.
X-Ray는 요청에 추적 정보를 붙여 전체 경로를 하나로 이어 보여준다.
요청 하나가 여러 서비스를 통과
API Gateway -> Lambda -> DynamoDB
-> 외부 API
X-Ray가 각 구간의 소요시간/오류를 수집 -> 서비스 맵 + 트레이스
-> "이 구간이 병목/에러" 를 한눈에
시험 감각:
"마이크로서비스/분산 앱에서 요청 흐름을 추적하고 병목을 찾아라" = X-Ray.
Abbreviations
| 약어 | 풀네임 | 의미 |
|---|---|---|
Trace | Trace | 요청 하나가 전체 경로를 지나며 남긴 추적 데이터 |
Segment | Segment | 한 서비스가 처리한 구간 기록 |
Service Map | Service Map | 서비스 간 호출 관계·지연·오류를 그린 지도 |
Sampling | Sampling | 일부 요청만 추적해 비용/부하를 줄이는 설정 |
무엇을 알 수 있나
| 알 수 있는 것 | 활용 |
|---|---|
| 서비스 맵 | 어떤 서비스가 어떤 서비스를 부르는지 전체 구조 |
| 구간별 지연 | 어느 호출이 느린지(병목) 식별 |
| 오류/예외 위치 | 어느 서비스에서 에러가 나는지 |
| 다운스트림 의존성 | 외부 API·DB 호출의 영향 |
어디에 붙나 (통합)
X-Ray는 Lambda, API Gateway, ECS, EC2, Elastic Beanstalk 등과 통합된다. 애플리케이션에 X-Ray SDK를 넣거나 서비스 설정에서 추적을 켠다.
전형적 서버리스 추적
API Gateway(추적 on) -> Lambda(X-Ray SDK) -> DynamoDB
-> X-Ray 콘솔에서 end-to-end 트레이스 확인
세 관측 서비스의 역할 구분 (아주 빈출)
| 서비스 | 답하는 질문 |
|---|---|
| CloudWatch | 리소스가 건강한가? 지표가 임계치를 넘었나? (지표·로그·경보) |
| X-Ray | 이 요청이 어느 서비스에서 느려지고 실패하나? (요청 추적) |
| Performance Insights | 데이터베이스 부하를 유발하는 SQL/대기 이벤트는? (DB 내부) |
시험 감각:
"여러 서비스에 걸친 요청 추적/병목" = X-Ray(지표 감시=CloudWatch, DB 부하=PI와 구분).
Common Wrong Directions
| 오답 방향 | 왜 부족한가 |
|---|---|
| 분산 요청 병목 추적을 CloudWatch 지표로만 | 요청 단위 end-to-end 추적은 X-Ray |
| 단일 서비스 CPU/메모리 문제를 X-Ray로 | 리소스 지표는 CloudWatch |
| DB 쿼리 부하 분석을 X-Ray로 | DB 내부 부하는 Performance Insights |
| 로그를 모아 보기만 하면 되는데 X-Ray | 로그 수집·조회는 CloudWatch Logs |
Exam Triggers
| 문제에서 이런 표현이 나오면 | 떠올릴 것 |
|---|---|
| "trace requests across microservices" | X-Ray |
| "identify bottlenecks / latency in a distributed application" | X-Ray |
| "service map / visualize service dependencies" | X-Ray |
| "debug/analyze a serverless (API GW + Lambda) request path" | X-Ray |
| "resource metrics / alarms" | X-Ray 아님 → CloudWatch |
| "which SQL causes DB load" | X-Ray 아님 → Performance Insights |
Memory Sentence
X-Ray는 여러 서비스를 거치는 요청을 end-to-end로 추적해 서비스 맵과 구간별 지연·오류로 병목을 찾는다. 리소스 지표·경보는 CloudWatch, DB 부하 SQL은 Performance Insights와 구분한다.
References
댓글
아직 댓글이 없습니다.