概要

外形監視、おいくらぐらいでやっていますか?
今回筆者のいるインフラチームでは、最大30ほどのWebサイトにシンプルな死活監視を導入したく、色々とサービスを比較しました。
結論としては 10分に1度程度、複数URLの監視であればという条件付きで AWS Synthetics Canaryが意外とお得だったので、そのことを今回は書きたいと思います。

(必ず1分に1度は監視していないと!というケースに関しては、
単体コスパで言えばSite24*7の料金プラン が一番リーズナブルそうでした。)

AWS Synthetics Canaryとは

基本的なできることとしては他の外形監視サービスとそう変わらないかなと思います。
AWS上でURL(1Canaryにつき5つまで指定可能)のハートビート監視やスクリーンショット取得、スクリーンショットの差分監視などができるというサービスです。

公式ドキュメント

基本的にコンソールからぽちぽち作成して使えますが、バックエンドではnodeのスクリプトをLambdaで動かしているので、JavaScriptが書ける人ならコードベースで細かめのカスタマイズも可能です。
動画のイントロダクションがわかりやすかったので貼っておきます。

今回の要求

  • すでにWebサーバーや重要サービスの死活監視はほぼリアルタイムで入っているものの、そこで拾いきれない障害について検知したい
  • 各サイトの優先度もまだ整理がついてないが、とりあえず全体的に入れておきたい
  • コストパフォーマンスを重視する
    • 監視対象URLは15~将来的に30ほどになる見込み

比較サービス

  • Datadog
  • AWS Synthetics Canary
  • Site24*7

ざっくり、上の方が高機能高価格、下の方がシンプル機能低価格という感じで並べています。
とはいえ高度なことを検討する段階ではないし、基本的な機能はどこも揃っていたので、今回はコスパで検討することに。

料金比較

前提

  • 年額と月額がある場合全て月額計算
  • 30URLに対して監視を行なった場合
  • 1ドル135円計算
  • 単位は円

比較表

料金(1分に1度) 料金(10分に一度)
Datadog 162712.8 16271.28
AWS Synthetics Canary 68700.96 6870.096
site24×7 9800 9800
料金参照元(2023年7月時点)

Datadog Synthetics料金プラン 10000リクエストにつき$9
Amazon Cloudwatch料金表 Canary(=5URLまで) 実行あたり 0.0019USD
Site24*7 料金プラン 月額プラン、監視対象URLが11〜40 の範囲なら9800円

所見

頻度を下げるとAWS Synthetics Canaryが急にお安くなるのがお分かりでしょうか。
AWS Synthetics CanaryはバックエンドにS3やLambdaを利用するためここに加えてその料金がかかってきますが、
Lambdaに関しては無料利用枠もありますし、両方とても低価格なサービスなのでおそらくそこまで影響はないだろうと思います。
(スクリーンショットなど長期に渡って保存する場合は多少上がるかもですが)

Amazon S3 の料金
AWS Lambda 料金

あまり巷の記事で触れられていないなと感じたこととして、AWS Synthetics Canary では5URLが1Canaryの監視単位に含められるので、次の5の倍数まで料金が同一なのもポイントかと思います。

弊チームではインフラを主にAWS+Terraformで管理しているため、
AWSのアラートシステムと統合できること、Terraformを書き慣れていることなどAWSに載せるメリット自体もあり
「緩めの監視頻度でお安くCanaryを入れる」は悪くない落とし所になったと思います。

高頻度で監視することを考えるとsite24×7はもちろんとてもリーズナブルなので、監視要求の高いサイトに対しては使ってみたいところです。

以上です。

プロフィール

Yuri Masaki
Yuri Masaki
WEBアプリケーションの設計実装、PM(O)など経て現職へ。どちらかというと話をまとめるとか仕様整理するとかの方に強みがあります。