booklista tech blog

booklista のエンジニアリングに関する情報を公開しています。

DatadogのRUM Session Replay費用削減について

アイキャッチ

こんにちは。プロダクト開発部でクラウドインフラエンジニアとして業務を行っている高澤です。

今回は、Datadogの料金削減の一環として行った、「RUM Session Replay の費用削減」についてお伝えします。

費用削減の効果を先に書くと、RUM Session Replayの料金がほぼ0ドルになりました。

この記事で伝えたいこと

Datadog の概要

Datadogとは、Datadog社が提供する監視・モニタリングのSaaSサービスです。

各リソースやクラウド(AWS,GCP,Azureなど)からメトリクス・ログなどを取り込み・連携し、モニタリングできるサービスです。

その他できることは多岐に渡ります。

Datadog の具体的な使用例

Datadogを利用し、現在以下をメインで行っています。

  • AWSのメトリクス連携をし、監視・通知
  • リソース監視・通知
  • ログを取り込み、可視化・検知
  • ダッシュボードを使用し、リソース状況やKPIを把握
  • SLO監視
  • Syntheticsテストの実施・監視・通知
  • アラート・オンコールの集約

Datadog費用削減に至る背景と見直しポイントについて

Datadogは上記機能を提供してくれて大変便利なサービスなのですが、データの取り込み量が増えるに従い、料金が増えていきます。

料金の削減が課題となり、プラン見直しも含め、Datadog営業担当の方と相談する機会を設けていただきました。

相談の結果、個々のサービスについて、最適なプラン変更などを実施していただき料金を抑える目処は付きました。

しかし「On-Demand RUM Session Replay」という請求項目については、「利用する・しない」を設定するものではありませんでした。

データを送っているとその分課金される種類の機能であり、呼び出し側でデータ送信の設定をしないといけない、と判明しました。

RUM Session Replayという機能について

この「RUM Session Replay」は、Datadogの請求から確認できる項目名です。

「RUM Session Replay」の具体的な機能としてはどのようなものでしょう、ということをまず確認しました。

を確認し、ポイントは以下です。

Datadogのセッションリプレイは、レビュー、分析、トラブルシューティングのために、ユーザーのWebブラウジング体験をキャプチャして視覚的に再生することができます。DatadogのエラートラッキングやAPMトレースによってフラグが立てられたユーザーセッションを再生することで、UXの問題をより迅速に特定し、修正することができます。

つまり、ユーザーのブラウズ操作(ユーザーセッション)をリプレイし、エラー発生や遅延を再現させ、問題解決に役立てる機能のようです。

RUM Session Replayの費用削減設定について

機能の利用有無についてチーム内確認

上記の機能説明にて「〜のようです。」という表現で書いている通り、このデータは意図して送信していたわけではなく、デフォルト設定のまま運用した結果、Datadogに送信されていたデータでした。

念の為、チーム内にて「RUM Session Replay」のデータを使った機能を利用している人がいないかを確認し、特にいないことが確認できたため、データ送信を止めることになりました。

対応方法についての確認

セッションリプレイ機能を無効にするドキュメントを確認しました。

上記ドキュメントで記述されている対応方法としては、以下です。

セッションの記録を停止するには、startSessionReplayRecording() を削除し、sessionReplaySampleRate を 0 に設定します。 これにより、リプレイを含む Browser RUM & セッションリプレイプランのデータ収集が停止します。

上記対応を実施していきます。

対応時の細かな問題

現在この機能のために使用している @datadog/browser-rum パッケージのバージョンは 3.11.0でした。

該当バージョンの場合、取りうる設定値の中に sessionReplaySampleRate という値がありませんでした。

そのため、以下パッケージのドキュメントを確認しました。

sessionReplaySampleRate の以前の値が、 replaySampleRate であったと読み取れます。

replaySampleRate については非推奨の値ですが、今回の対応ではパッケージのアップデートは見送ることとし、replaySampleRateを0としてみます。

設定及びデプロイ・設定効果確認

replaySampleRate を0に修正してデプロイします。

その結果を見るためには、Datadogにログインします。

左側メニューから「 UX Monitoring → Sessions & Replay 」を辿り、Real User Monitoring画面へ遷移します。

以下スクリーンショットのように Session Replay available にチェックを入れ、結果を見ます。

スクリーンショット

こちらで確認した結果、データが検索で出なくなっていることを確認できたため、対応完了となりました。

費用削減の結果

はじめに書いた内容の繰り返しになりますが、対応の結果、RUM Session Replayの料金がほぼ0ドルになりました。

まとめ

Datadogの料金削減ポイント・注意点を合わせてまとめると以下となります。

デフォルトのままだと意図していないデータが自動で送られ、料金高騰に繋がりますので、随時見直していきましょう。

  • 対応方法についてはドキュメントに記載されていることが多いので確認する
  • どうしてもわからない場合はDatadogサポートへ問い合わせる

機能のローンチ直後は無料であっても、有料になることが散見されますので、料金削減の観点からはなるべく明示的にデータを送らない設定にすることが有効です。

  • まず利用してみてから見極める
  • Datadogからのお知らせはよく確認し、料金改定・有料化のお知らせの場合は注意し対応を検討する

以上です。