X-Ray
AWS の分散トレーシングサービスで、リクエストの経路とレイテンシを可視化する
X-Ray とは
AWS X-Ray は、分散トレーシングサービスで、リクエストが API Gateway → Lambda → DynamoDB のようにどのサービスを通過し、どこで時間がかかっているかを可視化する。マイクロサービスやサーバーレスアーキテクチャのパフォーマンス分析とデバッグに使う。
トレースマップ
トレースマップを図で示す。
[API Gateway] → [Lambda A] → [DynamoDB]
50ms 120ms 30ms
→ [Lambda B] → [SQS]
80ms 10ms
合計: 170ms
X-Ray はリクエストの全経路をトレースマップとして可視化し、ボトルネックを特定する。
Tracing: Active で Lambda の X-Ray トレーシングが有効になる。
トレースの構造
X-Ray のトレースは 1 つのリクエスト全体を表し、セグメント (各サービスの処理) とサブセグメント (サービス内の個別操作) で構成される。各セグメントに処理時間が記録されるため、どのサービスやどの DB 呼び出しがボトルネックかを視覚的に特定できる。
Trace (1 リクエスト全体)
└── Segment (API Gateway)
└── Subsegment (Lambda)
├── Subsegment (DynamoDB GetItem: 30ms)
└── Subsegment (外部 API 呼び出し: 200ms) ← ボトルネック
CloudWatch との連携
CloudWatch との連携を以下にまとめる。
| サービス | 用途 |
|---|---|
| X-Ray | リクエストの経路とレイテンシ |
| CloudWatch Logs | ログの詳細 |
| CloudWatch Metrics | メトリクス (エラー率、レイテンシ) |
3 つを組み合わせてオブザーバビリティを実現する。
サンプリング
全リクエストをトレースするとコストが増加する。サンプリングルールで一部のリクエストのみトレースする。
{
"version": 2,
"default": { "fixed_target": 1, "rate": 0.05 }
}
1 秒あたり 1 リクエスト + 残りの 5% をサンプリング。
Lambda Powertools との統合
Lambda Powertools との 統合のコード例を示す。
import { Tracer } from '@aws-lambda-powertools/tracer';
const tracer = new Tracer();
class MyHandler {
@tracer.captureMethod()
async getUser(id: string) { /* 自動的にサブセグメントが作成される */ }
}
さらに掘り下げるなら関連書籍が参考になる。
この記事は役に立ちましたか?
関連用語
オブザーバビリティ
システムの内部状態を外部から観測可能にし、問題の原因を迅速に特定するための仕組み
ログ集約
分散システムの複数サービスから出力されるログを一元的に収集 / 検索 / 分析する仕組み
Lambda
AWS のサーバーレスコンピューティングサービスで、コードをイベント駆動で実行する
OpenTelemetry
メトリクス、ログ、トレースを統一的に収集するオブザーバビリティのオープン標準
Aurora
AWS のクラウドネイティブ RDB で、MySQL/PostgreSQL 互換で高可用性と高パフォーマンスを実現する
Lambda Powertools
Lambda 関数の構造化ログ、分散トレーシング、カスタムメトリクスを簡素化する AWS 公式ライブラリ
関連する記事
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。
技術書典と技術同人誌の世界 - 読者として楽しむガイド
技術書典の楽しみ方と技術同人誌の魅力を紹介。商業出版にはないニッチなテーマの深掘りや、著者と直接話せるイベントの活用法を解説します。