Amazon API GatewayでAWS X-Rayが設定できるようになりました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうも!大阪オフィスの西村祐二です。

すこし前になりますが、9/6頃に Amazon API GatewayでAWS X-Rayが設定できるようになりました。

Amazon API Gateway、AWS X-Ray のサポートを追加

これにより、APIのトレースと分析が簡単にできるようになりました。

記事があがっていなかったようなので書いてみました。

さっそくやってみましょう。

設定方法

設定方法は
API GatewayのAPIで「ステージ」 =>「ログ/トレースタブ」=>「X-Ray トレースの有効化」にチェックをつけて設定保存するだけです。

めっちゃ簡単ですね。

今回、サンプルAPIのpetstoreのAPIに設定してみました。

https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-create-api-from-example-console.html

どんな情報がとれるのか

AWS X-Rayのコンソール画面で確認してみましょう。

まず、サービスマップが確認できます。今回、「pets」、「pets/1」や「pets/2」のエンドポイントに何回かアクセスして確認したので、下記のようなマップになっていました。

対象のグラフをクリックすると右から別のウインドウが表示されます。

▼下記が円グラフをクリックすると表示されるウインドウです。

ここではレスポンスにどれぐらい時間がかかったか、その割合や、ステータスを確認することができます。

確認したいところにチェックをいれて、「トレースを表示」とするとさらに詳細が表示されます。

▼下記がチェックをつけて「トレースを表示」をクリックした際に表示される画面です。

ここでは、確認したい期間の指定、URLの平均レイテンシー、レスポンス、Traceリストなどが表示されています。 うまくフィルタできれば、どのエンドポイントが遅いのか簡単に把握することができるかと思います。

https://docs.aws.amazon.com/ja_jp/xray/latest/devguide/xray-console-filters.html?icmpid=docs_xray_console

Traceしたデータをクリックすることでさらに詳細に確認することができます。

▼下記がTraceリストにある項目をクリックした際に表示される画面です。

視覚的にわかりやすく表示してくれます。

RAWデータを確認することもできます。

JSON形式で表示されるので、別サービスで表示なんかも簡単にできそうです。

AWS X-Rayの料金

補足として料金について記載しておきます。

無料枠もひろく設定されているのでとりあえず設定有効にして試すのもありかと思います。

また、AWS X-Rayはサンプリングの頻度を変更できるので、そこでコスト調整することができます。

https://aws.amazon.com/jp/xray/pricing/

  • 期限なしの無料利用枠
    • 毎月、トレースの記録は 10 万回まで無料
    • 毎月、トレースの取得とスキャンは合わせて 100 万回まで無料
  • 追加料金
    • トレースの記録の無料利用枠を超えた分の料金は、トレースの記録 100 万件あたり 5 USD (トレース 1 件あたり 0.000005 USD)
    • トレースの取得とスキャンの無料利用枠を超えた分の料金は、トレースの取得とスキャンを合わせて 100 万件あたり 0.5 USD (トレース 1 件あたり 0.0000005 USD)

さいごに

いかがだったでしょうか。

Amazon API GatewayでAWS X-Rayが設定できるようになったので、試してみました。設定もすごく簡単なので有効して損はないのかなと思います。

誰かの参考になれば幸いです。