[{“placeholder”:”intro”}]
はじめに:突然クエリが止まった!その正体は?
こんにちは!ある日Snowflakeでクエリを流そうとしたら、「Resource monitor has reached its credit quota」 というエラーが出てクエリが一切動かなくなった…そんな経験はありませんか?
「障害かな?」と慌ててしまいがちですが、実はこれはSnowflakeが 意図的にウェアハウスを止めている状態 です。つまり「使いすぎ防止のブレーキ」がしっかり効いているサインなのです。
この記事では、エラーが出る仕組みと、安全にクォータを解除して再びクエリを動かす手順を、初心者の方にもわかりやすく解説します。

そもそもリソースモニターって何?
リソースモニター (Resource Monitor) は、Snowflakeのクレジット消費量を監視し、設定した上限に達したら通知やウェアハウス停止を自動で行う「コストの見張り役」です。基本概念については Snowflakeリソースモニター入門|予算超過を防ぐ仕組み でも詳しく解説していますので、合わせて読んでみてください。
リソースモニターには 3種類のアクション を設定できます。
- NOTIFY: 通知だけ送る (止めない)
- SUSPEND: 実行中のクエリ完了後にウェアハウスを停止
- SUSPEND_IMMEDIATE: 実行中のクエリも即時キャンセルして停止
「Resource monitor has reached its credit quota」エラーは、SUSPENDまたはSUSPEND_IMMEDIATEの閾値 (通常100%) に到達した結果として発生します。
エラーが出る原因をチェック
典型的な原因は次の3つです。
- 月初に設定したクレジット枠を月の途中で使い切った
- FREQUENCY (リセット周期) がMONTHLY以外 で、想定より早く到達した
- 意図せず大きなクエリを連発 し、自動サスペンドが効く前に消費が膨らんだ
まずは現状を確認しましょう。ACCOUNTADMINロールで以下を実行します。
USE ROLE ACCOUNTADMIN;
SHOW RESOURCE MONITORS;
出力の used_credits と credit_quota を比較すれば、どれだけ使ったか一目でわかります。
解除手順①:クォータをリセットする
もっとも簡単な方法は、クォータを次のサイクルへ進めるか、credit_quotaを引き上げることです。
-- 上限を 100 → 200 クレジットへ引き上げ
ALTER RESOURCE MONITOR my_monitor
SET CREDIT_QUOTA = 200;
上限を上げると used_credits < credit_quota となり、停止していたウェアハウスを再開できるようになります。
ウェアハウスを再開する
ALTER WAREHOUSE my_wh RESUME;
これで再びクエリが流れるようになります。ただし根本原因を見ずに上限だけ上げると同じことを繰り返すので注意してください。

解除手順②:Snowsightでの操作
GUIで操作したい場合は、Snowsightの 「Admin」→「Cost Management」→「Resource Monitors」 から該当モニターを選び、「Edit」で Credit Quota を上書きすればOKです。あわせてScheduleでFREQUENCY (Monthly / Daily / Weekly / Yearly / Never) も見直すとよいでしょう。
再発防止のコツ
- NOTIFYを段階的に仕込む (例: 50%, 75%, 90%でメール通知)
- ウェアハウス単位とアカウント単位でモニターを分けて細かく制御
- AUTO_SUSPENDを短めに設定して無駄な稼働を減らす
- 使用状況を定期的に可視化する
使用量の可視化方法は Snowflakeウェアハウス使用状況の可視化とコスト最適化入門 や、Snowflakeクレジット消費を分析|ACCOUNT_USAGEビュー入門 に詳しくまとめてあります。同時実行が多いケースでは マルチクラスタウェアハウス の活用も検討してみてください。
例:段階通知付きリソースモニターの作成
CREATE OR REPLACE RESOURCE MONITOR my_monitor
WITH
CREDIT_QUOTA = 500
FREQUENCY = MONTHLY
START_TIMESTAMP = IMMEDIATELY
TRIGGERS
ON 75 PERCENT DO NOTIFY
ON 90 PERCENT DO NOTIFY
ON 100 PERCENT DO SUSPEND
ON 110 PERCENT DO SUSPEND_IMMEDIATE;
ALTER WAREHOUSE my_wh
SET RESOURCE_MONITOR = my_monitor;
このように設定しておけば、いきなり停止する前に通知で気付けます。
まとめ
「Resource monitor has reached its credit quota」は、Snowflakeがしっかりブレーキを踏んでくれた証拠です。慌てず以下の流れで対処しましょう。
SHOW RESOURCE MONITORSで使用量を確認- 必要に応じて
CREDIT_QUOTAを引き上げ ALTER WAREHOUSE ... RESUMEでウェアハウスを再開- 段階的なNOTIFYトリガーを設定して再発防止
命名規則を整えておくと運用がさらに楽になるので、Snowflake命名規則ベストプラクティス も合わせてどうぞ。
参考リンク
- リソースモニターの使用 – Snowflake公式ドキュメント
- CREATE RESOURCE MONITOR – Snowflake公式ドキュメント
- ALTER RESOURCE MONITOR – Snowflake公式ドキュメント
関連記事
- Snowflakeリソースモニター入門|予算超過を防ぐ仕組み – リソースモニターの基本をゼロから学べる入門記事です。
- Snowflakeウェアハウス使用状況の可視化とコスト最適化入門 – クレジット消費の見える化方法をまとめています。
- Snowflakeクレジット消費を分析|ACCOUNT_USAGEビュー入門 – SQLで消費傾向を深掘りしたい方向け。
- Snowflakeマルチクラスタウェアハウス入門|同時実行クエリを増やす仕組み – 同時実行で消費が増えるケースの対策に。
- Snowflake命名規則ベストプラクティス – 複数モニターを運用する際の命名のコツです。


