はじめに:なぜウェアハウスの「見える化」が大事なの?
こんにちは!Snowflakeを使っていると気になるのが「今月、どれくらいクレジットを消費しているんだろう?」という点ですよね。Snowflakeの料金は主にウェアハウス(計算リソース)の稼働時間で決まります。つまり、ウェアハウスの使い方を知ることが、そのままコスト削減につながるんです。
この記事では、Snowflakeでウェアハウスの使用状況を可視化する方法と、初心者でもすぐにできるコスト最適化のテクニックを、フレンドリーに解説していきます!

ウェアハウスのコスト発生の仕組み
Snowflakeのウェアハウスは、起動している間だけ秒単位でクレジットを消費します(最低60秒)。サイズが X-Small → Small → Medium → Large… と上がるごとに消費量が2倍ずつ増えていきます。つまり、コスト最適化のポイントは大きく3つです。
- 不要な稼働時間を減らす(自動サスペンドの活用)
- 適切なサイズを選ぶ(大きすぎず小さすぎず)
- クエリを効率化する(無駄な処理を減らす)
Snowsightで使用状況を可視化する
まずは現状把握から!SnowsightのUIには、ウェアハウスの使用状況をグラフで見られる便利な画面があります。
操作手順
- Snowsightにログインし、左メニューの「Admin(管理者)」→「Warehouses」を開く
- 対象のウェアハウスをクリックすると、過去のクレジット消費グラフや実行クエリ数が表示される
- 「Cost Management」画面では、アカウント全体のクレジット消費トレンドも確認できる

ACCOUNT_USAGEビューで詳細分析
もっと細かく分析したいなら、SQLで SNOWFLAKE.ACCOUNT_USAGE スキーマを叩くのが王道。詳細はSnowflakeクレジット消費を分析|ACCOUNT_USAGEビュー入門で深掘りしていますが、ここでは代表的な1本を紹介します。
-- 直近30日のウェアハウス別クレジット消費TOP
SELECT
WAREHOUSE_NAME,
SUM(CREDITS_USED) AS TOTAL_CREDITS
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE START_TIME >= DATEADD(day, -30, CURRENT_TIMESTAMP())
GROUP BY WAREHOUSE_NAME
ORDER BY TOTAL_CREDITS DESC;
これで「どのウェアハウスが一番お金を食っているか」が一目瞭然です。
すぐ効くコスト最適化テクニック5選
1. AUTO_SUSPENDを短めに設定
クエリが流れていない時間に自動停止する設定です。デフォルトは10分ですが、開発用なら60秒でも十分。
ALTER WAREHOUSE MY_WH SET AUTO_SUSPEND = 60 AUTO_RESUME = TRUE;
2. 適切なサイズに調整
「大きい方が速い」は半分正解、半分不正解。クエリ実行時間が半分になっても、ウェアハウスサイズが2倍ならコストは同じ。クエリの特性に合わせた選択が大事です。
3. 用途別にウェアハウスを分ける
BI用、ETL用、アドホック分析用と分けることで、無駄な相乗りを防止できます。同時実行が多い場合はマルチクラスタウェアハウスも検討しましょう。
4. リソースモニターで予算超過をブロック
「気づいたら予算オーバー!」を防ぐにはSnowflakeリソースモニターが必須。クレジット上限を決めて自動停止させられます。
5. クエリ自体を効率化
非効率なSQLは長時間ウェアハウスを稼働させ、コスト増の元凶に。クエリ最適化ベストプラクティスやキャッシュの活用もぜひチェックを。
注意点
ACCOUNT_USAGEビューは最大3時間程度の遅延があるため、リアルタイム監視にはINFORMATION_SCHEMAを併用しましょう。- サイズダウンしすぎるとスピル(ディスクへの書き出し)が発生し、逆に時間とコストが膨らむこともあります。
まとめ
ウェアハウスのコスト最適化は「見える化 → 分析 → 設定見直し」の繰り返しです。まずはSnowsightで使用状況を眺めるところから始めて、慣れてきたらACCOUNT_USAGEで深掘り、最後にAUTO_SUSPENDやリソースモニターで仕組み化する。この流れを身につければ、Snowflakeのコストはぐっと下げられます!
参考リンク
関連記事
- Snowflakeリソースモニター入門|予算超過を防ぐ仕組み – クレジット上限を設定して自動停止できる仕組み
- Snowflakeクレジット消費を分析|ACCOUNT_USAGEビュー入門 – SQLで詳細にコスト分析する方法
- Snowflakeクエリ最適化ベストプラクティス10選 – クエリ効率化でコストも削減
- Snowflakeマルチクラスタウェアハウス入門 – 同時実行を捌きつつコスト管理する仕組み
- Snowflakeの3つのキャッシュの違い – キャッシュ活用で無駄な計算を減らす

