

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

# Application Load Balancer のリクエストをトレースする
<a name="load-balancer-request-tracing"></a>

ロードバランサーは、クライアントからのリクエストを受信すると、ターゲットにリクエストを送信する前に、[**X-Amzn-Trace-Id**] ヘッダーを追加、または更新します。ロードバランサーとターゲットとの間のサービスまたはアプリケーションはすべて、このヘッダーの追加、または更新ができます。

クライアントからのターゲットまたは他のサービスへの HTTP リクエストを追跡するため、リクエストのトレースを使用できます。アクセスログを有効にすると、[**X-Amzn-Trace-Id**] ヘッダーの内容が記録されます。詳細については、「[Application Load Balancer のアクセスログ](load-balancer-access-logs.md)」を参照してください。

## 構文
<a name="request-tracing-syntax"></a>

[**X-Amzn-Trace-Id**] ヘッダーには、次の形式を含むフィールドが含まれます。

```
Field=version-time-id
```

*フィールド*  
フィールドの名前。サポートされる値は `Root` と `Self` です。  
アプリケーションは独自の目的で任意のフィールドを追加できます。ロードバランサーは、これらのフィールドを維持しますが、使用しません。

*バージョン*  
バージョン番号。値は 1 です。

*時間*  
エポック時間 (秒)。この値は 8 桁の 16 進数です。

*id*  
追跡識別子。この値は 24 桁の 16 進数です。

**例**  
[**X-Amzn-Trace-Id**] ヘッダーが受信リクエストにない場合、ロードバランサーは、`Root` フィールドのあるヘッダーを作成し、リクエストを転送します。以下に例を示します。

```
X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678
```

[**X-Amzn-Trace-Id**] ヘッダーがあり、`Root` フィールドがある場合、ロードバランサーは `Self` フィールドを挿入し、リクエストを転送します。以下に例を示します。

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678
```

アプリケーションが `Root` フィールドとカスタムフィールドのあるヘッダーを追加した場合、ロードバランサーは両方のフィールドを保持し、`Self` フィールドを挿入して、リクエストを転送します。

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678;CalledFrom=app
```

[**X-Amzn-Trace-Id**] ヘッダーがあり、`Self` フィールドがある場合、ロードバランサーは `Self` フィールドの値を更新します。

## 制限事項
<a name="request-tracing-limits"></a>
+ ロードバランサーは、レスポンスを受信するときではなく、受信リクエストを受け取るときにヘッダーを更新します。
+ HTTP ヘッダーが 7 KB より大きい場合、ロードバランサーは、[**X-Amzn-Trace-Id**] ヘッダーを `Root` フィールドで書き換えます。
+ WebSockets では、アップグレードのリクエストが成功するまでの間だけ追跡できます。