Live:CloudOps Webinars & Hands-on Workshops ·Register ↗
본문으로 건너뛰기

AWS X-Ray

샘플링 규칙

X-Ray를 사용한 샘플링 규칙은 AWS Console, 로컬 구성 파일, 또는 둘 다를 통해 구성할 수 있습니다. 로컬 구성은 콘솔에서 설정한 것을 재정의합니다.

정보

가능하면 X-Ray 콘솔, API 또는 CloudFormation을 사용하세요. 이를 통해 런타임에 애플리케이션의 샘플링 동작을 변경할 수 있습니다.

다음 각 기준에 대해 샘플 레이트를 별도로 설정할 수 있습니다:

  • 서비스 이름 (예: billing, payments)
  • 서비스 유형 (예: EC2, Container)
  • HTTP 메서드
  • URL 경로
  • 리소스 ARN
  • 호스트 (예: www.example.com)

모범 사례는 문제 진단과 성능 프로파일 이해에 충분한 데이터를 수집하면서도 관리가 불가능할 정도로 많은 데이터를 수집하지 않는 샘플 레이트를 설정하는 것입니다. 예를 들어, 랜딩 페이지 트래픽의 1%를 샘플링하되 결제 페이지 요청의 10%를 샘플링하는 것은 강력한 Observability 실천과 잘 부합합니다.

일부 트랜잭션은 100%를 캡처하고 싶을 수 있습니다. 그러나 트레이스는 워크로드에 대한 접근의 포렌식 감사를 위한 것이 아니므로 주의하세요!

경고

트레이스는 감사 또는 포렌식 분석에 사용되도록 의도된 것이 아니므로 100%의 샘플 레이트는 피하세요. 이는 X-Ray(기본적으로 UDP 이미터 사용)가 트랜잭션 트레이스를 절대 유실하지 않을 것이라는 잘못된 기대를 설정할 수 있습니다.

원칙적으로 트랜잭션 트레이스를 캡처하는 것이 직원이나 AWS 청구서에 부담을 주어서는 안 됩니다. 워크로드가 생성하는 데이터 볼륨을 파악하면서 환경에 트레이스를 점진적으로 추가하세요.

정보

기본적으로 X-Ray SDK는 매초 첫 번째 요청과 추가 요청의 5%를 기록합니다. 항상 허용 가능한 레저버 크기를 설정하세요. 레저버 크기는 초당 캡처할 최대 요청 수를 결정합니다. 이를 통해 악의적인 공격, 원치 않는 비용 청구, 구성 오류로부터 보호받을 수 있습니다.

데몬 구성

X-Ray 데몬은 분석을 위해 X-Ray 데이터플레인으로 텔레메트리를 전송하는 부담을 덜어주기 위한 것입니다. 따라서 소스 애플리케이션이 실행되는 서버, 컨테이너 또는 인스턴스에서 너무 많은 리소스를 소비하지 않아야 합니다.

정보

모범 사례는 X-Ray 데몬을 다른 인스턴스나 컨테이너에서 실행하여 관심사의 분리를 적용하고 소스 시스템이 방해받지 않도록 하는 것입니다.

정보

Kubernetes와 같은 컨테이너 오케스트레이션 패턴에서는 X-Ray 데몬을 사이드카로 운영하는 것이 일반적인 관행입니다.

데몬은 안전한 기본 설정을 가지고 있으며, 대부분의 경우 추가 구성 없이 EC2, ECS, EKS 또는 Fargate 환경에서 작동할 수 있습니다. 그러나 하이브리드 및 기타 클라우드 환경에서는 Direct Connect 또는 VPN을 사용하여 원격 환경을 통합하는 경우 EndpointVPC 엔드포인트에 맞게 조정해야 할 수 있습니다.

X-Ray 데몬을 소스 애플리케이션과 동일한 인스턴스나 가상 머신에서 실행해야 하는 경우, TotalBufferSizeMB 설정을 구성하여 X-Ray가 감당할 수 있는 것 이상의 시스템 리소스를 소비하지 않도록 하세요.

어노테이션

AWS X-Ray는 트레이스와 함께 임의의 메타데이터를 전송하는 것을 지원합니다. 이를 어노테이션이라고 합니다. 어노테이션은 트레이스를 논리적으로 그룹화할 수 있게 해주는 강력한 기능입니다. 어노테이션은 인덱싱되어 단일 엔티티와 관련된 트레이스를 쉽게 찾을 수 있습니다.

X-Ray용 자동 계측 SDK를 사용하면 어노테이션이 자동으로 나타나지 않을 수 있습니다. 코드에 직접 추가해야 하며, 이를 통해 트레이스를 크게 풍부하게 하고 X-Ray Insights 생성, 어노테이션 기반 메트릭, 시스템 동작에서의 알람 및 이상 탐지 모델, 사용자에게 영향을 미치는 구성 요소가 관찰될 때의 티켓 발행 및 치료 자동화를 위한 방법을 만들 수 있습니다.

정보

어노테이션을 사용하여 환경에서의 데이터 흐름을 이해하세요.

정보

어노테이션이 적용된 트레이스의 성능과 결과를 기반으로 알람을 생성하세요.