Snowflake

Resource Monitorsとは?Snowflakeコスト管理

2026-03-21
更新: 2026-03-27
NicheeLab編集部
目次
  1. Resource Monitorの概要
  2. CREATE RESOURCE MONITOR SQL
  3. 閾値アクション比較表
  4. アカウントレベル vs Warehouseレベルの割り当て
  5. Resource Monitorの監視範囲
  6. Resource Monitorの管理コマンド
  7. 運用ベストプラクティス
  8. 問題例
  9. よくある質問(FAQ)

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.