

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

# Amazon API GatewayのアクティブトレーシングサポートAWS X-Ray
<a name="xray-services-apigateway"></a>

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)」を参照してください。