AWS X-Ray와 구조화된 로깅을 활용한 분산 추적
AWS에서 애플리케이션 배포하기
Dunieski Otano
Amazon Web Services Solutions Architect
아무도 찾지 못한 느린 요청
요청 하나가 4초나 걸립니다
각 서비스의 로그만 보면 문제없어 보입니다
전체 경로를 아무도 볼 수 없습니다
분산 추적이 해결하는 문제
요청 하나가
여러 서비스
를 거칩니다
로그만으로는
전체 경로
를 알 수 없습니다
트레이스
가 요청 전체를 하나로 엮어줍니다
시간이 어디서 소요됐는지 정확히 확인할 수 있습니다
세그먼트, 서브세그먼트, 서비스 맵
세그먼트
: 하나의 서비스가 수행한 작업
서브세그먼트
: DB 호출처럼 세그먼트 내부의 작업 단위
서비스 맵
: 모든 세그먼트를 시각화한 그래프
각 노드에 지연 시간과 오류가 표시됩니다
어노테이션과 메타데이터
어노테이션
인덱싱된 키-값이라
필터링
이 가능합니다
고객 등급처럼 검색할 항목에 사용하세요
메타데이터
추가 세부 정보이며
인덱싱되지 않습니다
맥락 정보로 첨부하지만 검색에는 사용할 수 없습니다
트레이스 ID로 로그 연결하기
모든 트레이스에는 고유한
트레이스 ID
가 있습니다
구조화된 로그
에 트레이스 ID를 포함하세요
느린 트레이스에서 정확한 로그 라인으로 바로 이동할 수 있습니다
로그와 트레이스가 하나의 조사 과정이 됩니다
서비스 맵으로 병목 지점 찾기
로그가 아니라
서비스 맵
에서 시작하세요
지연 시간
이 가장 높은 노드를 찾으세요
해당 노드의
트레이스 타임라인
을 살펴보세요
가장 긴 세그먼트가 유력한 원인입니다
요청 전체에 걸친 트레이싱
API Gateway, Lambda, 다운스트림 호출 모두
트레이싱
됩니다
각 구성 요소가 동일한 트레이스에 자신의
세그먼트
를 추가합니다
트레이스 ID 하나로 로그와 세그먼트가 연결됩니다
모든 요청에 대한 종단 간 가시성을 확보합니다
연습해 봅시다!
AWS에서 애플리케이션 배포하기
Preparing Video For Download...