Snowflake

Resource Monitorsとは?Snowflakeコスト管理

2026-03-21
更新: 2026-03-27
NicheeLab編集部

Resource Monitorは、SnowflakeのVirtual Warehouseが消費するクレジットを監視し、閾値に達したときに通知やWarehouseのサスペンドを自動実行するコスト管理機能です。 予期しないクエリの暴走やWarehouseの停止忘れによるコスト超過を防止します。

この記事では、CREATE RESOURCE MONITORのSQL構文・閾値アクション(Notify / Suspend / Suspend Immediately)の動作・アカウントレベルとWarehouseレベルの割り当て方法を解説します。SnowPro Core試験のPerformance Conceptsドメインで頻出するトピックです。

Resource Monitorの概要

Resource MonitorはVirtual Warehouseのクレジット消費量を定期的に監視し、設定した閾値に達したときにアクション(通知・サスペンド)を実行します。アカウントレベル(全Warehouseの合計クレジット)または個別Warehouseレベルで適用できます。

Resource Monitorの3つの主要パラメータは以下の通りです。

  • CREDIT_QUOTA — 監視対象のクレジット上限(例: 100クレジット)
  • FREQUENCY — クォータのリセット間隔(DAILY / WEEKLY / MONTHLY / YEARLY / NEVER)
  • TRIGGERS — 閾値に達した際のアクション(NOTIFY / SUSPEND / SUSPEND_IMMEDIATELY)

CREATE RESOURCE MONITOR SQL

-- 基本的なResource Monitorの作成
CREATE OR REPLACE RESOURCE MONITOR monthly_cost_monitor
  WITH
    CREDIT_QUOTA = 500
    FREQUENCY = MONTHLY
    START_TIMESTAMP = IMMEDIATELY
  TRIGGERS
    ON 50 PERCENT DO NOTIFY
    ON 80 PERCENT DO NOTIFY
    ON 95 PERCENT DO SUSPEND
    ON 100 PERCENT DO SUSPEND_IMMEDIATELY;

上記の例では、月間クレジット上限を500に設定し、50%・80%で通知、95%でSuspend(実行中クエリ完了待ち)、100%でSuspend Immediately(即座にサスペンド)を実行します。

閾値アクション比較表

アクション動作実行中クエリユースケース
NOTIFY通知のみ(Warehouseは停止しない)影響なし早期警告。50〜80%の閾値に設定
SUSPEND実行中クエリの完了を待ってからWarehouseをサスペンド完了まで実行される本番環境。90〜95%の閾値に設定
SUSPEND_IMMEDIATELY実行中クエリを即座にキャンセルしてWarehouseをサスペンド即座にキャンセル(エラー終了)テスト環境・緊急停止。100%の閾値に設定

NOTIFYアクションの通知先はアカウント管理者(ACCOUNTADMINロールのユーザー)で、Snowsightの通知バナーとメールで配信されます。カスタムの通知先を設定するにはアラート統合(Alert Integration)を使用します。

アカウントレベル vs Warehouseレベルの割り当て

アカウントレベル

-- アカウントレベルで適用(全Warehouseの合計クレジットを監視)
ALTER ACCOUNT SET RESOURCE_MONITOR = monthly_cost_monitor;

アカウントレベルのResource Monitorは、アカウント内の全Virtual Warehouseが消費するクレジットの合計を監視します。組織全体のコスト上限を設定する場合に使用します。

Warehouseレベル

-- 個別Warehouseに適用
ALTER WAREHOUSE etl_wh SET RESOURCE_MONITOR = etl_monitor;
ALTER WAREHOUSE analytics_wh SET RESOURCE_MONITOR = analytics_monitor;

-- Warehouse作成時にResource Monitorを指定
CREATE WAREHOUSE dev_wh
  WAREHOUSE_SIZE = 'XSMALL'
  RESOURCE_MONITOR = dev_monitor
  AUTO_SUSPEND = 300
  AUTO_RESUME = TRUE;

Warehouseレベルでは、特定のWarehouseのクレジット消費のみを監視します。ETL用・分析用・開発用など用途別にWarehouseを分離し、それぞれに異なるクレジット上限を設定する運用が一般的です。

Resource Monitorの監視範囲

機能監視対象
Virtual Warehouse○(クレジット消費を監視)
Cloud Services Layer×(日次消費がWarehouse消費の10%を超えた分のみ課金・監視対象外)
Snowpipe×(サーバーレスコンピュート・監視対象外)
Automatic Clustering×(サーバーレスコンピュート・監視対象外)
Materialized View×(自動メンテナンス・監視対象外)
Search Optimization×(サーバーレスコンピュート・監視対象外)
ストレージ×(ストレージコストは監視対象外)

Resource Monitorの管理コマンド

-- Resource Monitorの一覧確認
SHOW RESOURCE MONITORS;

-- Resource Monitorの設定変更
ALTER RESOURCE MONITOR monthly_cost_monitor
  SET CREDIT_QUOTA = 800;

-- Resource Monitorの削除
DROP RESOURCE MONITOR dev_monitor;

-- 特定Warehouseからの割り当て解除
ALTER WAREHOUSE etl_wh UNSET RESOURCE_MONITOR;

運用ベストプラクティス

  • アカウントレベルで全体の上限を設定し、個別Warehouseレベルで用途別の上限を設定する二重構造が推奨
  • NOTIFY閾値を複数段階(50%・80%)で設定し、早期にコスト増加を検知する
  • 本番WarehouseにはSUSPEND、開発WarehouseにはSUSPEND_IMMEDIATELYを設定する
  • Reader Accountを提供している場合、Reader Account用WarehouseにResource Monitorを必ず設定する
  • サーバーレス機能のコストはACCOUNT_USAGEのMETERING_HISTORYビューで別途監視する

問題例

Resource Monitor

問題 1

Resource MonitorのTRIGGERSでSUSPENDアクションを設定した場合の動作として正しいものはどれですか?

  1. 閾値に達した時点で実行中のクエリを即座にキャンセルし、Warehouseをサスペンドする
  2. 閾値に達した時点で通知のみ行い、Warehouseは稼働し続ける
  3. 閾値に達した時点で実行中のクエリの完了を待ち、その後Warehouseをサスペンドする
  4. 閾値に達した時点でWarehouseのサイズを自動的に縮小する

正解: C

SUSPENDアクションは、閾値に達した時点で新しいクエリの受け付けを停止し、実行中のクエリが完了するのを待ってからWarehouseをサスペンドします。実行中のクエリは正常に完了します。即座にキャンセルするのはSUSPEND_IMMEDIATELYアクションです(Aは誤り)。通知のみ行うのはNOTIFYアクションです(Bは誤り)。Warehouseサイズの自動縮小機能はResource Monitorには含まれません(Dは誤り)。

Resource Monitorの問題を解こう

日本語問題集でSnowPro試験の実力チェック

無料で問題を解く

よくある質問(FAQ)

Resource MonitorはServerless機能のクレジットも監視できますか?

いいえ。Resource MonitorはVirtual Warehouseのクレジット消費のみを監視対象としています。Snowpipe・Automatic Clustering・Materialized Viewの自動メンテナンス・Search Optimization Serviceなどのサーバーレスコンピュートのクレジットは監視対象外です。サーバーレス機能のコストを把握するには、ACCOUNT_USAGEスキーマのMETERING_HISTORY(Snowpipe)・AUTOMATIC_CLUSTERING_HISTORY・MATERIALIZED_VIEW_REFRESH_HISTORY等のビューを使用します。試験では「Resource Monitorが監視する範囲」と「監視しない範囲」を問う問題が出題されます。

Resource Monitorの作成に必要なロールは何ですか?

Resource Monitorの作成にはACCOUNTADMINロールが必要です。SYSADMINやカスタムロールではCREATE RESOURCE MONITORを実行できません。ただし、ACCOUNTADMINが他のロールにMONITOR権限をGRANTすれば、そのロールでResource Monitorの閾値や通知のステータスを確認できます。また、Resource Monitorをアカウントレベルで適用する(ALTER ACCOUNT SET RESOURCE_MONITOR)のもACCOUNTADMINの権限が必要です。Warehouse個別への適用(ALTER WAREHOUSE SET RESOURCE_MONITOR)は、ACCOUNTADMINまたはそのWarehouseのOWNERが実行できます。

Suspend ImmediatelyとSuspendの違いは何ですか?

Suspendは実行中のクエリの完了を待ってからWarehouseをサスペンドします。つまり、閾値到達時に実行中のクエリは最後まで実行され、その後Warehouseが停止します。Suspend Immediatelyは実行中のクエリを即座にキャンセルしてWarehouseをサスペンドします。実行中のクエリはエラーで終了します。本番環境ではSuspend(実行中クエリ完了を待つ)を使い、テスト環境やコスト超過のリスクが高い場合にSuspend Immediatelyを使用するのが一般的です。

Resource Monitor 関連記事

Virtual Warehouse完全解説

Warehouseのサイズ・スケーリング・コスト最適化

Snowflake認定資格一覧

全Snowflake認定資格の概要・費用・難易度を比較

Reader Accountsとは?

Reader Accountのコスト管理とResource Monitor設定

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Snowflake

Snowflake資格一覧|全11試験(SnowPro)の難易度・費用

Snowflake認定資格(SnowPro)全11試験の一覧・難易度・費用・出題範囲を徹底解説。...

Snowflake

Snowflake試験の難易度ランキング|全11資格を徹底比較

Snowflake(SnowPro)認定全11試験の難易度をランキング形式で比較。学習時間・合格に必要なスキルから分析。...

Snowflake

Snowflake資格の勉強方法|効率的な学習ルートと合格のコツ

Snowflake認定資格(SnowPro)に最短で合格するための勉強方法。公式リソース・学習スケジュールを徹底ガイド。...

Snowflake

SnowPro Core試験完全解説|出題範囲・問題例・合格戦略

SnowPro Core Certification(COF-C03)を徹底解説。出題範囲・100問の試験形式・合格ライ...

Snowflake

SnowPro Platform Associate完全解説|入門試験の攻略

SnowPro Associate: Platform Certification(SOL-C01)を徹底解説。最も簡単...

Snowflakeの記事一覧 (102件)
© 2026 NicheeLab All rights reserved.