【AWS DVA 試験対策編】AWS X-Rayのまとめ

AWS SAA、AWS SAP、AWS DOPと取得しておきながら、詳細を全く知らないサービ
スなのでまとめておく。

AWS X-Rayとは

2016年に発表されたモニタリング、デバッグを行うサービス。
各サービス間のどこでどれだけ処理に時間がかかっているか、負荷がかかっているかを可視化することができる。
lambdaのタイムアウト、管理が複雑になるマイクロサービスのトレース取得の際に有益。

利用できるサービス
  • EC2
  • Elastic Beanstalk
  • ECS
  • Lambda

利用方法

X-Ray SDKの利用または、サービス側が対応している場合はAWSサービス統合を利用する方法の2通りになる。

 

X-Ray SDKがサポートする言語

 

例) AWS LambdaでX-Rayトレースを有効化する
  1. アクティブトレースを有効にする
  2. AWS X-Ray SDKをコードに含める(Optional)
  3. コードを追加する(Optional)

 

1.アクティブトレースを有効にする

Lmabda関数の設定で、AWS X-Rayの設定項目がある。

設定するとLambdaに以下のIAMロールが設定され、AWS X-Rayを利用するための最小権限が付与される。

  • xray:PutTraceSegments
  • xray:PutTelemetryRecords

ここまでで、Lambda関数のインスタンスの起動、関数の実行、その他のオーバーヘッドを含んだ全体の処理をトレースできる。

 

2.AWS X-Ray SDKをコードに含める(Optional)

Lambda関数内の様々なリクエストを分析したい場合に、X-Ray SDKをコードに含める。

※ 複数の関数で利用する汎用的な部分なので、Lambdakレイヤーでデプロイするケースが多い。

 

3.コードを追加する(Optional)

2で追加したSDKを利用してコードを記述する。

 

X-Ray API アクション

PutTraceSegments

X-Rayにトレースデータを送信する。

アプリケーションからX-Rayにトレースデータを送信するために、最低限必要なアクション。

GetServiceGraph

サービスマップのようなJSONサービスグラフ情報を取得できる。

GetTraceSummaries

トレースのサマリ情報を取得する。

BatchGetTraces

トレースをIDのリストにまとめて取得する。

利用料金

Tokyoリージョンでは以下の通り。

  • トレースの記録:100万件あたり5.00USD
  • トレースの取得:100万件あたり0.50USD
  • トレースのスキャン:100万件あたり0.50USD

無料利用枠は以下の通り。(1月あたり)

  • トレースの記録:10万回まで無料
  • トレースの取得とスキャンの合算:100万回まで無料