

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# のアプリケーションの計測 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、ライブラリ、およびエージェントの 単一セットを提供します。このツールキットは、SDK、自動計測エージェント、およびコレクタを含むアップストリームの OpenTelemetry コンポーネントのディストリビューションであり、によってテスト、最適化、保護、およびサポートされます。 AWS。

ADOT を使用すると、エンジニアはアプリケーションを一度計測し、相関メトリクスとトレースを Amazon CloudWatch AWS X-Ray、Amazon OpenSearch Service などの複数の AWS モニタリングソリューションに送信できます。

X-Ray を ADOT で使用するには、X-Ray で使用できる *OpenTelemetry SDK* と、X-Ray で使用できる *AWS Distro for OpenTelemetry Collector* の 2 つのコンポーネントが必要です。 AWS Distro for OpenTelemetry を AWS X-Ray などで使用する方法の詳細については AWS のサービス、 [AWS Distro for OpenTelemetry ドキュメント](https://aws-otel.github.io/docs/introduction)を参照してください。

言語サポートと使用方法の詳細については、「[AWS Observability on Github](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 Distro for OpenTelemetry Go](https://aws-otel.github.io/docs/getting-started/go-sdk)
+ [AWS Distro for 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 Distro for OpenTelemetry Python](https://aws-otel.github.io/docs/getting-started/python-sdk)
+ [AWS Distro for 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 Managed AWS Lambda Layers を介して、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 で作成されたトレースには、[W3C トレースコンテキスト仕様](https://www.w3.org/TR/trace-context/)に基づくトレース ID 形式があります。これは、X-Ray SDK または X-Ray と統合された AWS サービスを使用して作成されたトレース IDs の形式とは異なります。W3C 形式のトレース ID が X-Ray で確実に受け入れられるようにするため、バージョン 0.86.0 以降の [AWS X-Ray エクスポーター](https://aws-otel.github.io/docs/getting-started/x-ray)を使用する必要があります。このエクスポーターはバージョン 0.34.0 以降の [ADOT Collector](https://aws-otel.github.io/download) に含まれています。以前のバージョンのエクスポーターはトレース 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 SDKsSQL データベースの計測呼び出し、 AWS SDK クライアントの自動計測、およびその他の機能もサポートしています。トレースデータを直接 X-Ray に送信する代わりに、SDK は JSON セグメントドキュメントを UDP トラフィックをリッスンしているデーモンプロセスに送信します。[X-Ray デーモン](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 SDK for Python](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によって提供される緊密に統合された計測ソリューションの一部です。 AWS Distro for OpenTelemetry は、X-Ray が数あるトレースソリューションの 1 つにすぎない、より広範な業界ソリューションの一部です。どちらの方法でも 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 を選択することをお勧めします。
+ 緊密に統合されたシングルベンダーソリューション
+ Node.js、Python、Ruby、.NET を使用する場合に、X-Ray コンソールからサンプリングルールを設定し、複数のホスト間で自動的に使用する機能を含む、X-Ray の一元化されたサンプリングルールとの統合