バクラク事業部 Platform Engineering 部の uehara です。2023年4月に入社しました!
この記事では、直近で取り組んだ Datadog のコスト最適化の取り組みを紹介します。
概要
大きく2つの施策によって、Datadog の月額料金を 30% ほど削減しました。
- 毎月の利用量を事前コミットすることで単価を下げた
- ログ運用を見直すことでコストを約半分にした
利用量の事前コミット
Datadog の一部機能では利用量を事前コミットすることで単価を下げることができ、価格表も公開されています。BILLED ANNUALLY が年契約、BILLED MONTH-TO-MONTH が月契約の単価です。
オンデマンド料金と比較すると2割から3割ほど安くなっていることが分かります。
直近の利用実績から毎月必ず利用する分を算出し、MONTH-TO-MONTH として契約しました。事前コミットの内容については今後も定期的に見直しを行う予定です。
ログ保存期間の見直し
次に、ログ周りの運用を大幅に見直しました。
弊社では各種ログを基本的に Datadog Logs へ転送しているため利用量が大きく、請求金額の大部分を占めている状況です。
ここでは、ログ保存方法と事前コミット量の見直しでログ関連のコストを半分に圧縮できました。
見直し前 | 見直し後 | |
---|---|---|
保存日数 | 全てのログを30日間保存 | ログ種別によって保存日数を変更 |
保存先 | index *1 | index および archive |
事前コミット | 一部のみ | 直近の実績を元に再設定 |
Datadog Logs には index と archive の2つの機能が存在しており、これらを適切に使い分けることでコストを最適化することが可能です。
それぞれの特徴を簡単にまとめました。
- index
- Log Explorer で検索・閲覧が可能
- 監視対象として指定可能
- 指定した保存期間を過ぎると消える
- 保存日数によって単価が変わる
- ref: https://docs.datadoghq.com/ja/logs/log_configuration/indexes/
- archive
- 任意のクラウドストレージ (S3 等) へログを格納する
- 検索・閲覧をするためには一度 index へ戻す必要がある
- Datadog としての保存料金は掛からないため安価 *2
- ref: https://docs.datadoghq.com/ja/logs/log_configuration/archives/
監視対象としたいログや Log Explorer で閲覧したい直近のログを index へ、長期的に保管したいログは archive へ入れるのが基本の使い方といえます。
これまでは全てのログを30日間 index に入れていたため、この運用を見直しました。先述の料金表にもありますが、保存期間を30日→7日に短縮することで単価が大きく下がります。
見直し前後のログ保存ポリシーは以下の通りです。
見直し前 | 見直し後 | |
---|---|---|
本番環境 | 30日 | 7日 |
検証環境 | 30日 | 7日 |
開発環境 | 30日 | 3日 |
エラーログ | 30日 | 15日 |
上記期間を過ぎたログは index から削除されますが、archive (S3) には引き続き保存されており、いつでも index へ復元して検索・閲覧が可能です。
問い合わせ対応等で古いログが必要になった場合に備え、archive からのログ復元手順をドキュメントにまとめ、利用するメンバに周知を行った上で切り替えを実施しました。
まとめ
Datadog のコスト最適化として、毎月の利用量を事前コミットすることで単価を下げ、併せてログ周りの運用も見直すことで、月額コストを 30% ほど削減しました。
Datadog には様々なプランや機能が用意されているため、適切に使い分けることで料金を抑えることができます。
コストを見直す際の参考になれば幸いです。