はじめに:使ってない時間にもお金がかかる?
Snowflakeの仮想ウェアハウス(クエリを実行するためのコンピュートエンジン)は、起動している間ずっとクレジットを消費します。つまり「クエリを投げていなくても、立ち上げっぱなしだと課金される」というわけです。
そこで活躍するのが、今回紹介する AUTO_SUSPEND(自動サスペンド) と AUTO_RESUME(自動再開)。この2つを使いこなせば、無駄なクレジットを使わずに済み、結果としてコストをグッと抑えられます。料金の全体像が気になる方は、先にSnowflakeの料金体系をやさしく解説を読むとイメージしやすいですよ。

自動サスペンドと自動再開ってなに?
AUTO_SUSPEND:アイドル状態で自動停止
AUTO_SUSPEND は「ウェアハウスがクエリを処理しないアイドル状態が一定時間続いたら、自動でサスペンド(停止)する」機能です。停止中はクレジットを消費しないので、付けっぱなし課金から守ってくれます。
AUTO_RESUME:必要になったら自動起動
AUTO_RESUME は反対に、「サスペンド中のウェアハウスに対してクエリが投げられたら自動で再開する」機能。利用者は「動いてるかな?」を気にせずクエリを書けて、しかも使う瞬間だけ課金されるという理想的な動きになります。
SQLでの設定方法
新しくウェアハウスを作るときも、既存のものを変えるときもワンライナーでOKです。
-- 新規作成: 60秒アイドルで自動停止、クエリが来たら自動再開
CREATE WAREHOUSE my_wh
WITH WAREHOUSE_SIZE = 'XSMALL'
AUTO_SUSPEND = 60
AUTO_RESUME = TRUE;
-- 既存ウェアハウスの変更
ALTER WAREHOUSE my_wh SET
AUTO_SUSPEND = 120
AUTO_RESUME = TRUE;
AUTO_SUSPENDの単位は秒。最小は60秒で、これ未満にするとキャッシュが消えやすくなりすぎるので注意です。ウェアハウスの基本についてはSnowflakeウェアハウスとは?サイズと使い分けもどうぞ。
Snowsightでの設定手順
GUI派のあなたにはSnowsightからの操作も簡単です。
- 左メニューから「Admin」→「Warehouses」を開く
- 対象のウェアハウスを選び「Edit」をクリック
- 「Auto Suspend」のドロップダウンで停止までの時間を選択
- 「Auto Resume」のトグルをONにして保存

節約のコツと注意点
- AUTO_SUSPENDの値はワークロード次第:対話型の分析なら60〜120秒、断続的にクエリが来るBIダッシュボードなら300〜600秒など、用途に合わせて調整しましょう。
- キャッシュとのトレードオフ:サスペンドするとウェアハウスのローカルキャッシュ(SSD)が消えます。短すぎる設定は逆にクエリが遅くなることもあるので、よく使うBI用は少し長めがおすすめ。
- 再開には数秒かかる:自動再開時は通常数秒以内に立ち上がりますが、初回クエリだけ少し待ち時間が発生する点は覚えておきましょう。
まとめ
AUTO_SUSPENDとAUTO_RESUMEは、Snowflakeで真っ先に設定すべきコスト最適化の基本機能です。「使うときだけ課金」という従量課金の良さを最大限に引き出してくれます。新しくウェアハウスを作ったら必ずチェック、と覚えておきましょう!
参考リンク
- 仮想ウェアハウスの概要 — Snowflake公式ドキュメント
- CREATE WAREHOUSE — Snowflake公式ドキュメント
- ウェアハウスの考慮事項 — Snowflake公式ドキュメント
関連記事
- Snowflakeウェアハウスとは?サイズと使い分けを初心者向けに解説 – ウェアハウスの基本とTシャツサイズの選び方を解説
- Snowflakeの料金体系をやさしく解説|クレジット・ストレージ・転送量の仕組み – クレジット消費の全体像を理解できます
- Snowflakeのスケールアップとスケールアウトの違いと選び方 – サイズ変更とマルチクラスターの使い分け
- Snowsightの画面構成と基本操作を初心者向けにやさしく解説 – GUI操作の基本はこちら

