OPS04-BP05 트랜잭션 추적 기능 구현
단일 논리적 작업의 결과로 트리거되고 워크로드의 다양한 경계에 걸쳐 통합되는 이벤트를 내보내도록 애플리케이션 코드를 구현하고 워크로드 구성 요소를 구성합니다. 맵을 생성하여 워크로드 및 서비스에서 트레이스가 어떻게 흐르는지 확인합니다. 구성 요소 간의 관계에 대한 인사이트를 얻고 문제를 식별하고 분석합니다. 수집된 정보를 사용하면 대응이 필요한 경우를 확인하고 문제의 원인을 파악할 수 있습니다.
원하는 결과:
-
워크로드 전체에서 트랜잭션 트레이스를 수집하여 구성 요소 간의 관계에 대한 인사이트를 얻습니다.
-
트랜잭션 및 이벤트가 워크로드에서 어떻게 흐르는지 더 잘 이해할 수 있도록 맵을 생성합니다.
일반적인 안티 패턴:
-
여러 계정에 걸쳐 서버리스 마이크로서비스 아키텍처를 구현했습니다. 고객에게 간헐적인 성능 문제가 있습니다. 트랜잭션 추적 기능이 없어 원인이 되는 기능이나 구성 요소를 파악할 수 없습니다.
-
워크로드에 성능 병목 현상이 발생합니다. 트랜잭션 추적 기능이 없어 애플리케이션 구성 요소 간의 관계를 확인하고 성능 병목 현상을 식별할 수 없습니다.
-
추적에 사용되는 식별자는 전역적으로 고유하지 않으므로 워크로드 동작을 분석할 때 추적 충돌이 발생합니다.
이 모범 사례 확립의 이점:
-
워크로드 전반의 트랜잭션 흐름을 파악하면 워크로드 트랜잭션의 예상 동작에 대한 인사이트를 얻을 수 있습니다.
-
예상 동작과 워크로드 전반의 예상 동작 변형을 파악할 수 있으므로 필요한 경우 대응할 수 있습니다.
-
생성된 위치와 관계없이 고유하게 생성된 식별자로 트랜잭션을 정확히 파악할 수 있습니다.
이 모범 사례를 따르지 않을 경우 노출되는 위험 수준: 낮음
구현 가이드
시스템 구성 요소 간의 트랜잭션 흐름 관련 정보를 내보내도록 애플리케이션 및 워크로드를 설계합니다. 트랜잭션에 포함할 데이터는 전역적으로 고유한 트랜잭션 식별자, 트랜잭션 단계, 활성 구성 요소 및 활동 완료 시간입니다. 이 정보를 사용하여 진행 중인 활동과 완료된 활동, 그리고 완료된 활동의 결과를 확인합니다.
고객 사례
AnyCompany Retail에서 모든 트랜잭션에는 전역적으로 고유한 UUID가 생성됩니다. 이 UUID는 트랜잭션 중에 마이크로서비스 간에 전달됩니다. UUID는 사용자가 워크로드와 상호 작용할 때 트랜잭션 트레이스를 생성하는 데 사용됩니다. 워크로드 토폴로지의 맵은 트레이스와 함께 생성되며 워크로드 문제를 해결하고 성능을 개선하는 데 사용됩니다.
구현 단계
-
워크로드에서 애플리케이션을 계측하여 트랜잭션 트레이스를 내보냅니다. 각 트랜잭션에 대한 고유 식별자를 생성하고 애플리케이션 간에 식별자를 전달하면 됩니다.
-
AWS Distro for OpenTelemetry
에서 자동 계측을 사용하여 애플리케이션 코드를 수정하지 않고 기존 애플리케이션에서 트레이스를 구현할 수 있습니다.
-
-
애플리케이션 토폴로지의 맵을 생성합니다. 이러한 맵을 사용하면 성능을 개선하고 인사이트를 얻고 문제 해결에 도움을 받을 수 있습니다.
-
AWS X-Ray는 워크로드에서 애플리케이션의 맵을 생성할 수 있습니다.
-
구현 계획의 작업 수준: 중간. 트랜잭션 트레이스를 구현하려면 어느 정도의 개발 작업이 필요할 수 있습니다.
리소스
관련 모범 사례:
-
OPS04-BP01 애플리케이션 텔레메트리 구현 - 애플리케이션 텔레메트리를 먼저 구현해야 하며 여기에는 트랜잭션 추적 기능과 처리가 포함됩니다.
관련 문서:
-
Discover application issues and get notifications with AWS X-Ray Insights
(AWS X-Ray Insights로 애플리케이션 문제를 발견하고 알림 받기) -
How Wealthfront utilizes AWS X-Ray to analyze and debug distributed applications
(Wealthfront가 AWS X-Ray를 활용하여 분산 애플리케이션을 분석하고 디버그하는 방법) -
New for AWS Distro for OpenTelemetry – Tracing Support is Now Generally Available
(AWS Distro for OpenTelemetry의 새로운 기능 - 추적 지원 이제 정식 출시)
관련 동영상:
-
AWS re:Invent 2018: Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324)
(AWS re:Invent 2018: AWS X-Ray 심층 분석: 최신 애플리케이션 모니터링(DEV324)) -
AWS re:Invent 2022 - Building observable applications with OpenTelemetry (BOA310)
(AWS re:Invent 2022 - OpenTelemetry로 관측 가능한 애플리케이션 구축(BOA310)) -
AWS re:Invent 2022 - Observability the open-source way(COP301-R)
(AWS re:Invent 2022 - 오픈 소스 방식의 관측성(COP301-R)) -
Capturing Trace Data with the AWS Distro for OpenTelemetry
(AWS Distro for OpenTelemetry로 트레이스 데이터 캡처) -
Optimize Application Performance with AWS X-Ray
(AWS X-Ray로 애플리케이션 성능 최적화)
관련 예시:
관련 서비스: