CertNote/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
  • Week 1
    • 1.DevOps라는 운영 모델: CALMS의 다섯 축과 DORA가 측정해 보여준 진실
    • 2.Well-Architected Framework: DevOps의 6개 렌즈로 다시 읽기
    • 3.AWS DevOps 도구 지도: Code* 시리즈와 그 너머의 진짜 그림
    • 4.멀티 계정 전략: Organizations, Control Tower, IAM Identity Center의 진짜 그림
    • 5.Week 1 종합: DevOps 사고 프레임을 시나리오로 굳히기
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
    • 1.X-Ray: 분산 추적의 인과 그래프와 Trace 모델의 깊은 이야기
    • 2.X-Ray 샘플링: Reservoir 알고리즘과 운영 규모의 추적 경제학
    • 3.ADOT: OpenTelemetry가 끝낸 추적 도구 전쟁의 깊은 이야기
    • 4.OpenSearch · AMP · AMG: 역인덱스와 시계열 DB의 두 세계
    • 5.Week 11 종합: 옵저버빌리티 추적·텔레메트리의 실전 의사결정
  • Week 12
  • Week 13
  • Week 14
  • Week 15
  • Week 16
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← DOP-C02/Week 11/Day 5

기준: DOP-C02 시험 가이드·오류 제보

DOP-C02· ProWeek 11 · Day 5읽기 약 19분

Day 5 - Week 11 종합: 옵저버빌리티 추적·텔레메트리의 실전 의사결정

Week 11은 옵저버빌리티의 세 기둥 중 추적(tracing)을 중심으로, 그것을 표준화하는 텔레메트리 파이프라인(ADOT)과 데이터가 흘러 들어가는 백엔드들(OpenSearch·AMP·AMG)까지 한 줄로 꿰었다. 오늘은 다섯 날의 개념을 흩어진 사실이 아니라 하나의 의사결정 체계로 재구성한다. 시험은 "X-Ray가 무엇인가"를 묻지 않는다. "이 상황에서 trace가 끊긴 이유는", "이 비용 문제를 풀 샘플링 구성은", "이 멀티 클라우드 요구에 맞는 도구 조합은"을 묻는다. 그 판단을 연습하는 것이 오늘의 목표다.

Week 11 핵심 재정리 — 다섯 개의 관통하는 원리

1. 분산 추적은 context propagation 위에 선다. X-Ray의 Trace/Segment/Subsegment는 Google Dapper(2010)의 trace-span 모델의 후손이고, 모든 마법은 Trace ID를 프로세스 경계 너머로 전파하는 것 하나에 달려 있다. 멀티 SDK 환경에서 trace가 끊기는 첫 번째 원인은 거의 항상 propagation 헤더 불일치(X-Amzn-Trace-Id vs W3C traceparent)다.

2. 추적의 모든 것은 카디널리티와 비용의 균형이다. Annotation은 인덱싱(검색 가능, 50개 제한, 저카디널리티), Metadata는 비인덱싱(상세). 샘플링은 Reservoir(저트래픽 보장) + FixedRate(초과분 비율)로 가시성과 비용을 동시에 잡는다. 고카디널리티는 trace·메트릭의 적이고 로그(역인덱스)의 친구다.

3. 표준화가 벤더 락인을 푼다. ADOT(OpenTelemetry)는 계측과 백엔드를 분리(의존성 역전)해, 코드는 한 번 계측하고 백엔드는 exporter 설정으로 자유롭게 바꾼다. Collector의 receiver-processor-exporter 파이프라인이 fan-out·가공·라우팅을 한곳에서 한다.

4. 저장소 선택은 데이터 본질의 문제다. 임의 텍스트 검색은 역인덱스(OpenSearch), 수치 시계열 집계는 TSDB(Prometheus/AMP). 둘은 자료구조가 근본적으로 달라 합칠 수 없다.

5. 시각화는 백엔드와 분리된다. AMG(Grafana)는 이질적 데이터 소스를 단일 대시보드로 묶는 중립 계층이고, EKS 관찰성 표준 스택은 ADOT + AMP + AMG다.

💡 관련 이론: Week 11을 관통하는 메타 원리는 관심사의 분리(separation of concerns)다. 추적은 계측(코드)과 수집(Daemon/Collector)과 저장(백엔드)과 시각화(Grafana)를 각각 독립 계층으로 나눈다. 이 분리 덕에 각 계층을 독립적으로 교체·확장할 수 있다 — SDK를 바꿔도 백엔드가 그대로고, 백엔드를 바꿔도 대시보드가 그대로다. 옵저버빌리티 아키텍처 전체가 OTel이 구현한 "계측-전송-저장-시각화"의 4계층 파이프라인이며, 이것이 모놀리식 관찰성 도구(한 벤더가 전부를 묶음)와의 근본적 차이다.

🔍 더 깊이: 옵저버빌리티의 "세 기둥"(metrics·logs·traces)이라는 표현은 사실 비판받는다. 세 신호를 별개로 다루면 상관관계를 사람이 맞춰야 하기 때문이다. 더 현대적인 관점은 "하나의 넓은 이벤트(wide event)에서 세 신호를 파생"하는 것이다(Week 10 Day 1의 EMF·canonical log line과 같은 사상). OTel이 logs·metrics·traces를 OTLP 하나로 통합하고 공통 trace ID·resource를 공유시키는 것이 이 방향이다. 시험에서 "trace에서 메트릭으로, 메트릭에서 로그로 드릴다운"이 자연스럽게 묻는 이유 — 세 신호가 같은 식별자로 묶여야 인시던트 조사가 빨라진다. 기둥이 아니라 직조(weave)로 보는 것이 성숙한 관점이다.

의사결정 트리 — 무엇을 언제 고르나

실전에서 도구를 고르는 질문 흐름:

Q1. 무슨 신호인가?
  ├─ 추적(trace) → X-Ray(AWS 단순) 또는 ADOT(멀티 백엔드)
  ├─ 메트릭(수치 시계열) → CloudWatch(AWS) 또는 AMP(Prometheus 생태계)
  └─ 로그(텍스트 검색) → CloudWatch Logs / OpenSearch(전문 검색)

Q2. 벤더 중립·멀티 클라우드가 필요한가?
  ├─ 예 → OpenTelemetry/ADOT + Prometheus/Grafana
  └─ 아니오(AWS만) → X-Ray + CloudWatch

Q3. 단일 대시보드로 여러 백엔드를 봐야 하나?
  └─ 예 → AMG(Grafana)로 데이터 소스 통합

Q4. 비용/가시성 균형은?
  └─ Reservoir(중요 경로 보장) + FixedRate(노이즈 비율) + Priority 분리

이 트리를 머릿속에 두면, 시나리오 문제의 키워드("멀티 클라우드", "Prometheus", "전문 검색", "코드 변경 없이", "trace가 끊긴다")가 곧바로 답으로 연결된다.

한 조직이 X-Ray로 시작했다가 관찰성 도구를 Datadog으로 표준화하기로 결정했는데, 모든 마이크로서비스에 X-Ray SDK가 깊이 박혀 있어 마이그레이션 비용이 수개월로 추산됐다. 만약 처음부터 OpenTelemetry로 계측했다면 exporter 설정 한 줄(awsxray → datadog)로 끝날 일이었다. 교훈: 초기에 표준(OTel)으로 계측하는 작은 결정이 나중의 거대한 마이그레이션 비용을 좌우한다. "지금 AWS만 쓴다"는 이유로 X-Ray SDK에 깊이 묶이면, 미래의 도구 변경이 코드 재작성이 된다. 락인 비용은 락인 시점이 아니라 탈출 시점에 청구된다.

통합 시나리오 — 다섯 날을 한 문제로

🎯 종합 시나리오: "글로벌 이커머스가 AWS EKS와 온프레미스 K8s를 함께 운영한다. (a) 결제 경로의 trace는 한 건도 놓치면 안 되고 헬스체크는 추적 제외, (b) 추적 도구를 미래에 바꿀 수 있어야 하며, (c) Pod 메트릭은 PromQL로, 애플리케이션 로그는 전문 검색으로 다루고, (d) AWS·온프레미스를 하나의 대시보드에서 회사 SSO로 본다. 전체 설계는?"

계측(Day 1·3): 모든 서비스를 OpenTelemetry로 계측(또는 auto-instrumentation)해 벤더 중립화 → 미래 도구 변경은 exporter 설정만. propagator는 W3C + X-Ray 호환 설정으로 trace 단절 방지.

수집(Day 3): EKS에 ADOT Collector를 DaemonSet(수집)+gateway(tail 샘플링) 2계층으로. agent가 Prometheus scrape·OTLP 수신, gateway가 "에러·고지연 trace 100% 유지" tail 샘플링.

샘플링(Day 2): 결제(/checkout/*)는 Priority 낮게 + Reservoir 크게 + Rate 1.0(전수), 헬스체크는 Reservoir 0 + Rate 0(제외), 나머지는 Default 5%.

저장(Day 4): 메트릭 → AMP(remote_write, PromQL), 로그 → OpenSearch(Subscription→Firehose, 역인덱스 전문 검색), trace → X-Ray(또는 미래엔 다른 백엔드).

시각화(Day 4): AMG에 AMP·OpenSearch·X-Ray·CloudWatch + 온프레미스 Prometheus를 데이터 소스로 연결, IAM Identity Center SSO. PromQL 공유로 AWS·온프레미스 단일 대시보드.

이 한 문제가 Week 11 전체를 관통한다 — 계측은 표준으로, 샘플링은 경로별 차등, 저장은 데이터 본질별, 시각화는 중립 계층으로.


🧠 시나리오 문제 12개

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

주문 서비스(X-Ray SDK)와 신규 결제 서비스(OpenTelemetry)를 함께 쓰는데 Service Map에서 주문→결제 구간 trace가 두 동강 난다. 가장 가능성 높은 원인과 해결은?

문제 2

"결제는 trace 전수 수집, 헬스체크는 완전 제외, 나머지는 비용을 위해 5%"를 X-Ray 샘플링으로 구성하려면?

문제 3

"에러가 난 trace와 p99로 느린 trace는 반드시 100% 보존, 정상은 1%만"을 구현하려면?

문제 4

EKS Pod 메트릭(Prometheus 형식)을 수집해 PromQL로 쿼리하고 관리형으로 운영하려면?

문제 5

"수억 줄 애플리케이션 로그에서 특정 에러 메시지를 전문 검색"하려면 어떤 백엔드와 적재 경로가 표준인가?

문제 6

Lambda에 Active Tracing만 켰는데 함수 내부 DynamoDB·HTTP 호출 subsegment가 안 보인다. 원인은?

문제 7

한 다운스트림의 fault rate가 평소 0.1%에서 서서히 올랐지만 고정 임계값(5%) 아래라 CloudWatch 알람이 침묵했다. "절대값은 낮지만 평소 대비 비정상"을 잡으려면?

문제 8

온프레미스 Jaeger에서 X-Ray로 추적을 옮기되, 기간 중 두 도구를 병행 검증하려면?

문제 9

ReservoirSize를 10으로 했는데 같은 서비스가 100개 인스턴스에서 돈다. 실제 reservoir 수집량은?

문제 10

Prometheus/AMP를 죽이는 가장 흔한 운영 사고와 단명 작업(Lambda·배치) 메트릭 누락의 해법은?

문제 11

AWS(EKS)와 온프레미스 K8s 메트릭을 하나의 대시보드에서 회사 SSO로 보려면?

문제 12

EC2 애플리케이션이 X-Ray에 trace를 보내는 표준 경로와, Lambda가 다른 이유는?

🔜 Week 12 예고

인시던트 대응 자동화 — EventBridge, SSM Automation, Chatbot, Incident Manager

Week 11에서 본 옵저버빌리티(이상을 어떻게 보느냐)는 다음 질문으로 이어진다 — 이상을 발견한 뒤 어떻게 자동으로 대응하느냐. X-Ray Insights·CloudWatch Anomaly Detection이 만든 신호를 EventBridge가 받아 SSM Automation으로 자동 복구하고, Incident Manager로 온콜을 조율하며, Chatbot으로 ChatOps를 엮는 — 탐지에서 대응까지의 자동화 사슬을 Week 12에서 깊이 판다.

이전OpenSearch · AMP · AMG: 역인덱스와 시계열 DB의 두 세계Week 11 · Day 4다음 EventBridge: 이벤트 버스의 라우팅 모델과 비동기 자동화의 신경계Week 12 · Day 1

참고 공식 자료

  • DOP-C02 공식 시험 안내(새 탭에서 열림)
  • AWS X-Ray 공식 문서(새 탭에서 열림)
  • AWS Lambda 공식 문서(새 탭에서 열림)
  • Amazon CloudWatch 공식 문서(새 탭에서 열림)
  • Amazon OpenSearch Service 공식 문서(새 탭에서 열림)
  • Amazon EKS 공식 문서(새 탭에서 열림)

이 페이지

  • Week 11 핵심 재정리 — 다섯 개의 관통하는 원리
  • 의사결정 트리 — 무엇을 언제 고르나
  • 통합 시나리오 — 다섯 날을 한 문제로
  • 시나리오 문제 12개
  • Week 12 예고