X-Ray コンソールでのサンプリングルールの設定 - AWS X-Ray

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

X-Ray コンソールでのサンプリングルールの設定

AWS X-Ray コンソールを使用して、使用するサービスのサンプリングルールを設定できます。AWS X-Ray SDK と AWS のサービスアクティブなトレースサンプリング設定で、サンプリングルールを使用して、記録するリクエストを決定します。

サンプリングルールの設定

以下のユースケースのサンプリングを設定できます。

  • API Gateway のエントリポイント— API Gateway はサンプリングとアクティブなトレースをサポートします。API ステージでアクティブトレースを有効にする方法については、「AWS X-Ray の Amazon API Gateway のアクティブトレースサポート」を参照してください。

  • AWS AppSync— AWS AppSync はサンプリングとアクティブなトレースをサポートします。AWS AppSync リクエストでアクティブトレースを有効にするには、AWS X-Ray によるトレース

  • コンピューティングプラットフォームでの計測用 X-Ray SDK— Amazon EC2、Amazon ECS、AWS AWS Elastic Beanstalk などのコンピューティングプラットフォームを使用する場合、アプリケーションに最新の X-Ray SDK が実装されていれば、サンプリングがサポートされます。

サンプリングルールのカスタマイズ

サンプリングルールをカスタマイズすることで、コードを変更または再デプロイすることなく、その場で、記録するレコードの量を制御したり、サンプリング動作を変更したりできます。サンプリングルールにより、X-Ray SDK に一連の基準に対して記録するリクエスト数を指示します。デフォルトでは、X-Ray SDK は最初のリクエストを 1 秒ごとに記録し、追加のリクエストの 5% を記録します。1 秒あたり 1 つのリクエストがリザーバです。これにより、サービスがリクエストを処理している限り、毎秒少なくとも 1 つのトレースが記録されます。5% は、リザーバサイズを超えて追加リクエストがサンプリングされるレートです。

AWS X-Ray SDK を設定して、コードに含める JSON ドキュメントからサンプリングルールを読み取ることができます。ただし、サービスで複数のインスタンスを実行するときに、各インスタンスは個別にサンプリングを実行します。これによりサンプリングされたリクエストの全体的な割合 (パーセント) が増加します。すべてのインスタンスのリザーバが実質的に結合されるからです。さらに、ローカルサンプリングルールを更新するために、コードを再デプロイする必要があります。

X-Ray コンソールでサンプリングルールを定義し、SDK の設定X-Ray サービスからルールを読み取るには、両方の問題を回避できます。このサービスでは、各ルールのリザーバを管理し、実行されているインスタンスの数に基づいて、リザーバを均等に分散させるため、使用するサービスの各インスタンスにクォータを割り当てます。リザーバの制限は、設定したルールに従って計算されます。また、サービスでルールが設定されているので、追加のデプロイを行わずにルールを管理できます。

X-Ray コンソールでサンプリングルールを設定するには

  1. を開くX-Ray コンソール

  2. [サンプリング] を選択します。

  3. ルールを作成するには、[サンプリングルールの作成] を選択します。

    ルールを編集するには、ルールの名前を選択します。

    ルールを削除するには、ルールを選択し、[アクション] メニューを使用して削除します。

サンプリングルールオプション

次のオプションが各ルールで利用できます。文字列値では、ワイルドカードを使用して、1 つの文字列 (?) またはゼロ以上の文字 (*) に一致させることができます。

サンプリングルールオプション

  • ルール名(文字列)-ルールの一意の名前。

  • 優先度(1~9999 の整数)-サンプリングルールの優先度。サービスでは、優先度の昇順でルールが評価され、一致する最初のルールを使用してサンプリングの決定が行われます。

  • リザーバ(負ではない整数)-固定レートを適用する前に、1 秒あたりに計測する、一致するリクエストの固定数。リザーバはサービスで直接使用されませんが、ルールを一括して使用するすべてのサービスに適用されます。

  • レート(0 ~ 100)-リザーバを使い果した後で計測する、一致するリクエストの割合。レートは整数または浮動小数点数になります。

  • サービス名(文字列)-サービスマップに表示される、計測されたサービスの名前。

    • X-Ray SDK — レコーダーで設定したサービス名。

    • Amazon API Gateway —api-name/stage

  • サービスタイプ(文字列)-サービスマップに表示される、サービスタイプ。X-Ray SDK の場合、適切なプラグインを適用することで、サービスタイプを設定します。

    • AWS::ElasticBeanstalk::Environment— AWS Elastic Beanstalk 環境(プラグイン)。

    • AWS::EC2::Instance— Amazon EC2 インスタンス (プラグイン)。

    • AWS::ECS::Container— Amazon ECS コンテナ (プラグイン)。

    • AWS::APIGateway::Stage— Amazon API Gateway のステージ。

    • AWS::AppSync::GraphQLAPI — AWS AppSync API リクエスト。

  • Host(文字列)-HTTP ホストヘッダーからのホスト名。

  • HTTP メソッド(文字列)-HTTP リクエストのメソッド。

  • URL パス(文字列)-リクエストの URL パス。

    • X-Ray SDK-HTTP リクエスト URL のパス部分。

    • Amazon API Gateway — サポートされていません。

  • リソース ARN(文字列) — サービスを実行している AWS リソースの ARN。

    • X-Ray SDK — サポートされていません。SDK では [リソース ARN] に * が設定されているルールのみを使用できます。

    • Amazon API Gateway — ステージ ARN。

  • (オプション)属性(キーと値)-サンプリングデシジョンが行われたときに認識されるセグメント属性。

    • X-Ray SDK — サポートされていません。SDK は属性を指定するルールを無視します。

    • Amazon API Gateway — 元の HTTP リクエストのヘッダー。

サンプリングルールの例

例 — リザーバなし、低レートのデフォルトルール

デフォルトルールのリザーバとレートを変更することができます。他のルールに一致しないリクエストにデフォルトのルールが適用されます。

  • リザーバ0

  • レート0.005(0.5%)

例 — 問題のあるルートのすべてのリクエストをトレースするデバッグルール

デバッグ用に一時的に適用される、高優先度のルールです。

  • ルール名DEBUG – history updates

  • 優先度1

  • リザーバ1

  • レート1

  • サービス名Scorekeep

  • サービスタイプ*

  • Host*

  • HTTP メソッドPUT

  • URL パス/history/*

  • リソース ARN*

例 — POST 用の最小レートが高い

  • ルール名POST minimum

  • 優先度100

  • リザーバ10

  • レート0.10

  • サービス名*

  • サービスタイプ*

  • Host*

  • HTTP メソッドPOST

  • URL パス*

  • リソース ARN*

サンプリングルールを使用するようにサービスを設定する

コンソールで設定したサンプリングルールを使用するには、追加の設定が必要です。サンプリング戦略を設定する方法の詳細については、使用言語の「設定」トピックを参照してください。

API Gateway については、AWS X-Ray の Amazon API Gateway のアクティブトレースサポート

サンプリング結果の表示

X-Ray コンソールサンプリングページには、サービスでの各サンプリングルールの使用方法に関する詳細情報が表示されます。

[Trend (トレンド)] 列には、直近の数分でルールがどのように使用されたのかを表示します。各列に、10 秒ウィンドウの統計が表示されます。

サンプリング統計

  • 合計一致したルール— このルールに一致したリクエスト数。この数には、対象ルールに一致する可能性があるすべてのリクエストが含まれるわけではありません。優先度の高いルールに最初に一致したリクエストのみが含まれます。

  • 合計サンプリング済み— 記録されたリクエスト数。

  • 固定レートでサンプリング— ルールの固定レートを適用することで、サンプリングされたリクエスト数。

  • 貯水池限界でサンプリング— X-Ray によって割り当てられたクォータを使用してサンプリングされたリクエスト数。

  • リザーバから借用— リザーバからの借用によってサンプリングされたリクエスト数。サービスで初めてリクエストがルールに一致するとき、X-Ray によってクォータがまだ割り当てられていません。ただし、リザーバが少なくとも 1 である場合、X-Ray がクォータを割り当てるまで、サービスは 1 秒あたり 1 つのトレースを借用します。

サンプリングの統計およびサービスがサンプリングルールを使用する方法の詳細については、「X-Ray API でのサンプリングルールの使用」を参照してください。

次のステップ

X-Ray API を使用して、サンプリングルールを管理できます。API では、スケジュールに従って、またはアラームや通知に応答して、プログラムでルールを作成および更新することができます。手順と追加のルールの例については、「Configuring サンプリング、グループ、暗号化設定をAWS X-RayAPI」を参照してください。

AWS サービスでは、X-Ray API も使用して、サンプリングルールを読み取り、サンプリング結果をレポートし、サンプリングターゲットを取得できます。がサービスにクォータを割り当てていないルールにリクエストが一致するとき、サービスは、各ルールの適用、優先度に基づくルールの評価、およびリザーバからの借用に関する頻度を追跡する必要があります。サービスがサンプリングに API を使用する方法の詳細については、「X-Ray API でのサンプリングルールの使用」を参照してください。

X-Ray SDK がサンプリングAPI を呼び出すと、プロキシとして X-Ray デーモンを使用します。TCP ポート 2000 をすでに使用している場合、別のポートでプロキシを実行するようにデーモンを設定できます。詳細については、「AWS X-Ray デーモンの設定」を参照してください。