AWS X-Ray
開発者ガイド

AWS X-Ray の Amazon API Gateway アクティブトレースサポート

Amazon API Gateway には、AWS X-Ray のアクティブトレースサポートが用意されています。API ステージのアクティブトレースを有効にして、受信リクエストをサンプリングし、X-Ray にトレースを送信します。

API ステージでアクティブトレースを有効にするには

  1. https://console.aws.amazon.com/apigateway/ にある API Gateway コンソールを開きます。

  2. API の選択

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

  4. [Logs/Tracing] タブで、[X-Ray トレースを有効にする] を選択します。

  5. 左側のナビゲーションパネルで、[Resources] を選択します。

  6. 新しい設定で API を再デプロイするには、[Actions][Deploy API] の順に選択します。

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

すべての受信リクエストに対し、API Gateway は、トレースヘッダーを持たない受信 HTTP リクエストにトレースヘッダーを追加します。

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

トレース ID 形式

trace_id は 3 つの数字で構成され、ハイフンで区切られます。たとえば、1-58406520-a006649127e371903a2de979 と指定します。これには以下が含まれます。

  • バージョン番号。1 です。

  • 元のリクエストの時刻。Unix エポック時間で、8 桁の 16 進数です。

    たとえば、2016 年 12 月 1 日 10:00 AM PST のエポック時間は 1480615200 秒、または 16 進数で 58406520 です。

  • トレースの 96 ビットの識別子。グローバルに一意であり、24 桁の 16 進数です。

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

API Gateway を使用して API の Java SDK を生成する場合、AWS SDK クライアントを手動で計測するのと同じ方法で、クライアントビルダーでリクエストハンドラーを追加して SDK クライアントを計測できます。手順については、「X-Ray SDK for Java を使用して AWS SDK 呼び出しをトレースする」を参照してください。

詳細については、Amazon API Gateway 開発者ガイドの「AWS X-Ray を使用した API Gateway API の実行のトレース」を参照してください。