無料枠の上限管理に、Datadog のアプローチを。
上限に達する前、使用率 80% の時点でメールでお知らせします。
なぜ作ったか
AWS からのメールです。請求が発生しました — 3 時間前に Lambda の無料枠を超過しました。
Vercel を確認すると帯域幅 100%。Cloudflare Workers は夕方から rate-limit 状態。Resend は 21 時で配信停止。マーケティングサイトはダウン、サポート問い合わせが積み上がっています。各クラウドの無料枠ダッシュボードはそれぞれ異なる数字を表示しているのに、誰も崖の手前で知らせてくれませんでした。
火を消し終えた頃には 午前 4 時。AWS の請求書には予期せぬ超過分として $4,237.16 が記載されています。
— 私自身に二度起きました。だから作りました。
Sentinel を選ぶ理由
どのクラウドにも使用量ページはあります。けれど、上限の手前で通知してくれるサービスはありません。Sentinel が、その役目を担います。
しきい値はデフォルトで 80%。メール通知は即時配信、Pro プランでは Discord と Telegram にも対応します。深夜 11 時の障害対応に追われる日々は、もう終わりです。
必要なのは使用量スコープのトークンのみ。保存データは AES-256-GCM で暗号化し、マスターキーは Workers Secrets に格納してデータベースには保持しません。
無料プランは 12 時間ごと、Pro プランは 1 時間ごとに取得します。多くのクラウドが Webhook を公開していない以上、ポーリングが最速の検知手段です。
Cloudflare・GitHub Actions・Vercel は提供中。Supabase・Resend・Render・Neon・R2 は今後 2 週間以内に対応予定です。新しいアダプターは通常 1 日で追加可能。未対応のサービスがあれば、Issue でお知らせください。
無料プランは過去 7 日間、Pro プランは過去 30 日間の履歴を保持します。請求書で驚かされる前に、ゆるやかな使用量の増加を発見できます。
Worker のソースコードは GitHub に公開しています。ご自身でセルフホストするのも無料、ホスティング版で 1 時間ごとのポーリングをご利用いただく場合は月額 $5 です。
実際に届く通知
デフォルトはメール。Pro では Discord・Telegram・Slack も。3 チャネルのうち、あなたが実際に見ているチャネルが最初に鳴ります。
Vercel アカウントが無料枠の月間帯域幅 80% を超えました (82.4 GB / 100 GB)。
現在のペースだと、約 38 時間後 に上限到達。自動 throttle が必要であれば返信ください。
Cloudflare Workers リクエスト 10,000,000 / 10,000,000 — degraded。アカウントが rate-cap 状態。14 分前にトリガー。
@everyone Resend 無料枠 100 / 100 に到達。UTC 午前 0 時まで配信停止中。Resend プラン変更またはキャンペーン一時停止を。
ご利用の流れ
サインアップから最初のアラートまで、60 秒以内。
現在は Cloudflare、GitHub Actions、Vercel の読み取り専用 API トークンを貼り付けます。今後 2 週間以内に 5 つの SaaS を追加予定。トークンは保存時に暗号化されます。
デフォルトは無料枠の 80% です。通知チャネルは、メール(無料)または Discord・Telegram(Pro)からお選びいただけます。1 アカウントで複数のチャネルをご利用いただけます。
Pro プランでは 1 時間ごとに使用量を確認し、しきい値を超えた瞬間に通知します。上限に達した後ではなく、到達する前に。
料金
Pro プランは月額 $5 の手頃な価格で、1 時間ごとのポーリングとマルチチャネル通知に対応します。
✓ Pro をリスクなしでお試しください — 7 日以内なら理由を問わず全額返金。
サイドプロジェクトを検証する個人開発者向け。
無料枠の上で本番サービスを運用する方向け。
PHFREE6MO · first 50 PH hunters · 6 months free
Slack 通知、Webhook API、マルチユーザーワークスペース、15 分ごとのポーリング。リリース時に通知を受け取るには事前登録を。
Cloudflare の上に構築
Workers + D1 + KV + Cron Triggers。プロダクト名の由来となったクラウドの、その無料枠の上でプロダクト全体が稼働します。ドッグフーディングは標準装備。
オープンソース版をご自身でセルフホストいただくことも、月額 $5 のホスティング版で 1 時間ごとのポーリングとマルチチャネル通知をご利用いただくこともできます。
// runs every 6 hours on Cloudflare Cron Triggers export default { async scheduled(_evt, env, ctx) { const services = await env.DB .prepare("SELECT * FROM services") .all(); for (const s of services.results) { const usage = await fetchUsage(s); if (usage >= s.threshold_pct) { await sendAlert(env, s, usage); } } } };
よくある質問
ここに回答がない場合は、お気軽にお問い合わせください。
Cloudflare D1 上で AES-256-GCM により暗号化して保管されます。マスターキーはデータベースとは分離して Workers Secrets に格納されます。読み取り専用・使用量スコープのトークンのみを要求し、プロビジョニング権限や書き込み権限を持つトークンは一切受け取りません。ご不安な場合は、ソースコードを公開していますので直接ご確認いただけます。
はい。Worker が自身の使用量を監視しています。万一このサービス自体が Cloudflare の上限に達して開発者を起こすことがあれば、それはサービスが正常に動作しており、かつ多くの方にご利用いただいている証拠ということになります。
サービス数無制限の 1 時間ごとのポーリングと Discord・Telegram 通知は、実際の Worker コンピュートと Resend のメール送信コストを発生させます。月額 $5 は持続可能な最低価格です。無料プランは体験版ではなく、それ単体で十分に実用的なプランとして提供しています。
はい — お支払い時に Polar から送られるカスタマーポータルのリンクから、または請求書メールに返信するだけでワンクリックで解約できます。「解約はお問い合わせください」といった面倒な手続きは一切ありません。ご利用開始から 7 日以内であれば、理由を問わず全額返金いたします。
いいえ。お客様のサービスを制御する権限は当方にはなく、これは意図的な設計です。80% の時点(デフォルト、変更可能)でお知らせしますので、プランのアップグレード、トラフィックの最適化、あるいはサービス停止を受け入れるかなど、お客様ご自身でご判断いただけます。
リリース済み: Cloudflare Workers、GitHub Actions、Vercel。今後 2 週間以内に対応予定: Supabase、Render、Resend、Neon、Cloudflare R2。リストにないサービスをご希望ですか? Issue を立ててください。
現時点では提供していません。Pro プランは 1 時間ごとのポーリングに注力しています。使用量イベントの Webhook をご希望でしたら、Issue でお知らせください。需要があれば追加いたします。
はい — Polar が請求サイクルごとに PDF 請求書を生成し、ご登録のメールアドレスへ送付します。Polar は Merchant of Record (MoR) であり、請求先国に応じて VAT/売上税が自動的に計算・徴収されます。請求書に会社名・税番号 (VAT/Tax ID) が必要な場合は、決済時にご入力ください。韓国の事業者向け: FreeTier Sentinel は韓国の事業者登録済 (사업자등록번호 607-20-94796) の事業体が運営しています。韓国の세금계산서 (Hometax 発行) が必要な場合は、決済後に wndnjs3865@gmail.com までご連絡ください。1営業日以内に発行いたします。
個人開発者は毎月、超過料金のために多くの時間を失っています。もう、その必要はありません。