AWS X-Ray で CloudFront や Lambda@Edge のレイテンシーを計測する方法を教えてください。

2022.05.30

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

困っていた内容

グローバルなサーバレスアプリケーションのレイテンシーを計測しようと考えています。
AWS X-Ray で CloudFront や Lambda@Edge のレイテンシーを計測する方法を教えてください。

どう対応すればいいの?

2022 年 5 月現在で、CloudFront、Lambda@Edge は AWS X-Ray に対応していないため、AWS X-Ray を使用したレイテンシーの計測はできません。

AWS X-Ray と他の AWS のサービスの統合 - AWS X-Ray
エッジ関数に対する制限 - Amazon CloudFront より

AWS X-Ray の使用はサポートされていません。

代替案として、以下のメトリクスによる計測をご検討ください。

time-taken
サーバーが、ビューワーのリクエストを受信してからレスポンスの最後のバイトを出力キューに書き込むまでの秒数。サーバーで 1000 分の 1 秒単位まで測定されます (例: 0.082)。ビューワーから見た場合、レスポンス全体を取得する合計所要時間は、ネットワークのレイテンシーと TCP バッファリングにより、この値よりも長くなります。

Lambda@Edge のメトリクスは、CloudFront コンソールから、「モニタリング」→「Lambda@Edge」→ 対象の Lambda@Edge 関数名 → 「メトリクスを表示」で確認できます。

参考資料