

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 용 애플리케이션 계측 AWS X-Ray
<a name="xray-instrumenting-your-app"></a>

**참고**  
X-Ray SDK/데몬 유지 관리 공지 - 2026년 2월 25일에 AWS X-Ray SDKs/데몬은 유지 관리 모드로 전환되며, 여기서 AWS 는 보안 문제만 해결하도록 X-Ray SDK 및 데몬 릴리스를 제한합니다. 지원 일정에 대한 자세한 내용은 [X-Ray SDK 및 데몬 지원 타임라인](xray-sdk-daemon-timeline.md) 섹션을 참조하세요. OpenTelemetry로 마이그레이션하는 것이 좋습니다. OpenTelemetry로 마이그레이션하는 방법에 대한 자세한 내용은 [X-Ray 계측에서 OpenTelemetry 계측으로 마이그레이션](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)을 참조하세요.

애플리케이션 계측에는 각 요청에 대한 메타데이터와 함께 애플리케이션 내의 수신 및 발신 요청 및 기타 이벤트에 대한 추적 데이터를 전송하는 작업이 포함됩니다. 특정 요구 사항에 따라 여러 가지 계측 옵션을 선택하거나 조합할 수 있습니다: 
+ *자동 계측* – 일반적으로 구성 변경, 자동 계측 에이전트 추가 또는 기타 메커니즘을 통해 코드 변경 없이 애플리케이션을 계측할 수 있습니다.
+ *라이브러리 계측* - 애플리케이션 코드 변경을 최소화하여 AWS SDK, Apache HTTP 클라이언트 또는 SQL 클라이언트와 같은 특정 라이브러리 또는 프레임워크를 대상으로 사전 구축된 계측을 추가합니다.
+ *수동 계측* – 추적 정보를 전송하려는 각 위치에서 애플리케이션에 계측 코드를 추가합니다.

 애플리케이션의 X-Ray 트레이싱을 위한 계측에 사용할 수 있는 여러 가지 SDK, 에이전트 및 도구가 있습니다.

**Topics**
+ [AWS Distro for OpenTelemetry를 사용하여 애플리케이션 계측](#xray-instrumenting-opentel)
+ [AWS X-Ray SDKs 사용하여 애플리케이션 계측](#xray-instrumenting-xray-sdk)
+ [AWS Distro for OpenTelemetry와 X-Ray SDKs 중에서 선택](#xray-instrumenting-choosing)

## AWS Distro for OpenTelemetry를 사용하여 애플리케이션 계측
<a name="xray-instrumenting-opentel"></a>

 AWS Distro for OpenTelemetry(ADOT)는 Cloud Native Computing Foundation(CNCF) OpenTelemetry 프로젝트를 기반으로 하는 AWS 배포입니다. OpenTelemetry는 분산된 트레이스 및 메트릭을 수집할 수 있는 단일 오픈 소스 API, 라이브러리 및 에이전트 세트를 제공합니다. 이 툴킷은 AWS에서 테스트, 최적화, 보안 및 지원하는 SDK, 자동 계측 에이전트 및 수집기를 포함한 업스트림 OpenTelemetry 구성 요소의 배포판입니다.

ADOT를 사용하면 엔지니어가 애플리케이션을 한 번 계측하고 상관관계가 있는 지표와 추적을 Amazon CloudWatch AWS X-Ray, Amazon OpenSearch Service를 포함한 여러 AWS 모니터링 솔루션으로 전송할 수 있습니다.

ADOT와 함께 X-Ray를 사용하려면 두 가지 구성 요소가 필요합니다. X-Ray와 함께 사용할 수 있는 *OpenTelemetry SDK*와 X-Ray와 함께 사용할 수 있는 *OpenTelemetry Collector를 위한AWS 배포판*입니다. AWS X-Ray 및 기타에서 AWS Distro for OpenTelemetry를 사용하는 방법에 대한 자세한 내용은 [AWS Distro for OpenTelemetry 설명서를](https://aws-otel.github.io/docs/introduction) AWS 서비스참조하세요.

언어 지원 및 사용법에 대한 자세한 내용은 [Github의AWS 관찰성](https://github.com/aws-observability)을 참조하세요.

**참고**  
CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버에서 지표, 로그, 추적을 수집할 수 있습니다. CloudWatch 에이전트 버전 1.300025.0 이상은 [OpenTelemetry](#xray-instrumenting-opentel) 또는 [X-Ray](#xray-instrumenting-xray-sdk) 클라이언트 SDK에서 추적을 수집하여 X-Ray에 전송할 수 있습니다. AWS Distro for OpenTelemetry(ADOT) Collector 또는 X-Ray 데몬 대신 CloudWatch 에이전트를 사용하여 추적을 수집하면 관리하는 에이전트 수를 줄이는 데 도움이 될 수 있습니다. 자세한 내용은 CloudWatch 사용 설명서의 [CloudWatch 에이전트](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) 항목을 참조하십시오.

ADOT에는 다음이 포함됩니다:
+ [AWS OpenTelemetry Go용 배포판](https://aws-otel.github.io/docs/getting-started/go-sdk)
+ [AWS OpenTelemetry Java용 배포판](https://aws-otel.github.io/docs/getting-started/java-sdk)
+ [AWS Distro for OpenTelemetry JavaScript](https://aws-otel.github.io/docs/getting-started/javascript-sdk)
+ [AWS OpenTelemetry Python용 배포판](https://aws-otel.github.io/docs/getting-started/python-sdk)
+ [AWS OpenTelemetry .NET용 배포판](https://aws-otel.github.io/docs/getting-started/dotnet-sdk)

현재 ADOT에는 [Java](https://aws-otel.github.io/docs/getting-started/java-sdk/auto-instr)및 [Python](https://aws-otel.github.io/docs/getting-started/python-sdk/auto-instr)에 대한 자동 계측 지원이 포함되어 있습니다. 또한 ADOT를 사용하면 ADOT 관리형 AWS Lambda 계층을 통해 Java, Node.js 및 Python 런타임을 사용하여 Lambda 함수 및 해당 다운스트림 요청을 자동으로 계측할 수 있습니다. [https://aws-otel.github.io/docs/getting-started/lambda](https://aws-otel.github.io/docs/getting-started/lambda) 

Java 및 Go용 ADOT SDK는 X-Ray 통합 샘플링 규칙을 지원합니다. 다른 언어의 X-Ray 샘플링 규칙에 대한 지원이 필요한 경우 AWS X-Ray SDK 사용을 고려하세요.

**참고**  
이제 W3C 추적 ID를 X-Ray로 보낼 수 있습니다. 기본적으로 OpenTelemetry로 생성된 트레이스의 트레이스 ID 형식은 [W3C Trace Context 사양](https://www.w3.org/TR/trace-context/)을 기반으로 합니다. 이는 X-Ray SDK를 사용하여 생성되거나 X-Ray와 통합된 AWS 서비스에 의해 생성되는 추적 IDs의 형식과 다릅니다. W3C 형식의 트레이스 ID가 X-Ray에서 허용되도록 하려면 [ADOT Collector](https://aws-otel.github.io/download) 버전 0.34.0 이상에 포함된 [AWS X-Ray Exporter](https://aws-otel.github.io/docs/getting-started/x-ray) 버전 0.86.0 이상을 사용해야 합니다. 이전 버전의 Exporter는 트레이스 ID 타임스탬프를 검증하므로 W3C 트레이스 ID가 거부될 수 있습니다.

## AWS X-Ray SDKs 사용하여 애플리케이션 계측
<a name="xray-instrumenting-xray-sdk"></a>

 AWS X-Ray 에는 X-Ray로 트레이스를 전송하도록 애플리케이션을 계측하기 위한 언어별 SDKs 세트가 포함되어 있습니다. 각 X-Ray SDK는 다음을 제공합니다: 
+ 코드에 *인터셉터*를 추가하여 수신 HTTP 요청을 추적할 수 있습니다.
+ 애플리케이션이 다른를 호출하는 데 사용하는 AWS SDK 클라이언트를 계측하는 클라이언트 *핸들러* AWS 서비스
+ 다른 내부 및 외부 HTTP 웹 서비스에 대한 호출을 계측하기 위한 *HTTP 클라이언트*

X-Ray SDKs SQL 데이터베이스, 자동 AWS SDK 클라이언트 계측 및 기타 기능에 대한 계측 호출도 지원합니다. 트레이스 데이터를 직접 X-Ray로 전송하는 대신, SDK는 UDP 트래픽을 수신 대기하는 대몬(daemon) 프로세스로 JSON 세그먼트 문서를 전송합니다. [X-Ray 대몬(daemon)](xray-daemon.md)은 대기열에 세그먼트를 버퍼링하다가 일괄적으로 X-Ray로 업로드합니다.

다음과 같은 언어별 SDK가 제공됩니다.
+ [AWS X-Ray SDK for Go](xray-sdk-go.md)
+ [AWS X-Ray SDK for Java](xray-sdk-java.md)
+ [AWS X-Ray Node.js용 SDK](xray-sdk-nodejs.md)
+ [AWS X-Ray Python용 SDK](xray-sdk-python.md)
+ [AWS X-Ray SDK for .NET](xray-sdk-dotnet.md)
+ [AWS X-Ray SDK for Ruby](xray-sdk-ruby.md)

현재 X-Ray에는 [Java](aws-x-ray-auto-instrumentation-agent-for-java.md)에 대한 자동 계측 지원이 포함되어 있습니다.

## AWS Distro for OpenTelemetry와 X-Ray SDKs 중에서 선택
<a name="xray-instrumenting-choosing"></a>

 X-Ray에 포함된 SDK는 AWS에서 제공하는 긴밀하게 통합된 계측 솔루션의 일부입니다. OpenTelemetry용 AWS 배포판은 광범위한 산업 솔루션의 일부이며, X-Ray는 여러 추적 솔루션 중 하나에 불과합니다. 어느 접근 방식을 사용하든 X-Ray에서 엔드 투 엔드 추적을 구현할 수 있지만, 가장 유용한 접근 방식을 결정하려면 차이점을 이해하는 것이 중요합니다.

 다음이 필요한 경우 AWS Distro for OpenTelemetry를 사용하여 애플리케이션을 계측하는 것이 좋습니다.
+ 코드를 다시 계측할 필요 없이 여러 다른 트레이스 백엔드로 트레이스를 전송할 수 있는 기능
+ OpenTelemetry 커뮤니티에서 유지 관리하는 각 언어에 대한 수많은 라이브러리 계측 도구 지원
+ Java, Python 또는 Node. js 사용 시 코드를 변경할 필요 없이 원격 분석 데이터를 수집하는 데 필요한 모든 것을 패키지로 제공하는 완전 관리형 Lambda 레이어
**참고**  
AWS Distro for OpenTelemetry는 Lambda 함수를 계측하기 위한 더 간단한 시작 환경을 제공합니다. 그러나 OpenTelemetry가 제공하는 유연성 때문에 Lambda 함수를 호출하려면 추가 메모리가 필요하고 콜드 스타트 지연 시간이 증가하여 추가 요금이 발생할 수 있습니다. 지연 시간이 짧도록 최적화하고 동적으로 구성 가능한 백엔드 대상과 같은 OpenTelemetry의 고급 기능이 필요하지 않은 경우 AWS X-Ray SDK를 사용하여 애플리케이션을 계측할 수 있습니다.

 다음이 필요한 경우 애플리케이션 계측을 위해 X-Ray SDK를 선택하는 것을 권장합니다: 
+ 견고하게 통합된 단일 공급업체 솔루션
+ X-Ray의 중앙 집중식 샘플링 규칙과의 통합 (Node.js, Python, Ruby 또는 .NET 사용 시 X-Ray 콘솔에서 샘플링 규칙을 구성하고 이를 여러 호스트에서 자동으로 사용하는 기능 포함)