

# API Gateway API の AWS X-Ray サンプリングルールを設定する
<a name="apigateway-configuring-xray-sampling-rules"></a>

AWS X-Ray コンソールまたは SDK を使用して、Amazon API Gateway API のサンプリングルールを設定できます。サンプリングルールでは、API で X-Ray が記録するリクエストを指定します。サンプリングルールをカスタマイズすることで、コードを変更または再デプロイすることなく、その場で、記録するレコードの量を制御したり、サンプリング動作を変更したりできます。

X-Ray のサンプリングルールを指定する前に、X-Ray デベロッパーガイドの以下のトピックを参照してください。
+ [サンプリングルールを設定する](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html#xray-console-sampling)
+ [X-Ray API でのサンプリングルールの使用](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-sampling)

**Topics**
+ [API Gateway の API に関連する X-Ray のサンプリングルールのオプション値](#apigateway-xray-sampling-rule-options)
+ [X-Ray のサンプリングルールの例](#apigateway-xray-sampling-rules-examples)

## API Gateway の API に関連する X-Ray のサンプリングルールのオプション値
<a name="apigateway-xray-sampling-rule-options"></a>

API Gateway に関連する X-Ray のサンプリングのオプションを以下に示します。文字列値では、ワイルドカードを使用して、1 つの文字列 (?) またはゼロ以上の文字 (\$1) に一致させることができます。**[リザーバ]** 設定と **[レート]** 設定の使用方法などの詳細な説明については、「[サンプリングルールを設定する](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html#xray-console-sampling)」を参照してください。
+ [**Rule name (ルール名)**] (文字列) - ルールの一意の名前。
+ [**Priority (優先度)**] (1～9999 の整数) - サンプリングルールの優先度。サービスでは、優先度の昇順でルールが評価され、一致する最初のルールを使用してサンプリングの決定が行われます。
+ [**Reservoir (リザーバ)**] (負ではない整数) - 固定レートを適用するまでに 1 秒あたりの一致するリクエストを計測する上限の固定数。リザーバはサービスで直接使用されませんが、ルールを一括して使用するすべてのサービスに適用されます。
+ [**Rate (レート)**] (0～100) - リザーバの上限に達した後に一致するリクエストを計測するサンプリング率。
+ [**Service name (サービス名)**] (文字列) - ***\$1api-name\$1*/*\$1stage-name\$1*** 形式の API のステージ名。たとえば、[PetStore](api-gateway-create-api-from-example.md) サンプル API を `test` というステージにデプロイする場合、サンプリングルールで指定する [**サービス名**] の値は **pets/test** となります。
+ [**Service type (サービスタイプ)**] (文字列) - API Gateway の API では、**AWS::ApiGateway::Stage** または **AWS::ApiGateway::\$1** を指定できます。
+ [**Host (ホスト)**] (文字列) - HTTP ヘッダーの Host のホスト名。これを **\$1** に設定すると、すべてのホスト名に対して一致します。または、一致させる完全なホスト名または部分的なホスト名を指定できます (例: **api.example.com** または **\$1.example.com**)。
+ [**Resource ARN**] (リソース ARN) (文字列) - API ステージの ARN (**arn:aws:apigateway:*region*::/restapis/*api-id*/stages/*stage-name*** など)。

  ステージ名は、コンソールや API Gateway の CLI または API から取得できます。ARN 形式の詳細については、「Amazon Web Services 全般のリファレンス」を参照してください。
+ [**HTTP method (HTTP メソッド)**] (文字列) - サンプリングするメソッド (例: **GET**)。
+ **[URL path]** (URL パス) (文字列) — リクエストの URL パス。
+ (オプション) [**Attributes (属性)**] (キーと値) - 元の HTTP リクエストのヘッダー (例: **Connection**、**Content-Length**、**Content-Type**)。各属性の値は、最大 32 文字とすることができます。

## X-Ray のサンプリングルールの例
<a name="apigateway-xray-sampling-rules-examples"></a>

**サンプリングルールの例 1**

このルールでは、`GET` ステージの `testxray` API に対するすべての `test` リクエストをサンプリングします。
+ **ルール名 - ****test-sampling**
+ **優先度 - ****17**
+ **リザーバのサイズ - ****10**
+ **固定レート - ****10**
+ **サービス名 - ****testxray/test**
+ **サービスタイプ - ****AWS::ApiGateway::Stage**
+ **HTTP メソッド - ****GET**
+ **リソース ARN - ****\$1**
+ **ホスト - ****\$1**

**サンプリングルールの例 2**

このルールでは、`testxray` ステージの `prod` API に対するすべてのリクエストをサンプリングします。
+ **ルール名 - ****prod-sampling**
+ **優先度 - ****478**
+ **リザーバのサイズ - ****1**
+ **固定レート - ****60**
+ **サービス名 - ****testxray/prod**
+ **サービスタイプ - ****AWS::ApiGateway::Stage**
+ **HTTP メソッド - ****\$1**
+ **リソース ARN - ****\$1**
+ **ホスト - ****\$1**
+ **属性** - **\$1\$1**