

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

# 他の AWS X-Ray との統合 AWS のサービス
との統合 AWS のサービス

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日に、 AWS X-Ray SDKs/Daemon はメンテナンスモードに移行します。 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 のサービス は、受信リクエストへのヘッダーのサンプリングと追加、X-Ray デーモンの実行、X-Ray へのトレースデータの自動送信など、さまざまなレベルの X-Ray 統合を提供します。X-Rayとの統合には、次のようなものがあります:
+ *アクティブ計測* – 受信リクエストをサンプリングして計測します。
+ *パッシブ計測* – 別のサービスで既にサンプリングされているリクエストを計測します。
+ *リクエストのトレース* – すべての受信リクエストにトレースヘッダーを追加してダウンストリームに伝達します。
+ *ツール* – X-Ray デーモンを実行して X-Ray SDK からセグメントを受信します。

**注記**  
X-Ray SDKs には、 との追加統合用のプラグインが含まれています AWS のサービス。たとえば、X-Ray SDK for Java Elastic Beanstalk プラグイン を使用して、アプリケーション、を実行する Elastic Beanstalk 環境に関する情報 (環境名と ID を含む) を追加できます。

X-Ray と統合 AWS のサービス されている の例をいくつか示します。
+ [AWS Distro for OpenTelemetry (ADOT)](xray-services-adot.md) – ADOT を使用すると、エンジニアはアプリケーションを一度計測し、相関メトリクスとトレースを Amazon CloudWatch、Amazon OpenSearch Service AWS X-Ray、Amazon Managed Service for Prometheus などの複数の AWS モニタリングソリューションに送信できます。
+ [AWS Lambda](xray-services-lambda.md) – すべてのランタイムで受信リクエストをアクティブおよびパッシブに計測します。 は、トレースマップに 2 つのノード AWS Lambda を追加します。1 つは AWS Lambda サービス用、もう 1 つは 関数用です。計測を有効にすると、 は X-Ray SDK で使用する Java および Node.js ランタイムで X-Ray デーモン AWS Lambda も実行します。
+ [Amazon API Gateway](xray-services-apigateway.md) — アクティブおよびパッシブ計測。API Gateway は、サンプリングルールを使用して記録するリクエストを決定し、ゲートウェイステージ用のノードをサービスマップに追加します。
+ [AWS Elastic Beanstalk](xray-services-beanstalk.md) – ツール。Elastic Beanstalk には次のプラットフォームで X-Ray デーモンが含まれています。
  + *Java SE* – 2.3.0 以降の設定
  + *Tomcat* – 2.4.0 以降の設定
  + *Node.js* – 3.2.0 以降の設定
  + *Windows Server* – Windows Server Core を除く、2016 年 12 月 9 日以降にリリースされたすべての設定

  Elastic Beanstalk コンソールを使用するか、`aws:elasticbeanstalk:xray` 名前空間で `XRayEnabled` オプションを使用して、これらのプラットフォームでデーモンを実行するように Elastic Beanstalk を設定できます。
+ [Elastic Load Balancing](xray-services-elb.md) — Application Load Balancerでトレースを要求します。Application Load Balancerはトレース ID をリクエストヘッダーに追加してからターゲットグループに送信します。
+ [Amazon EventBridge](xray-services-eventbridge.md) — パッシブ計測。EventBridge にイベントを発行するサービスが X-Ray SDK で計測されている場合、イベントターゲットはトレースヘッダーを受け取り、元のトレース ID を継続して伝達できます。
+ [Amazon Simple Notification Service](xray-services-sns.md) — パッシブ計測。Amazon SNS パブリッシャーが X-Ray SDK クライアントを使用してクライアントをトレースする場合、サブスクライバーはトレースヘッダーを取得し、同じトレース ID を使用して、パブリッシャーからの元のトレースを継続して伝達できます。
+ [Amazon Simple Queue Service](xray-services-sqs.md) — パッシブ計測。サービスが X-Ray SDK を使用してリクエストをトレースする場合、Amazon SQS はトレースヘッダーを送信し、整合性のあるトレース ID を持つコンシューマーに、送信者から元のトレースを伝達し続けます。
+ [Amazon Bedrock AgentCore](xray-services-sqs.md) – AgentCore は X-Ray 統合による分散トレースをサポートしているため、エージェントアプリケーションを通過するリクエストを追跡できます。AgentCore リソースのオブザーバビリティを有効にすると、トレースコンテキストをサービス境界全体に伝播し、AI エージェントとツールのパフォーマンスを可視化できます。

以下のトピックから選択して、統合された の完全なセットをご覧ください AWS のサービス。

**Topics**
+ [

# Amazon Bedrock AgentCore と AWS X-Ray
](xray-services-agentcore.md)
+ [

# Amazon Elastic Compute CloudおよびAWS X-Ray
](xray-services-ec2.md)
+ [

# Amazon SNS および APIAWS X-Ray
](xray-services-sns.md)
+ [

# Amazon SQS および AWS X-Ray
](xray-services-sqs.md)
+ [

# Amazon S3 および AWS X-Ray
](xray-services-s3.md)
+ [

# AWS Distro for OpenTelemetry と AWS X-Ray
](xray-services-adot.md)
+ [

# X-Rayの暗号化設定の変更を追跡AWS Config
](xray-api-config.md)
+ [

# AWS AppSyncおよびAWS X-Ray
](xray-services-appsync.md)
+ [

# Amazon API GatewayのアクティブトレーシングサポートAWS X-Ray
](xray-services-apigateway.md)
+ [

# Amazon EC2およびAWS App Mesh
](xray-services-appmesh.md)
+ [

# AWS App Runner と X-Ray
](xray-services-app-runner.md)
+ [

# を使用した X-Ray API コールのログ記録 AWS CloudTrail
](xray-api-cloudtrail.md)
+ [

# X-Ray と CloudWatch の統合
](xray-services-cloudwatch.md)
+ [

# AWS Elastic Beanstalk および AWS X-Ray
](xray-services-beanstalk.md)
+ [

# Elastic Load Balancing と AWS X-Ray
](xray-services-elb.md)
+ [

# Amazon EventBridge と AWS X-Ray
](xray-services-eventbridge.md)
+ [

# AWS Lambda および AWS X-Ray
](xray-services-lambda.md)
+ [

# AWS Step Functions および AWS X-Ray
](xray-services-stepfunctions.md)

# Amazon Bedrock AgentCore と AWS X-Ray
Amazon Bedrock AgentCore

Amazon Bedrock AgentCore は と統合 AWS X-Ray され、AI エージェントとツールに分散トレース機能を提供します。この統合により、エージェントアプリケーションを通過するリクエストを追跡することが可能になり、パフォーマンスのボトルネックを特定し、問題をトラブルシューティングできるようになります。

AgentCore は X-Ray 統合による分散トレースをサポートしているため、AI エージェントとツールのパフォーマンスをモニタリングできます。AgentCore リソースのオブザーバビリティを有効にすると、トレースコンテキストをサービス境界全体に伝達し、エージェントが他の AWS サービスとやり取りする方法を可視化できます。詳細については、「[Amazon Bedrock AgentCore](https://docs.aws.amazon.com//bedrock-agentcore/latest/devguide/what-is-genesis.html)」を参照してください。

AgentCore は、次の X-Ray 機能をサポートしています。
+ ダウンストリームサービスへのトレースコンテキストの伝播
+  AWS Distro for OpenTelemetry (ADOT) SDK を使用したカスタム計測

## AgentCore を使用して X-Ray をセットアップする
Amazon S3

AgentCore で X-Ray を使用するには、 AWS アカウントで CloudWatch トランザクション検索を有効にする必要があります。これは、AgentCore がトレースデータを X-Ray に送信できるようにするための 1 回限りのセットアップです。詳細については、「[トランザクション検索を有効にする](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html)」を参照してください。

AgentCore のオブザーバビリティの設定の詳細については、「[Add observability to your Amazon Bedrock AgentCore agent or tool](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html)」を参照してください。

## AgentCore でトレースヘッダーを使用する
Amazon S3

AgentCore は、分散トレース用の X-Ray トレースヘッダー形式をサポートしています。AgentCore へのリクエストに `X-Amzn-Trace-Id` ヘッダーを含めると、サービス境界全体でトレースコンテキストを維持できます。

# Amazon Elastic Compute CloudおよびAWS X-Ray
Amazon EC2

AmazonEC2インスタンスにX-Rayデーモンをインストールし、ユーザーデータスクリプトを使用して実行することができます。手順については「[Amazon EC2 での X-Ray デーモンの実行](xray-daemon-ec2.md)」を参照してください。

インスタンスプロファイルを使用して、デーモンにX-Rayのトレースデータをアップロードするアクセス権限を付与します。詳細については、「[X-Rayにデータを送信するアクセス権限をデーモンに付与する](xray-daemon.md#xray-daemon-permissions)」を参照してください。

# Amazon SNS および APIAWS X-Ray
Amazon SNS

Amazon Simple Notiﬁcation Service (Amazon SNS) と AWS X-Ray を併用すると、SNS トピックを経由して [SNS がサポートするサブスクリプションサービス](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html)に送信されるリクエストをトレースおよび分析できます。´ Amazon SNS と X-Ray トレースを併用して、リクエストがトピックに費やされる時間や、トピックの各サブスクリプションにメッセージを配信するのにかかった時間など、メッセージとそのバックエンドサービスのレイテンシーを分析できます。Amazon SNS は、標準トピックと FIFO トピックの両方で X-Ray トレースをサポートしています。

X-Ray で既に計測されているサービスから Amazon SNS トピックに発行すると、Amazon SNS はトレースコンテキストをパブリッシャーからサブスクライバーに渡します。さらに、アクティブトレースを有効にして、計測された SNS クライアントから発行されたメッセージの Amazon SNS サブスクリプションに関するセグメントデータを X-Ray に送信できます。Amazon SNS コンソール、または Amazon SNS API か CLI を使用して、Amazon SNS トピックの[アクティブトレースを有効にします](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html)。SNS クライアントの計測の詳細については、「[アプリケーションの計測](xray-instrumenting-your-app.md)」を参照してください。

## Amazon SNS アクティブトレースの設定


Amazon SNS コンソールまたは AWS CLI または SDK を使用して、Amazon SNS アクティブトレースを設定できます。

Amazon SNS コンソールを使用する場合、Amazon SNS は SNS が X-Ray を呼び出すために必要なアクセス許可の作成を試みます。X-Ray リソースポリシーを変更するための十分なアクセス許可がない場合、この試行は拒否されることがあります。これらのアクセス許可の詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「[Amazon SNS での Identity and Access Management](https://docs.aws.amazon.com/sns/latest/dg/sns-authentication-and-access-control.html)」および「[Amazon SNS アクセスコントロールのケース例](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html)」を参照してください。Amazon SNS コンソールを使用してアクティブトレースを有効にする方法の詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「[Amazon SNS トピックでアクティブトレースを有効にする](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html)」を参照してください。

AWS CLI または SDK を使用してアクティブトレースを有効にする場合は、リソースベースのポリシーを使用してアクセス許可を手動で設定する必要があります。[https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html](https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html) を使用して、Amazon SNS が X-Ray にトレースを送信できるようにするために必要なリソースベースのポリシーを使用して X-Ray を設定します。

**Example Amazon SNS アクティブトレース用の X-Ray リソースベースのポリシーの例**  
このポリシードキュメントの例では、Amazon SNS がトレースデータを X-Ray に送信するために必要なアクセス許可を指定します。  

```
{
    Version: "2012-10-17",		 	 	 
    Statement: [
      {
        Sid: "SNSAccess",
        Effect: Allow,
        Principal: {
          Service: "sns.amazonaws.com",
        },
        Action: [
          "xray:PutTraceSegments",
          "xray:GetSamplingRules",
          "xray:GetSamplingTargets"
        ],
        Resource: "*",
        Condition: {
          StringEquals: {
            "aws:SourceAccount": "account-id"
          },
          StringLike: {
            "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name"
          }
        }
      }
    ]
  }
```
CLI を使用して、Amazon SNS アクセス許可を付与するリソースベースのポリシーを作成して、トレースデータを X-Ray に送信します。  

```
aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'
```
これらの例を使用するには、*`partition`*、*`region`*、*`account-id`*、*`topic-name`* を特定の AWS パーティション、リージョン、アカウント ID、Amazon SNS トピック名に置き換えます。すべての Amazon SNS トピックに、トレースデータを X-Ray に送信するアクセス許可を付与するには、トピック名を `*` に置き換えます。

## X-Ray コンソールで Amazon SNS パブリッシャートレースとサブスクライバーのトレースを表示する


X-Ray コンソールを使用して、Amazon SNS のパブリッシャーとサブスクライバーの接続ビューを表示するトレースマップおよびトレースの詳細を表示します。トピックの Amazon SNS アクティブトレースを有効にすると、X-Ray トレースマップとトレース詳細マップに Amazon SNS パブリッシャー、Amazon SNS トピック、およびダウンストリームサブスクライバーの接続ノードが表示されます。

![\[Amazon SNS パブリッシャーとサブスクライバーを含むトレースマップ\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/services-sns-activetracing-map.png)


Amazon SNS パブリッシャーとサブスクライバーにまたがるトレースを選択すると、X-Ray のトレースの詳細ページにトレース詳細マップとセグメントタイムラインが表示されます。

**Example Amazon SNS パブリッシャーとサブスクライバーのタイムラインの例**  
この例は、Amazon SNS トピックにメッセージを送信する Amazon SNS パブリッシャーを含むタイムラインを示しています。このメッセージは Amazon SQS サブスクライバーによって処理されます。  

![\[Amazon SNS パブリッシャーとサブスクライバーのセグメントタイムライン\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/services-sns-activetracing-timeline.png)


上記のタイムラインの例は、Amazon SNS メッセージフローの詳細を示しています。
+ **SNS** セグメントは、クライアントからの `Publish` API 呼び出しの往復所要時間を表します。
+ **myTopic** セグメントは、発行リクエストに対する Amazon SNS レスポンスのレイテンシーを表します。
+ **SQS** サブセグメントは、Amazon SNS が Amazon SQS キューにメッセージを発行するのにかかる往復時間を表します。
+ **myTopic** セグメントと **SQS** サブセグメントの間隔は、メッセージが Amazon SNS システムで費やす時間を表します。

**Example Amazon SNS メッセージのバッチ処理を含むタイムラインの例**  
複数の Amazon SNS メッセージが 1 つのトレース内でバッチ処理される場合、セグメントタイムラインには、処理された各メッセージを表すセグメントが表示されます。  

![\[Amazon SNS バッチメッセージのセグメントタイムライン\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/services-sns-activetracing-batch-timeline.png)


# Amazon SQS および AWS X-Ray
Amazon SQS

AWS X-Ray は Amazon Simple Queue Service (Amazon SQS) と統合して、Amazon SQS キュー経由で渡されるメッセージをトレースします。サービスが X-Ray SDK を使用してリクエストをトレースする場合、Amazon SQS はトレースヘッダーを送信し、整合性のあるトレース ID を持つコンシューマーに、送信者から元のトレースを伝達し続けます。トレースの継続性により、ユーザーはダウンストリームサービス全体でトレース、分析、およびデバッグを実行できます。

AWS X-Ray は Amazon SQS および AWS Lambda を使用したイベント駆動型アプリケーションのトレースをサポートします。CloudWatch コンソールを使用すると、各リクエストが Amazon SQS のキューに入れられ、ダウンストリーム Lambda 関数によって処理される過程を各リクエストの接続されたビューで確認できます。アップストリームメッセージプロデューサーからのトレースは、ダウンストリーム Lambda コンシューマーノードからのトレースに自動的にリンクされるため、アプリケーションのエンドツーエンドのビューが作成されます。詳細については、「[イベント駆動型アプリケーションのトレース](xray-tracelinking.md)」を参照してください。

![\[Amazon SQS キューを通じた Lambda からのトレースマップ。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/console-batch-servicemap-linkededge.png)


Amazon SQS では、次のトレースヘッダー計測がサポートされています。
+ **デフォルト HTTP ヘッダー** – X-Ray SDK は AWS SDK を通じて Amazon SQS を呼び出すときに、トレースヘッダーを HTTP ヘッダーとして自動的に入力します。デフォルトのトレースヘッダーは `X-Amzn-Trace-Id` によって転送され、[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) または [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html) リクエストに含まれるすべてのメッセージに対応します。デフォルトの HTTP ヘッダーの詳細については、「[トレースヘッダー](xray-concepts.md#xray-concepts-tracingheader)」を参照してください。
+ **`AWSTraceHeader` システム属性** — `AWSTraceHeader` は、Amazon SQS によって予約された[メッセージシステム属性](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_MessageSystemAttributeValue.html)で、X-Ray トレースヘッダーをキューのメッセージとともに渡します。`AWSTraceHeader` は、新しい言語のトレース SDK を構築する場合など、X-Ray SDK による自動計測ができない場合でも使用できます。両方のヘッダー計測が設定されている場合、メッセージシステム属性が HTTP トレースヘッダーを上書きします。

Amazon EC2 で実行した場合、Amazon SQS は一度に 1 つのメッセージの処理をサポートします。これは、オンプレミスホストで実行している場合や、AWS Fargate、Amazon ECS、AWS App Mesh などのコンテナサービスを使用している場合に適用されます。

トレースヘッダーは、Amazon SQS メッセージサイズとメッセージ属性のクォータの両方から除外されます。X-Ray トレースを有効にしても、Amazon SQS クォータを超えることはありません。AWS クォータの詳細については、「[Amazon SQS クォータ](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html)」を参照してください。

## HTTP トレースヘッダーの送信


Amazon SQS の送信者コンポーネントは、[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html) または [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) 呼び出しを通じて、自動的にトレースヘッダーを送信できます。AWS SDK クライアントが計測されると、X-Ray SDK を通じてサポートされているすべての言語で自動的に追跡できます。これらのサービス (例えば、Amazon S3 バケットまたは Amazon SQS キュー) 内でアクセスするトレースされた AWS のサービス およびリソースは、X-Ray コンソールのトレースマップではダウンストリームノードとして表示されます。

任意の言語で AWS SDK 呼び出しをトレースする方法については、サポートされている SDK の以下のトピックを参照してください。
+ Go – [X-Ray AWS SDK for Go を使用した SDK 呼び出しのトレース](xray-sdk-go-awssdkclients.md)
+ Java – [X-Ray AWS SDK for Java を使用した SDK 呼び出しのトレース](xray-sdk-java-awssdkclients.md)
+ Node.js – [X-Ray AWS SDK for Node.js を使用した SDK 呼び出しのトレース](xray-sdk-nodejs-awssdkclients.md)
+ Python – [X-Ray AWS SDK for Python を使用した SDK 呼び出しのトレース](xray-sdk-python-awssdkclients.md)
+ Ruby – [X-Ray AWS SDK for Ruby を使用した SDK 呼び出しのトレース](xray-sdk-ruby-awssdkclients.md)
+ .NET – [X-Ray AWS SDK for .NET を使用した SDK 呼び出しのトレース](xray-sdk-dotnet-sdkclients.md)

## トレースヘッダーを取得し、トレースコンテキストを復元する


Lambda ダウンストリームコンシューマーを使用している場合、トレースコンテキストの伝達は自動的に行われます。他の Amazon SQS コンシューマーでコンテキストの伝達を続行するには、レシーバーコンポーネントへのハンドオフを手動で計測する必要があります。

トレースコンテキストを復元するには、主に 3 つのステップがあります。
+ `AWSTraceHeader` APIを呼び出して [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) 属性のキューからメッセージを受信します。
+ 属性からトレースヘッダーを取得します。
+ ヘッダーからトレース ID を復元します。必要に応じて、セグメントにメトリクスを追加します。

以下は、X-Ray SDK for Java で記述された実装の例です。

**Example : トレースヘッダーを取得し、トレースコンテキストを復元する**  

```
// Receive the message from the queue, specifying the "AWSTraceHeader"
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest()
        .withQueueUrl(QUEUE_URL)
        .withAttributeNames("AWSTraceHeader");
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();

if (!messages.isEmpty()) {
    Message message = messages.get(0);
    
    // Retrieve the trace header from the AWSTraceHeader message system attribute
    String traceHeaderStr = message.getAttributes().get("AWSTraceHeader");
    if (traceHeaderStr != null) {
        TraceHeader traceHeader = TraceHeader.fromString(traceHeaderStr);

        // Recover the trace context from the trace header
        Segment segment = AWSXRay.getCurrentSegment();
        segment.setTraceId(traceHeader.getRootTraceId());
        segment.setParentId(traceHeader.getParentId());
        segment.setSampled(traceHeader.getSampled().equals(TraceHeader.SampleDecision.SAMPLED));
    }
}
```

# Amazon S3 および AWS X-Ray
Amazon S3

 は、Amazon S3 と統合して、アプリケーションの S3 バケットを更新するアップストリームリクエストをトレースします。サービスが X-Ray SDK を使用してリクエストをトレースする場合、Amazon S3 は AWS Lambda、Amazon SQS、Amazon SNS などのダウンストリームイベントサブスクライバーにトレースヘッダーを送信できます。X-Ray は Amazon S3 イベント通知のトレースメッセージを有効にします。

X-Ray トレースマップを使用して、Amazon S3 およびアプリケーションが使用する他のサービス間の接続を表示できます。コンソールを使用して、平均レイテンシーや障害発生率などのメトリクスを表示することもできます。X-Ray コンソールの詳細については、「[X-Ray コンソールを使用する](aws-xray-interface-console.md#xray-console)」を参照してください。

Amazon S3 は、*デフォルトの HTTP ヘッダー*の計測をサポートしています。X-Ray SDK は、AWS SDK を通じて Amazon S3 を呼び出すとき、X-Ray SDK はトレースヘッダーを HTTP ヘッダーとして自動的に入力します。デフォルトのトレースヘッダーは、`X-Amzn-Trace-Id` によって伝送されます。トレースヘッダーの詳細については、コンセプトページの「[トレースヘッダー](xray-concepts.md#xray-concepts-tracingheader)」を参照してください。Amazon S3 トレースコンテキストの伝播では、Lambda、SQS、および SNS のサブスクライバーがサポートされます。SQS と SNS はそれ自体でセグメントデータを送信しないため、S3 でトリガーされた場合、トレースヘッダーはダウンストリームのサービスに伝達されるものの、トレースやトレースマップには表示されません。

## Amazon S3 イベント通知を設定する


Amazon S3 通知機能で、バケット内で  の特定のイベントが発生したときに、通知を受けることができます。これらの通知は、アプリケーション内の次の宛先に伝播できます。
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon Simple Queue Service (Amazon SQS)
+ AWS Lambda

サポートされているイベントのリストについては、[Amazon S3 開発者ガイドでサポートされているイベントタイプ](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types)を参照してください。。

### Amazon SNS と Amazon SQS


SNS トピックや SQS キューに通知を発行するには、まず Amazon S3 のアクセス許可を付与する必要があります。これらの権限を付与するには、AWS Identity and Access Management (IAM) ポリシーを発行先の SNS トピックや SQS キューに指定します。必要な IAM ポリシーの詳細については、[SNS トピックまたは SQS キューにメッセージを発行するアクセス許可の付与](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-sns-sqs-permission-for-s3)を参照してください。

SNS および SQS の X-Ray との統合については、[Amazon SNS および APIAWS X-Ray](xray-services-sns.md) および [Amazon SQS および AWS X-Ray](xray-services-sqs.md) を参照してください。

### AWS Lambda


Amazon S3 コンソールを使用して、Lambda 関数で S3 バケットのイベント通知を設定する場合、コンソールは Lambda 関数で必要なアクセス許可を設定し、Amazon S3 がバケットから関数を呼び出すアクセス許可を持つようにします。詳細については、Amazon Simple Storage Service コンソールユーザーガイドの「[S3 バケットのイベント通知を有効化および設定する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html)」を参照してください。

AWS Lambda から Amazon S3 の許可を付与して、Lambda 関数を呼び出すこともできます。詳細については、[ Lambda 開発者ガイドの「](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html)チュートリアル: Amazon S3AWS で AWS Lambda を使用する」を参照してください。

X-Ray と Lambda の統合の詳細については、「[AWS Lambda での Java コードの実装](https://docs.aws.amazon.com/lambda/latest/dg/java-tracing.html)」を参照してください。

# AWS Distro for OpenTelemetry と AWS X-Ray
AWS オープンテレメトリー用ディストロ

AWS Distro for OpenTelemetry (ADOT) を使用してメトリクスとトレースを収集し、AWS X-Ray および Amazon CloudWatch、Amazon OpenSearch Service、Amazon Managed Service for Prometheus などの他のモニタリングソリューションに送信します。

## AWS オープンテレメトリー用ディストロ


The AWS Distro for OpenTelemetry（ADOT）は、クラウドネイティブコンピューティング財団（CNCF）のOpenTelemetryプロジェクトに基づいたAWS ディストリビューションです。OpenTelemetry は、分散トレースとメトリクスを収集するためのオープンソース API、ライブラリ、およびエージェントの 単一セットを提供します。このツールキットは、SDK、自動計測エージェント、およびコレクタを含むアップストリームの OpenTelemetry コンポーネントのディストリビューションであり、によってテスト、最適化、保護、およびサポートされます。AWS。

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

ADOT は、トレースやメトリクスを X-Ray などのモニタリングソリューションへ簡単に送信できるようにするため、多数の AWS のサービス と統合されています。ADOT と統合されたサービスの例として、次のようなものがあります。
+ *AWS Lambda* – ADOT 用の AWS マネージド型 Lambda レイヤーは、Lambda 関数を自動的に計測し、OpenTelemetry を AWS Lambda と X-Ray のすぐに使える設定とともにセットアップの簡単なレイヤーにパッケージ化することで、プラグアンドプレイのユーザーエクスペリエンスを提供します。ユーザーは、コードを変更せずに Lambda 関数の OpenTelemetry を有効または無効にできます。詳細については、「[AWS Distro for OpenTelemetry Lambda](https://aws-otel.github.io/docs/getting-started/lambda)」を参照してください。
+ *Amazon Elastic Container Service (ECS)* – AWS Distro for OpenTelemetry Collector を使用して Amazon ECS アプリケーションからメトリクスとトレースを収集し、X-Ray やその他のモニタリングソリューションに送信します。詳細については、Amazon ECS デベロッパーガイドの「[アプリケーショントレースデータの収集](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/trace-data.html)」を参照してください。
+ *AWS App Runner* – App Runner は、AWS Distro for OpenTelemetry (ADOT) を使用した X-Ray へのトレースの送信をサポートしています。ADOT SDK を使用してコンテナ化されたアプリケーションのトレースデータを収集し、X-Ray を使用して計測したアプリケーションを分析し、インサイトを得ます。詳細については、「[AWS App Runner と X-Ray](xray-services-app-runner.md)」を参照してください。

追加の AWS のサービス との統合など AWS Distro for OpenTelemetry の詳細については、「[AWS Distro for OpenTelemetry Documentation](https://aws-otel.github.io/docs/introduction)」を参照してください。

AWS Distro for OpenTelemetry と X-Ray でアプリケーションを計測する方法の詳細については、「[AWS Distro for OpenTelemetry でアプリケーションを計測する](xray-instrumenting-your-app.md#xray-instrumenting-opentel)」を参照してください。

# X-Rayの暗号化設定の変更を追跡AWS Config
AWS Config

AWS X-Ray統合することで、AWS ConfigX-Ray暗号化リソースに対して行われた設定変更を記録することができます。X-Rayの暗号化リソースのインベントリ、AWS ConfigX-Rayの設定履歴の監査、およびリソースの変更に基づく通知の送信などに使用できます。

AWS Configは、以下のX-Ray暗号化リソースの変更をイベントとして記録することをサポートしています：
+ **設定変更 暗号化キー**の変更および追加、もしくは暗号化X-Ray設定をデフォルトに戻すことができます。

以下の手順に従って、X-Rayとの間で基本的な接続方法をご確認ください。AWS Config

## Lambda関数のトリガーの作成


カスタムAWS Lambdaルールを生成する前に、カスタムAWS Config関数のARNを取得する必要があります。以下の手順に従い、AWS Configリソースの状態に基づいて、準拠している値または準拠しない値を`XrayEncryptionConfig`返す基本的な関数をNode.jsで作成します。

**AWS::XrayEncryptionConfigの変更トリガーを持つLambda関数を作成するには**

1. [Lambdaのコンソール](https://console.aws.amazon.com/lambda/home)を開きます。[**機能の作成**]を選択します。

1. [**設計図**]を選択し、設計図ライブラリをフィルタリングして、**トリガー変更のルール設定**で設計図を探します。設計図名のリンクをクリックするか、[**設定**]を選択して続行してください。

1. 以下のフィールドを定義して設計図を設定します：
   + [**Name**] には、名前を入力します。
   + [**役割**]では、[**テンプレートから新しい役割の作成**]を選択します。
   + [**役割名**]に名前を入力します。
   + [**ポリシーテンプレート**]では、[**AWS Configルールのアクセス権限**]を選択します。

1. [**関数の作成**]を選択すると、AWS Lambda 関数が作成され、コンソールに表示されます。

1. 関数コードを編集して、`AWS::EC2::Instance``AWS::XrayEncryptionConfig`に置き換えます。また、説明欄を更新して、この変更を反映させることもできます。

   **初期設定コード**

   ```
       if (configurationItem.resourceType !== 'AWS::EC2::Instance') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

   **更新されたコード**

   ```
       if (configurationItem.resourceType !== 'AWS::XRay::EncryptionConfig') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

1. X-Rayにアクセスするために、IAMの実行の役割に以下を追加します。これらのアクセス権限により、X-Rayリソースへの読み取り専用のアクセスを許可します。適切なリソースへのアクセス権を提供しない場合、ルールに関連付けられたLambda関数を評価する際に、AWS Config範囲外のメッセージが表示されます。

   ```
       {
           "Sid": "Stmt1529350291539",
           "Action": [
               "xray:GetEncryptionConfig"
           ],
           "Effect": "Allow",
           "Resource": "*"
        }
   ```

## X-Rayに関するカスタムAWS Configルールの作成


 Lambda関数が作成されたら、関数のARNをメモし、AWS Configコンソールに移動してカスタムルールを作成します。

**X-RayのルーAWS Configルを作成するには**

1. [**コンソールの[**ルールAWS Config]ページを開きます](https://console.aws.amazon.com/config/home#/rules/view)。

1. [**ルールの追加**]を選択し、[**カスタムルールを追加**]を選択します。

1. **AWS Lambda[関数のARN]には、**使用するLambda関数に関連付けられた ARNを挿入します。

1. 設定するトリガーの種類を選択します：
   + **設定変更-ル**ーAWS Configルの範囲に該当するリソースの設定が変更された場合にのトリガーの評価を開始します。AWS Config設定項目の変更通知を送信後に、評価が実行されます。
   + **定期的-指定した間隔(24時間ごとなど)で、**AWS Configルールの評価が実行されます。

1. **[リソースタイプ]**は、**EncryptionConfig**X-Rayの項目で選択します。

1. ****[セーブ]を選択します。****

AWS Config コンソールは、ルールのコンプライアンスの評価を直ちに開始します。評価は完了までに数分かかることがあります。

このルールに準拠し、AWS Config監査履歴の作成を開始できるようになります。AWS Configは、タイムラインの形式でリソースの変更を記録します。AWS Config はイベントのタイムラインの各変更に対して、変更前/変更後の形式で表を作成し、暗号化キーの JSON 表現の変更内容を示します。EncryptionConfigに関連付けられた2つのフィールドの変更は`Configuration.type`及び`Configuration.keyID`。

## 結果の例


以下は、特定の日時に行われた変更を示すAWS Configタイムラインの例です。

![\[AWS Config タイムライン。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/ConfigTimeline.png)


以下は、AWS Config変更エントリの例です。変更前/変更後の形式で変更内容を示します。この例では、デフォルトのX-Ray暗号化設定を、定義済みの暗号化キーに変更されたことを示しています。

![\[X-Ray 暗号化設定の変更項目。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/ConfigChanges.png)


## Amazon SNSの通知


設定変更の通知を受け取るには、AWS ConfigAmazon SNS通知を発行するように設定します。詳細については、「[EメールによるAWS Configリソースの変更のモニタリング](https://docs.aws.amazon.com/config/latest/developerguide/monitoring-resource-changes-by-email.html)」を参照してください。

# AWS AppSyncおよびAWS X-Ray
AWS AppSync

AppSyncのリクエストを有効にしたりトレースするこAWSとができます。詳細については、[AWS「X-Ray](https://docs.aws.amazon.com/appsync/latest/devguide/x-ray-tracing.html)のためのトレース」を参照してください。

X-RayトレースがAWSAppSync APIAWSに対して有効になっている場合、Identity and Access Managementの[サ](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)ービスにリンクした役割で適切なアクセス許可が付与され、自動的にアカウント内に作成されます。これにより、AWSAppSyncは安全な方法でX-Rayにトレースを送信することができます。

# Amazon API GatewayのアクティブトレーシングサポートAWS X-Ray
API Gateway

X-Rayを使用して、ユーザーリクエストがAmazon API Gateway APIsを経由し、基礎となるサービスへの流れをトレースして分析することができます。API Gatewayは、すべてのAPI Gateway評価項目タイプでX－Rayトレースがサポートしています：地域、エッジの最適化、プライベートです。X-Ray は、X-Ray を利用できるすべての AWS リージョン で Amazon API Gateway と併用できます。詳細については、[『Amazon API Gateway開発者ガイド』AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html)の「API Gateway APIの実行の追跡」を参照してください。

**注記**  
X-Rayは、 API Gatewayを介したREST APIの追跡のみをサポートしています。

Amazon API Gatewayは、[追跡機能](xray-services.md)のサポートを提供していますAWS X-Ray。APIステージの追跡機能を有効にすると、受信リクエストをサンプリングし、X-Rayにトレースを送信することができます。

**APIステージで追跡機能を有効にするには**

1. API Gateway([https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway/))コンソールを開きます。

1. APIを選択します。

1. ステージを選択します。

1. 「**ログ/トレース**」タブで、以下を選択します、**「X-Rayトレースを有効にする**」を選択し、**変更の保存**。

1. 左側のナビゲーションパネルで、**「リソース」**を選択します。

1. 新しい設定でAPIを再配置するには、**[Actions]**ドロップダウン方式を選択し**[Deploy API]**の順に選択します。

API Gatewayは、X-Rayコンソールで定義したサンプリングルールを使用し、記録するリクエストを決定します。APIのみに適用されるルール、または特定のヘッダーを含むリクエストにのみ適用されるルールを作成することができます。API Gatewayは、ステージおよびリクエストの詳細と共に、セグメント上の属性にヘッダーを記録します。詳細については、「[サンプリングルールの設定](xray-console-sampling.md)」を参照してください。

**注記**  
API Gateway [HTTP 統合](https://docs.aws.amazon.com/apigateway/latest/developerguide/setup-http-integrations.html)で REST API をトレースする場合、各セグメントのサービス名は API Gateway から HTTP 統合エンドポイントまでのリクエスト URL パスに設定され、一意の URL パスごとに X-Ray トレースマップ上にサービスノードが作成されます。URL パスの数が多いと、トレースマップが 10,000 ノードの制限を超え、エラーが発生する可能性があります。  
API Gateway によって作成されるサービスノードの数を最小限に抑えるには、パラメータを URL クエリ文字列内、またはリクエスト本文に入れて POST 経由で渡すことを検討してください。いずれの方法でも、パラメータが URL パスに含まれることはないため、個別の URL パスやサービスノードの数が少なくなる可能性があります。

API Gatewayは、HTTP[（すべての受信ハイパーテキスト転送プロトコル）](xray-concepts.md#xray-concepts-tracingheader)リクエストに対し、まだトレースヘッダーを持たない受信リクエストにトレースヘッダーを追加します。

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**X-Ray のトレース ID 形式**

X-Ray `trace_id` は、ハイフンで区切られた 3 つの数字で構成されています。例えば、`1-58406520-a006649127e371903a2de979`。これには、以下のものが含まれます：
+ バージョン番号、すなわち、`1`。
+ 元のリクエストの時刻。ユニックスエポックタイムで、**16 進数 8 桁**で表示されます。

  例えば、エポックタイムで 2016 年 12 月 1 日 10:00AM PST (太平洋標準時刻) は `1480615200` 秒、または 16 進数で `58406520` と表示されます。
+ グローバルに一意なトレースの 96 ビットの識別子で、**24 桁の 16 進数**で表示されます。

アクティブなトレースが無効になっている場合でも、リクエストがサンプリングされ、かつトレースが開始されているサービスからのリクエストが送信された場合は、ステージによりセグメントが記録されます。たとえば、搭載されたウェブアプリケーションがHTTPクライアントを使用してAPI Gateway APIを呼び出すことができます。X-Ray SDKを使用してHTTPクライアントを導入すると、サンプリング判定を含む発信リクエストにトレースヘッダーが追加されます。API Gatewayは、トレースヘッダーを読み取り、サンプリングされたリクエストのセグメントを作成します。

[API Gatewayを使用して](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-generate-sdk.html)APIのJava SDKを生成するAWS場合は、SDKクライアントを手動で計測するのと同じ方法で、クライアントビルダーでリクエストハンドラーを追加して SDKクライアントを計測できます。手順については、「[X-Ray AWS SDK for Java を使用した SDK 呼び出しのトレース](xray-sdk-java-awssdkclients.md)」を参照してください。

# Amazon EC2およびAWS App Mesh
サービスメッシュ (App Mesh)

AWS X-Rayと統合することで[AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/what-is-app-mesh.html)マイクロサービスのEnvoy proxiesを管理することができます。App Meshでは、同じタスクまたはポッドのコンテナ内で実行されているX-Rayデーモンにトレースデータを送信するように設定できるEnvoyバージョンを提供しています。X-Rayは、以下のApp Mesh対応サービスでのトレースをサポートしています: 
+ Amazon Elastic Container Service (Amazon ECS)
+ Amazon Elastic Kubernetes Service (Amazon EKS)
+ Amazon Elastic Compute Cloud (Amazon EC2)

App MeshでX-Rayトレースを有効にする方法については、以下の説明を参照にしてください。

![\[クライアントと App Mesh サービス間のトレースを示すトレースマップ。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/appmesh-traceContents.png)


Envoy proxyがX-Rayにデータを送信するように設定するには、`ENABLE_ENVOY_XRAY_TRACING` [コンテナの定義で環境変数を設定します。](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html#envoy-config)

**注記**  
App MeshバージョンのEnvoyは現在、[サンプリンのルール](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html)設定に基づいてトレースを送信しません。代わりに、Envoyバージョン1.16.3 以降では5%の固定サンプリングレートを使用し、Envoyバージョン1.16.3以前では50%のサンプリングレートを使用します。

**Example Amazon ECSのためのEnvoyコンテナの定義**  

```
{
      "name": "envoy",
      "image": "public.ecr.aws/appmesh/aws-appmesh-envoy:envoy-version",
      "essential": true,
      "environment": [
        {
          "name": "APPMESH_VIRTUAL_NODE_NAME",
          "value": "mesh/myMesh/virtualNode/myNode"
        },
        {
          "name": "ENABLE_ENVOY_XRAY_TRACING",
          "value": "1"
        }
      ],
      "healthCheck": {
        "command": [
          "CMD-SHELL",
          "curl -s http://localhost:9901/server_info | cut -d' ' -f3 | grep -q live"
        ],
        "startPeriod": 10,
        "interval": 5,
        "timeout": 2,
        "retries": 3
      }
```

**注記**  
使用可能なEnvoy リージョンのアドレスの詳細については、「[ユーザーガイド」の](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html)の「AWS App MeshEnvoyイメージ」を参照してください。

X-Rayデーモンをコンテナ内で実行する方法について参照してください[Amazon ECS での X-Ray デーモンの実行](xray-daemon-ecs.md)。サービスメッシュ、マイクロサービス、Envoy proxy、および X-Ray デーモンを含むサンプルアプリケーションについては、`colorapp`[App Mesh Examples GitHub リポジトリ](https://github.com/aws/aws-app-mesh-examples/tree/master/examples)のサンプルを配置してください。

**詳細はこちら**
+ [ のご利用開始にあたってAWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting_started.html)
+ [Amazon ECS AWS App Meshの開始方法について](https://docs.aws.amazon.com/app-mesh/latest/userguide/mesh-getting-started-ecs.html)

# AWS App Runner と X-Ray
App Runner

 AWS App Runner は、AWS クラウド で、ソースコードまたはコンテナイメージから、スケーラブルでセキュアなウェブアプリケーションに直接デプロイする、迅速、シンプル、費用対効果の高い方法を提供する AWS のサービス です。新しいテクノロジーを学習したり、使用するコンピューティングサービスを決定したり、AWS リソースのプロビジョニングと構成方法を知ったりする必要はありません。詳細については、「[AWS App Runner とは](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html)」を参照してください。

 AWS App Runner は [AWS Distro for OpenTelemetry](xray-services-adot.md) (ADOT) との統合により、トレースを X-Ray に送信します。ADOT SDK を使用してコンテナ化されたアプリケーションのトレースデータを収集し、X-Ray を使用して計測したアプリケーションを分析し、インサイトを得ます。詳細については、「[X-Ray を使用した App Runner アプリケーションのトレース](https://docs.aws.amazon.com/apprunner/latest/dg/monitor-xray.html)」を参照してください。

# を使用した X-Ray API コールのログ記録 AWS CloudTrail
CloudTrail

AWS X-Ray は、ユーザー[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)、ロール、または によって実行されたアクションを記録するサービスである と統合されています AWS のサービス。CloudTrail は、X-Ray のすべての API コールをイベントとしてキャプチャします。キャプチャされたコールには、X-Ray コンソールからの呼び出しと、X-Ray API オペレーションへのコード呼び出しが含まれます。CloudTrail で収集された情報を使用して、X-Ray に対するリクエスト、リクエスト元の IP アドレス、リクエストの作成日時、その他の詳細を確認できます。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ ルートユーザーまたはユーザー認証情報のどちらを使用してリクエストが送信されたか。
+ リクエストが IAM Identity Center ユーザーに代わって行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが、別の AWS のサービスによって送信されたかどうか。

CloudTrail は、アカウントを作成する AWS アカウント と でアクティブになり、CloudTrail **イベント履歴**に自動的にアクセスできます。CloudTrail の **[イベント履歴]** では、 AWS リージョンで過去 90 日間に記録された管理イベントの表示、検索、およびダウンロードが可能で、変更不可能な記録を確認できます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail イベント履歴の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。**[イベント履歴]** の閲覧には CloudTrail の料金はかかりません。

 AWS アカウント 過去 90 日間のイベントの継続的な記録については、証跡または [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) イベントデータストアを作成します。

**CloudTrail 証跡**  
*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。を使用して作成された証跡はすべてマルチリージョン AWS マネジメントコンソール です。 AWS CLIを使用する際は、単一リージョンまたは複数リージョンの証跡を作成できます。アカウント AWS リージョン 内のすべての でアクティビティをキャプチャするため、マルチリージョン証跡を作成することをお勧めします。単一リージョンの証跡を作成する場合、証跡の AWS リージョンに記録されたイベントのみを表示できます。証跡の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS アカウントの証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)」および「[組織の証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)」を参照してください。  
証跡を作成すると、進行中の管理イベントのコピーを 1 つ無料で CloudTrail から Amazon S3 バケットに配信できますが、Amazon S3 ストレージには料金がかかります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。Amazon S3 の料金に関する詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

**CloudTrail Lake イベントデータストア**  
*[CloudTrail Lake]* を使用すると、イベントに対して SQL ベースのクエリを実行できます。CloudTrail Lake は、行ベースの JSON 形式の既存のイベントを [Apache ORC](https://orc.apache.org/) 形式に変換します。ORC は、データを高速に取得するために最適化された単票ストレージ形式です。イベントは、*イベントデータストア*に集約されます。イベントデータストアは、[高度なイベントセレクタ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors)を適用することによって選択する条件に基づいた、イベントのイミュータブルなコレクションです。どのイベントが存続し、クエリに使用できるかは、イベントデータストアに適用するセレクタが制御します。CloudTrail Lake の詳細については、 *AWS CloudTrail ユーザーガイド*の[AWS CloudTrail 「Lake の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html)」を参照してください。  
CloudTrail Lake のイベントデータストアとクエリにはコストがかかります。イベントデータストアを作成する際に、イベントデータストアに使用する[料金オプション](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option)を選択します。料金オプションによって、イベントの取り込みと保存にかかる料金、および、そのイベントデータストアのデフォルトと最長の保持期間が決まります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

**Topics**
+ [

## CloudTrail の X-Ray 管理イベント
](#xray-api-cloudtrail-mgmt)
+ [

## CloudTrail の X-Ray データイベント
](#cloudtrail-data-events)
+ [

## X-Ray イベントの例
](#xray-cloudtrail-examples)

## CloudTrail の X-Ray 管理イベント


AWS X-Ray は と統合 AWS CloudTrail して、ユーザー、ロール、または によって実行された API アクションを X-Ray AWS のサービス に記録します。CloudTrailを使用して、X-RayのAPIリクエストをリアルタイムでモニタリングし、Amazon S3、Amazon CloudWatch Logs、またはAmazon CloudWatch Eventsにログを保存することができます。X-Rayは、CloudTrail ログファイルのイベントとして以下のアクションのログの記録をサポートしています：

**サポートされているAPIアクション**
+ [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html)

## CloudTrail の X-Ray データイベント


[データイベント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)は、リソースに対して実行、またはリソース内で実行されるリソースオペレーションに関する情報を提供します (セグメントドキュメントを X-Ray にアップロードする [https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html) など)。

これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。デフォルトでは、CloudTrail はデータイベントをログ記録しません。CloudTrail **[イベント履歴]** にはデータイベントは記録されません。

追加の変更がイベントデータに適用されます。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

CloudTrail コンソール、または CloudTrail CloudTrail API オペレーションを使用して AWS CLI、X-Ray リソースタイプのデータイベントを記録できます。データイベントをログに記録する方法の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS マネジメントコンソールを使用したデータイベントのログ記録](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console)」および「[AWS Command Line Interfaceを使用したデータイベントのログ記録](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI)」を参照してください。

次の表に、データイベントをログに記録できる X-Ray リソースタイプを示します。**データイベントタイプ (コンソール)** 列には、CloudTrail コンソールの**[データイベントタイプ]**リストから選択する値が表示されます。**resources.type 値**列には、 AWS CLI または CloudTrail APIs を使用して高度なイベントセレクタを設定するときに指定する `resources.type`値が表示されます。**CloudTrail に記録されたデータ API** 列には、リソースタイプの CloudTrail にログ記録された API コールが表示されます。


| データイベントタイプ (コンソール) | resources.type 値 | CloudTrail にログ記録されたデータ API | 
| --- | --- | --- | 
| [X-Ray トレース] |  AWS::XRay::Trace  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/xray-api-cloudtrail.html)  | 

`eventName` および `readOnly` フィールドでフィルタリングして、自分にとって重要なイベントのみをログに記録するように高度なイベントセレクタを設定できます。ただし、X-Ray トレースには ARN がないため、`resources.ARN` フィールドセレクタを追加したイベントの選択はできません。オブジェクトの詳細については、「*AWS CloudTrail API リファレンス*」の「[https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)」を参照してください。以下は、 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html) AWS CLI コマンドを実行して CloudTrail 証跡のデータイベントをログに記録する方法の例です。証跡が作成されたリージョンでコマンドを実行、またはそのリージョンを指定する必要があります。そうしないと、オペレーションは `InvalidHomeRegionException` 例外を返します。

```
aws cloudtrail put-event-selectors --trail-name myTrail --advanced-event-selectors \
'{
   "AdvancedEventSelectors": [ 
      {
         "FieldSelectors": [
            { "Field": "eventCategory", "Equals": ["Data"] },
            { "Field": "resources.type", "Equals": ["AWS::XRay::Trace"] },
            { "Field": "eventName", "Equals": ["PutTraceSegments","GetSamplingTargets"] }
         ],
         "Name": "Log X-Ray PutTraceSegments and GetSamplingTargets data events"
      }
   ]
}'
```

## X-Ray イベントの例


### 管理イベントの例、`GetEncryptionConfig`


以下は、CloudTrail の X-Ray GetEncryptionConfig のログエントリの例です。

**Example**  

```
{
    "eventVersion"=>"1.05",
    "userIdentity"=>{
        "type"=>"AssumedRole",
        "principalId"=>"AROAJVHBZWD3DN6CI2MHM:MyName",
        "arn"=>"arn:aws:sts::123456789012:assumed-role/MyRole/MyName",
        "accountId"=>"123456789012",
        "accessKeyId"=>"AKIAIOSFODNN7EXAMPLE",
        "sessionContext"=>{
            "attributes"=>{
                "mfaAuthenticated"=>"false",
                "creationDate"=>"2023-7-01T00:24:36Z"
            },
            "sessionIssuer"=>{
                "type"=>"Role",
                "principalId"=>"AROAJVHBZWD3DN6CI2MHM",
                "arn"=>"arn:aws:iam::123456789012:role/MyRole",
                "accountId"=>"123456789012",
                "userName"=>"MyRole"
            }
        }
    },
    "eventTime"=>"2023-7-01T00:24:36Z",
    "eventSource"=>"xray.amazonaws.com",
    "eventName"=>"GetEncryptionConfig",
    "awsRegion"=>"us-east-2",
    "sourceIPAddress"=>"33.255.33.255",
    "userAgent"=>"aws-sdk-ruby2/2.11.19 ruby/2.3.1 x86_64-linux",
    "requestParameters"=>nil,
    "responseElements"=>nil,
    "requestID"=>"3fda699a-32e7-4c20-37af-edc2be5acbdb",
    "eventID"=>"039c3d45-6baa-11e3-2f3e-e5a036343c9f",
    "eventType"=>"AwsApiCall",
    "recipientAccountId"=>"123456789012"
}
```

### データイベントの例、`PutTraceSegments`


以下は、CloudTrail の X-Ray PutTraceSegments データイベントのログエントリの例です。

**Example**  

```
{
  "eventVersion": "1.09",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAWYXPW54Y4NEXAMPLE:i-0dzz2ac111c83zz0z",
    "arn": "arn:aws:sts::012345678910:assumed-role/my-service-role/i-0dzz2ac111c83zz0z",
    "accountId": "012345678910",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAWYXPW54Y4NEXAMPLE",
        "arn": "arn:aws:iam::012345678910:role/service-role/my-service-role",
        "accountId": "012345678910",
        "userName": "my-service-role"
      },
      "attributes": {
        "creationDate": "2024-01-22T17:34:11Z",
        "mfaAuthenticated": "false"
      },
      "ec2RoleDelivery": "2.0"
    }
  },
  "eventTime": "2024-01-22T18:22:05Z",
  "eventSource": "xray.amazonaws.com",
  "eventName": "PutTraceSegments",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "198.51.100.0",
  "userAgent": "aws-sdk-ruby3/3.190.0 md/internal ua/2.0 api/xray#1.0.0 os/linux md/x86_64 lang/ruby#2.7.8 md/2.7.8 cfg/retry-mode#legacy",
  "requestParameters": {
    "traceSegmentDocuments": [
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0001",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0002"
    ]
  },
  "responseElements": {
    "unprocessedTraceSegments": []
  },
  "requestID": "5zzzzz64-acbd-46ff-z544-451a3ebcb2f8",
  "eventID": "4zz51z7z-77f9-44zz-9bd7-6c8327740f2e",
  "readOnly": false,
  "resources": [
    {
      "type": "AWS::XRay::Trace"
    }
  ],
  "eventType": "AwsApiCall",
  "managementEvent": false,
  "recipientAccountId": "012345678910",
  "eventCategory": "Data",
  "tlsDetails": {
    "tlsVersion": "TLSv1.2",
    "cipherSuite": "ZZZZZ-RSA-AAA128-GCM-SHA256",
    "clientProvidedHostHeader": "example.us-west-2.xray.cloudwatch.aws.dev"
  }
}
```

# X-Ray と CloudWatch の統合
CloudWatch

アプリケーションの健全性を簡単にモニタリングするため、AWS X-Ray は [CloudWatch Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html)、CloudWatch RUM、CloudWatch Synthetics と統合します。Application Signals のアプリケーションを有効にして、サービス、クライアントページ、Synthetics canary、およびサービス依存関係の運用健全性をモニタリングおよびトラブルシューティングします。

CloudWatch メトリクス、ログ、X-Ray トレースを相互に関連付けることにより、X-Ray トレースマップは、サービスの端末相互間の視点を提供し、パフォーマンスのボトルネックをすばやく特定し、影響を受けたユーザーを特定するのに役立ちます。

CloudWatch RUM を使用すると、現実的なユーザーモニタリングを実行できます。ウェブアプリケーションのパフォーマンスに関するクライアント側のデータを、ほぼリアルタイムで実際のユーザーセッションから収集し、表示できます。AWS X-Ray とCloudWatch RUM を使用すると、アプリケーションのエンドユーザーからダウンストリームの AWS マネージドサービスまでのリクエストパスを分析およびデバッグできます。これにより、エンドユーザーに影響を与えるレイテンシーの傾向やエラーを特定できます。

**Topics**
+ [

# CloudWatch RUM と AWS X-Ray
](xray-services-RUM.md)
+ [

# X-Rayを使用した CloudWatchの合成カナリアのデバッグ
](xray-services-cloudwatch-synthetics.md)

# CloudWatch RUM と AWS X-Ray
CloudWatch RUM

Amazon CloudWatch RUM を使用すると、現実的なユーザーモニタリングを実行できます。ウェブアプリケーションのパフォーマンスに関するクライアント側のデータを、ほぼリアルタイムで実際のユーザーセッションから収集し、表示できます。AWS X-Ray とCloudWatch RUM を使用すると、アプリケーションのエンドユーザーからダウンストリームの AWS マネージドサービスまでのリクエストパスを分析およびデバッグできます。これにより、エンドユーザーに影響を与えるレイテンシーの傾向やエラーを特定できます。

ユーザーセッションの X-Ray トレースを有効にすると、CloudWatch RUM は許可された HTTP リクエストに X-Ray トレースヘッダーを追加し、許可された HTTP リクエストの X-Ray セグメントを記録します。その後、X-Ray トレースマップなど、これらのユーザーセッションについてのトレースやセグメントを X-Ray および CloudWatch コンソールに表示できるようになります。

**注記**  
CloudWatch RUM は X-Ray のサンプリングルールとは統合されません。代わりに、CloudWatch RUM を使用するようにアプリケーションを設定するときに、サンプリング率を選択してください。CloudWatch RUM から送信されるトレースには、追加のコストが発生する可能性があります。詳細については、「[AWS X-Ray 料金表](https://aws.amazon.com/xray/pricing/)」を参照してください。

デフォルトでは、CloudWatch RUM から送信されるクライアント側トレースは、サーバー側のトレースと接続されません。クライアント側のトレースをサーバー側のトレースと接続するには、CloudWatch RUM のウェブクライアントで HTTP リクエストに X-Ray トレースヘッダーを追加するように設定します。

**警告**  
HTTP リクエストに X-Ray トレースヘッダーを追加するための設定を CloudWatch RUM のウェブクライアントで行うことで、クロスオリジンリソース共有 (CORS) に失敗する場合があります。これを回避するには、ダウンストリームサービスの CORS 設定で、許可されるヘッダーのリストに `X-Amzn-Trace-Id` HTTP ヘッダーを追加します。API Gateway をダウンストリームとして使用している場合は、「[REST API リソースの CORS を有効にする](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html)」を参照してください。本番環境でクライアント側の X-Ray トレースヘッダーの追加を行う前に、アプリケーションのテストを実施することを強くお勧めします。詳細については、「[CloudWatch RUM web client documentation](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md#http)」を参照してください。

CloudWatch での実際のユーザーモニタリングの詳細については、「[CloudWatch RUMを使用する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)」を参照してください。X-Ray によるユーザーセッションのトレースなど、CloudWatch RUMを使用するようにアプリケーションを設定するには、「[CloudWatch RUM を使用するためにアプリケーションをセットアップする](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started.html)」を参照してください。

# X-Rayを使用した CloudWatchの合成カナリアのデバッグ
CloudWatch Synthetics

CloudWatch Syntheticsは1日24時間有効になり1分間に1回起動されるスクリプト化されたカナリアを使用して、評価項目およびAPIをモニタリングできるフルマネージド型のサービスです。

以下の変更を確認して、canaryスクリプトをカスタマイズできます：
+ 可用性
+ レイテンシー
+ トランザクション
+ リンク切れまたはデットリンク
+ タスクのステップごとの完了
+ ページロードエラー
+ UI アセットのロードレイテンシー
+ 複雑なウィザードフロー
+ アプリケーションのチェックアウトフロー

カナリアは、お客様と同じルートをたどり、同じアクションと動作を実行して、お客様の満足体験を継続的に検証します。

Syntheticsテストの設定の詳細については、「[Syntheticsを使用してカナリアを作成および管理する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)」を参照してください。

![\[X-Ray トレースマップの canary ノードの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-show-canary-active.png)


以下の例では、Syntheticsのカナリアで発生する問題をデバッグするための一般的な使用例を示しています。各例は、トレースマップまたは X-Ray Analytics コンソールのいずれかを使用してデバッグするための重要な戦略を示しています。

トレースマップの読み方と操作方法の詳細については、「[サービスマップの表示](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html#xray-console-servicemap)」を参照してください。

X-Ray Analytics コンソールを読み取って操作する方法の詳細については、[AWS X-Ray 「分析コンソールの操作](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html)」を参照してください。

**Topics**
+ [

## トレースマップでエラーレポートが増加した canary を検証する
](#xray-services-cloudwatch-synthetics-workflows-which-canary)
+ [

## 個々のトレースのトレース詳細マップを使用して、各リクエストを詳細に確認する
](#xray-services-cloudwatch-synthetics-workflows-trace-map)
+ [

## アップストリームおよびダウンストリームサービスで継続的に発生している障害の根本原因を特定する
](#xray-services-cloudwatch-synthetics-workflows-root-cause)
+ [

## パフォーマンスのボトルネックとトレンドを特定する
](#xray-services-cloudwatch-synthetics-workflows-bottlenecks)
+ [

## 変更前と変更後で待ち時間およびエラー・障害率を比較する
](#xray-services-cloudwatch-synthetics-workflows-latency)
+ [

## すべてのAPIとURLに必要なcanaryの受信可能範囲エリアを特定する
](#xray-services-cloudwatch-synthetics-workflows-impact)
+ [

## グループを使用してSyntheticsテストに焦点を合わせる
](#xray-services-cloudwatch-synthetics-groups)

## トレースマップでエラーレポートが増加した canary を検証する
レポートが増加したカナリアを検証する

 X-Ray トレースマップ内で、どの canary でエラーや障害、スロットリング率、または応答時間が増加しているか確認するには、`Client::Synthetic` [フィルター](xray-console-filters.md)を使用して Synthetics canary のクライアントノードを強調表示できます。ノードをクリックすると、リクエスト全体の応答時間の分布が表示されます。2つのノード間のエッジをクリックすると、その接続を経由したリクエストの詳細が表示されます。また、トレースマップの関連するダウンストリームサービスの「リモート」推定ノードを表示できます。

Syntheticsノードをクリックすると、サイドパネルに**「View in Synthetics」**ボタンが表示され、Syntheticsコンソールにリダイレクトされ、canaryの詳細を確認することができます。

![\[サービスの詳細を含む X-Ray トレースマップの canary ノードの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-servicedetail.png)


## 個々のトレースのトレース詳細マップを使用して、各リクエストを詳細に確認する
トレース詳細マップを使用する

どのサービスで、最も待ち時間が発生しているか、またはエラーが発生しているかを判断するには、トレースマップのトレースを選択してトレース詳細マップを呼び出します。個々のトレース詳細マップには、1 つのリクエストの端末相互間でパスが表示されます。このパスを使用して、起動するサービスを把握し、アップストリームおよびダウンストリームサービスを可視化します。

![\[X-Ray トレース詳細マップの canary ノードの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-tracemap.png)


## アップストリームおよびダウンストリームサービスで継続的に発生している障害の根本原因を特定する
根本原因を特定する

Synthetics canaryの障害に関するCloudWatchアラームを受診したら、X-Rayのトレースデータの統計的モデリングを使用して、X-Ray Analyticsコンソール内で問題が推定される根本原因を特定します。Analyticsコンソールno、**応答時間の根本原因**表には、記録されたエンティティパスを表示します。X-Rayは、トレース内の、どのパスが応答時間の最大の原因であるかを判断します。この形式は、検出されたエンティティの階層を示し、最後に応答時間の根本原因を示します。

以下の例では、API Gateway上で実行されている API 「XXX」のSyntheticsテストが、Amazon DynamoDB表からのスループット容量の例外により障害になっていることを示しています。

![\[X-Ray トレースマップの canary ノードの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-active-select.png)


![\[canaryノードの根本原因の例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-rootcause.png)


![\[canary ノードを示す注釈フィルターの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-showannot.png)


## パフォーマンスのボトルネックとトレンドを特定する
ボトルネックとトレンドを特定する

Synthetics canary からの継続的なトラフィックを使用して、一定期間にわたってトレース詳細マップを作成し、エンドポイントのパフォーマンスのトレンドを経時的に表示できます。

![\[canary ノードを示す注釈フィルターの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-distribution.png)


## 変更前と変更後で待ち時間およびエラー・障害率を比較する
変更前と変更後の待ち時間を比較する

変更が発生した時間を特定して把握し、その変更を canary による問題の発見数の増加と関連させます。X-Ray Analyticsコンソールを使用して、前後の時間範囲を異なるトレースセットとして定義し、応答時間分布に視覚的な差異が生じます。

![\[canary ノードを示す注釈フィルターの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-compare.png)


## すべてのAPIとURLに必要なcanaryの受信可能範囲エリアを特定する
必要な受信可能範囲エリアを特定する

 X-Ray Analyticsを使用して、ユーザー間でカナリアの満足体験を比較します。以下のUIは、カナリアが青いトレンドラインおよびユーザーが緑のトレンドラインを示しています。また、3つのURLのうち2つにcanaryテストがないことを確認できます。

![\[canary ノードを示す注釈フィルターの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-vs-customer.png)


## グループを使用してSyntheticsテストに焦点を合わせる
テストグループを使用する

 フィルター式を使用してX-Rayグループを作成し、特定のワークフローセットに焦点を合わせることができ、 AWS Elastic Beanstalk例えばNETで実行されているアプリケーション「www」のSyntheticsテストなどです。[複合型キーワード](xray-console-filters.md#console-filters-complex)を使用して、`service()`そして`edge()`サービスとエッジをフィルタリングします。

**Example グループフィルタ式**  

```
"edge(id(name: "www", type: "client::Synthetics"), id(name: "www", type: "AWS::ElasticBeanstalk::Environment"))" 
```

![\[Elastic Beanstalk www のノードの例。\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/synthetics-canary-active-www.png)


# AWS Elastic Beanstalk および AWS X-Ray
(Elastic Beanstalk)

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日に、 AWS X-Ray SDKs/Daemon はメンテナンスモードに移行します。 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 Elastic Beanstalk プラットフォームには X-Ray デーモンが含まれています。[デーモンは、](xray-daemon-beanstalk.md)Elastic Beanstalkのコンソールで、オプションを設定するか、または環境設定ファイルで実行することができます。

Java SEプラットフォームでは、Buildfileファイルを使用して、MavenまたはGradleをオンインスタンスで使用するアプリケーションを構築することができます。X-Ray SDK for Java と AWS SDK for Java は Maven から利用できるため、アプリケーションコードのみをデプロイし、インスタンス上で構築して、すべての依存関係のバンドルとアップロードを回避できます。

Elastic Beanstalkの環境プロパティを使用して、X-Ray SDKを設定できます。Elastic Beanstalkが環境プロパティをアプリケーションに渡すために使用する方法は、プラットフォームによって異なります。お使いのプラットフォームに応じて、X-Ray SDK'sの環境変数または、異なるシステムプロパティを使用してください。
+ **[Node.jsプラットフォーム](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html)**・[環境変数を使用する](xray-sdk-nodejs-configuration.md#xray-sdk-nodejs-configuration-envvars)
+ **[Java SEプラットフォーム](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html)**・[環境変数を使用する](xray-sdk-java-configuration.md#xray-sdk-java-configuration-envvars)
+ **[Tomcatプラットフォーム](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html)**・[システムプロパティを使用する](xray-sdk-java-configuration.md#xray-sdk-java-configuration-sysprops)

詳細については、「 AWS Elastic Beanstalk デベロッパーガイド[」の AWS X-Ray 「デバッグの設定](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-configuration-debugging.html)」を参照してください。

# Elastic Load Balancing と AWS X-Ray
エラスティックロードバランシング

Elastic Load Balancingアプリケーションロードバランサーは、受信するHTTPリクエストに、ヘッダーにトレースIDを追加します。`X-Amzn-Trace-Id`

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**X-Ray のトレース ID 形式**

X-Ray `trace_id` は、ハイフンで区切られた 3 つの数字で構成されています。例えば、`1-58406520-a006649127e371903a2de979`。これには、以下のものが含まれます：
+ バージョン番号、すなわち、`1`。
+ 元のリクエストの時刻。ユニックスエポックタイムで、**16 進数 8 桁**で表示されます。

  例えば、エポックタイムで 2016 年 12 月 1 日 10:00AM PST (太平洋標準時刻) は `1480615200` 秒、または 16 進数で `58406520` と表示されます。
+ グローバルに一意なトレースの 96 ビットの識別子で、**24 桁の 16 進数**で表示されます。

ロードバランサーはX-Rayにデータを送信しない場合、サービスマップ上にノードとして表示されません。

詳細については、[『Elastic Load Balancing Developer Guide』の「Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-request-tracing.html)に関するリクエストのトレース」を参照してください。

# Amazon EventBridge と AWS X-Ray
EventBridge

AWS X-Ray は Amazon EventBridge と統合してEventBridge を通過するイベントをトレースします。X-Ray SDKでインストルメントされたサービスがEventBridgeにイベントを送信すると、トレースコンテキストはトレースヘッダー内でダウンストリームイベントターゲットに伝播されます。[トレースヘッダー](xray-concepts.md#xray-concepts-tracingheader)X-Ray SDKは、自動的にトレースヘッダーを取得し、後続のインストルメンテーションに適用します。この継続性により、ユーザーはダウンストリームサービス全体でトレース、分析、およびデバッグを実行できます。また、システムの全体像を把握できるようになります。

詳細については、『*EventBridgeユーザーガイド*』の「[EventBridge X-Rayターゲット](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-xray-integ.html)」を参照してください。

## X-Ray サービスマップでのソースおよびターゲットの表示


X-Ray [トレースマップ](xray-console-servicemap.md)には、以下の例のように、ソースサービスとターゲットサービスを接続する EventBridge イベントノードが表示されます: 

![\[X-Rayは、ソースサービスとターゲットサービスを接続するEventBridgeイベントノードを表示します\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/service-map-eventbridge.png)


## トレースコンテキストをイベントターゲットに伝播する


X-Ray SDKを使用すると、EventBridgeイベントソースがダウンストリームイベントターゲットにトレースコンテキストを伝播することを可能にします。以下の言語固有の例では、[アクティブトレースが有効になっている](https://docs.aws.amazon.com//lambda/latest/dg/services-xray.html#services-xray-api) Lambda 関数から EventBridge を呼び出す例を示しています。

------
#### [ Java ]

X-Rayに必要な依存関係を追加します：
+ [AWS X-Ray SDK for Java](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray/)
+ [AWS X-Ray Recorder SDK for Java](https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk/)

```
package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import com.amazonaws.xray.AWSXRay;
import com.amazonaws.services.eventbridge.AmazonEventBridge;
import com.amazonaws.services.eventbridge.AmazonEventBridgeClientBuilder;
import com.amazonaws.services.eventbridge.model.PutEventsRequest;
import com.amazonaws.services.eventbridge.model.PutEventsRequestEntry;
import com.amazonaws.services.eventbridge.model.PutEventsResult;
import com.amazonaws.services.eventbridge.model.PutEventsResultEntry;
import com.amazonaws.xray.handlers.TracingHandler;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.StringBuilder;
import java.util.Map;
import java.util.List;
import java.util.Date;
import java.util.Collections;

/*
   Add the necessary dependencies for XRay:
   https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray
   https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk
*/
public class Handler implements RequestHandler<SQSEvent, String>{
  private static final Logger logger = LoggerFactory.getLogger(Handler.class);

  /*
    build EventBridge client
  */
  private static final AmazonEventBridge eventsClient = AmazonEventBridgeClientBuilder
          .standard()
          // instrument the EventBridge client with the XRay Tracing Handler.
          // the AWSXRay globalRecorder will retrieve the tracing-context 
          // from the lambda function and inject it into the HTTP header.
          // be sure to enable 'active tracing' on the lambda function.
          .withRequestHandlers(new TracingHandler(AWSXRay.getGlobalRecorder()))
          .build();

  @Override
  public String handleRequest(SQSEvent event, Context context)
  {
    PutEventsRequestEntry putEventsRequestEntry0 = new PutEventsRequestEntry();
    putEventsRequestEntry0.setTime(new Date());
    putEventsRequestEntry0.setSource("my-lambda-function");
    putEventsRequestEntry0.setDetailType("my-lambda-event");
    putEventsRequestEntry0.setDetail("{\"lambda-source\":\"sqs\"}");
    PutEventsRequest putEventsRequest = new PutEventsRequest();
    putEventsRequest.setEntries(Collections.singletonList(putEventsRequestEntry0));
    // send the event(s) to EventBridge
    PutEventsResult putEventsResult = eventsClient.putEvents(putEventsRequest);
    try {
      logger.info("Put Events Result: {}", putEventsResult);
    } catch(Exception e) {
      e.getStackTrace();
    }
    return "success";
  }
}
```

------
#### [ Python ]

 requirements.txt ファイルに以下の依存関係を追加します：

```
aws-xray-sdk==2.4.3        
```

```
import boto3
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all

# apply the XRay handler to all clients.
patch_all()

client = boto3.client('events')

def lambda_handler(event, context):
    response = client.put_events(
        Entries=[
            {
                'Source': 'foo',
                'DetailType': 'foo',
                'Detail': '{\"foo\": \"foo\"}'
            },
        ]
    )
    return response
```

------
#### [ Go ]

```
package main

import (
  "context"
  "github.com/aws/aws-lambda-go/lambda"
  "github.com/aws/aws-lambda-go/events"
  "github.com/aws/aws-sdk-go/aws/session"
  "github.com/aws/aws-xray-sdk-go/xray"
  "github.com/aws/aws-sdk-go/service/eventbridge"
  "fmt"
)

var client = eventbridge.New(session.New())


func main() {
 //Wrap the eventbridge client in the AWS XRay tracer
  xray.AWS(client.Client)
  lambda.Start(handleRequest)
}

func handleRequest(ctx context.Context, event events.SQSEvent) (string, error) {
  _, err := callEventBridge(ctx)
  if err != nil {
    return "ERROR", err
  }
  return "success", nil
}


func callEventBridge(ctx context.Context) (string, error) {
    entries := make([]*eventbridge.PutEventsRequestEntry, 1)
    detail := "{ \"foo\": \"foo\"}"
    detailType := "foo"
    source := "foo"
    entries[0] = &eventbridge.PutEventsRequestEntry{
        Detail: &detail,
        DetailType: &detailType,
        Source: &source,
    }

  input := &eventbridge.PutEventsInput{
     Entries: entries,
  }

  // Example sending a request using the PutEventsRequest method.
  resp, err := client.PutEventsWithContext(ctx, input)

  success := "yes"
  if err == nil { // resp is now filled
      success = "no"
      fmt.Println(resp)
  }
  return success, err
}
```

------
#### [ Node.js ]

```
const AWSXRay = require('aws-xray-sdk')
//Wrap the aws-sdk client in the AWS XRay tracer
const AWS = AWSXRay.captureAWS(require('aws-sdk'))
const eventBridge = new AWS.EventBridge()

exports.handler = async (event) => {

  let myDetail = { "name": "Alice" }

  const myEvent = { 
    Entries: [{
      Detail: JSON.stringify({ myDetail }),
      DetailType: 'myDetailType',
      Source: 'myApplication',
      Time: new Date
    }]
  }

  // Send to EventBridge
  const result = await eventBridge.putEvents(myEvent).promise()

  // Log the result
  console.log('Result: ', JSON.stringify(result, null, 2))

}
```

------
#### [ C\$1 ]

 以下のX-RayパッケージをC\$1の依存関係に追加します：

```
<PackageReference Include="AWSXRayRecorder.Core" Version="2.6.2" />
<PackageReference Include="AWSXRayRecorder.Handlers.AwsSdk" Version="2.7.2" />
```

```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Amazon;
using Amazon.Util;
using Amazon.Lambda;
using Amazon.Lambda.Model;
using Amazon.Lambda.Core;
using Amazon.EventBridge;
using Amazon.EventBridge.Model;
using Amazon.Lambda.SQSEvents;
using Amazon.XRay.Recorder.Core;
using Amazon.XRay.Recorder.Handlers.AwsSdk;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

namespace blankCsharp
{
  public class Function
  {
    private static AmazonEventBridgeClient eventClient;

    static Function() {
      initialize();
    }

    static async void initialize() {
      //Wrap the AWS SDK clients in the AWS XRay tracer
      AWSSDKHandler.RegisterXRayForAllServices();
      eventClient = new AmazonEventBridgeClient();
    }

    public async Task<PutEventsResponse> FunctionHandler(SQSEvent invocationEvent, ILambdaContext context)
    {
      PutEventsResponse response;
      try
      {
        response = await callEventBridge();
      }
      catch (AmazonLambdaException ex)
      {
        throw ex;
      }

      return response;
    }

    public static async Task<PutEventsResponse> callEventBridge()
    {
      var request = new PutEventsRequest();
      var entry = new PutEventsRequestEntry();
      entry.DetailType = "foo";
      entry.Source = "foo";
      entry.Detail = "{\"instance_id\":\"A\"}";
      List<PutEventsRequestEntry> entries = new List<PutEventsRequestEntry>();
      entries.Add(entry);
      request.Entries = entries;
      var response = await eventClient.PutEventsAsync(request);
      return response;
    }
  }
}
```

------

# AWS Lambda および AWS X-Ray
Lambda

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日に、 AWS X-Ray SDKs/Daemon はメンテナンスモードに移行します。 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 X-Ray をトレースできます AWS Lambda 。Lambda は [X-Ray デーモン](xray-daemon.md)を実行し、関数の呼び出しと実行に関する詳細でセグメントを記録します。さらに計測するには、X-Ray SDK を関数にバンドルして送信呼び出しを記録し、注釈とメタデータを追加できます。

Lambda 関数が他の計測サービスより呼び出されると、Lambda は、追加の設定なしで、すでにサンプルを作成したリクエストをトレースします。アップストリームサービスは、計測されたウェブアプリケーションや別の Lambda 関数とすることができます。サービスは、計測された AWS SDK クライアントを使用して関数を直接呼び出すことも、計測された HTTP クライアントを使用して API Gateway API を呼び出すこともできます。

AWS X-Ray は、 AWS Lambda と Amazon SQS を使用したイベント駆動型アプリケーションのトレースをサポートします。CloudWatch コンソールを使用すると、各リクエストが Amazon SQS のキューに入れられ、ダウンストリーム Lambda 関数によって処理される過程を各リクエストの接続されたビューで確認できます。アップストリームメッセージプロデューサーからのトレースは、ダウンストリーム Lambda コンシューマーノードからのトレースに自動的にリンクされるため、アプリケーションのエンドツーエンドのビューが作成されます。詳細については、「[イベント駆動型アプリケーションのトレース](xray-tracelinking.md)」を参照してください。

**注記**  
ダウンストリーム Lambda 関数でトレースを有効にした場合は、ダウンストリーム関数がトレースを生成するために、ダウンストリーム関数を呼び出すルート Lambda 関数でもトレースを有効にする必要があります。

Lambda 関数がスケジュールで実行される場合や、計測されていないサービスによって呼び出される場合は、アクティブトレースで呼び出しをサンプルおよび記録するように Lambda を設定できます。

**AWS Lambda 関数で X-Ray 統合を設定するには**

1. [AWS Lambda コンソール](https://console.aws.amazon.com/lambda)を開きます。

1. 左のナビゲーションペインから [**関数**] を選択します。

1. 関数を選択します。

1. **[設定]** タブで、**[その他の監視ツール]** カードが表示されるまで下へスクロールします。このカードは、左側のナビゲーションペインで **[モニタリングおよび運用ツール]** を選択して見つけることもできます。

1. **[Edit]** (編集) を選択します。

1. [**AWS X-Ray**] で、[**アクティブトレース**] を有効にします。

対応する X-Ray SDK、 Lambda があるランタイムでも、X-Ray デーモンが実行されます。

**Lambda の X-Ray SDK**
+ **Go X-Ray SDK for Go** – Go 1.7 以降のランタイム
+ **X-Ray SDK for Java** – Java 8 ランタイム
+ **X-Ray SDK for Node.js** – Node.js 4.3 以降のランタイム
+ **X-Ray SDK for Python** – Python 2.7、Python 3.6 以降のランタイム
+ **X-Ray SDK for .NET** – .NET Core 2.0 以降のランタイム

Lambda で X-Ray SDK を使用するには、新しいバージョンを作成するたびに、関数コードでバンドルします。Lambda 関数は、他のサービスで実行されているアプリケーションを計測する場合と同じメソッドを使用して計測することができます。主な違いは、SDK を使用して、受信リクエストの計測、サンプリングの決定、セグメントの作成を行わないことです。

Lambda 関数とウェブアプリケーションの計測のもう 1 つの違いは、Lambda が作成して X-Ray に送信するセグメントは、関数コードで変更できないことです。サブセグメントを作成し、そこに注釈とメタデータを記録できますが、親セグメントに注釈とメタデータを追加することはできません。

詳細については、[AWS 開発者ガイド](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html)の「*AWS Lambda X-Ray を使用する*」を参照してください。

# AWS Step Functions および AWS X-Ray
Step Functions

AWS X-Ray は AWS Step Functions と統合して、Step Functions のリクエストをトレースおよび分析します。ステートマシーンのコンポーネントの視覚化、パフォーマンスのボトルネックの特定、およびエラーの原因となったリクエストのトラブルシューティングを行うことができます。詳細については、[ デベロッパーガイドの AWS X-Ray](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html) と Step Functions AWS Step Functionsを参照してください。

**新しいステートマシンの作成時に X-Ray トレースを有効にするには**

1. [https://console.aws.amazon.com/states/](https://console.aws.amazon.com/states/) で Step Functions コンソールを開きます。

1. [**ステートマシンの作成**] を選択します。

1. [**ステートマシンを定義する**] ページで、[**コードスニペットで作成**] および [**テンプレートで開始する**] を選択します。サンプルプロジェクトを実行することを選択した場合、作成中に X-Ray トレースを有効にすることはできません。の代わりに、ステートマシンを作成した後で X-Ray トレースを有効にします。

1. [**次へ**] を選択します。

1. [**詳細の指定**] ページで、ステートマシンを設定します。

1. [**X-Ray トレースを有効にする**] を選択します。

**既存のステートマシンで、X-Ray トレースを有効にするには**

1. Step Functions コンソールで、トレースを有効にするステートマシンを選択します。

1. **[編集]** を選択します。

1. [**X-Ray トレースを有効にする**] を選択します。

1. （オプション） [Permissions] ウィンドウから [**Create new role**] を選択して、X-Ray のアクセス許可を含むステートマシンの新しいロールを自動生成します。  
![\[Permissions section with options to create a new role, choose existing, or enter ARN.\]](http://docs.aws.amazon.com/ja_jp/xray/latest/devguide/images/stepfunctions-permissions.png)

1. **[保存]** を選択します。

**注記**  
新しいステートマシンを作成すると、リクエストがサンプリングされ、Amazon API Gateway または AWS Lambda などのアップストリームサービスでトレースが有効になっていれば、自動的にトレースされます。CloudFormation テンプレートなど、コンソール以外で設定された既存のステートマシンの場合、X-Ray トレースを有効にするための十分なアクセス許可を付与する IAM ポリシーがあることを確認します。