現役エンジニアの学びと日常
  • ホーム
  • Snowflake
  • 野球データ分析
  • 旅行
  • About

Snowflakeのクレジット急増の原因調査と削減方法を解説

Snowflakeのクレジット消費が急増した原因をウェアハウスの稼働状況やクエリ履歴から調査し、リソースモニターやオートサスペンド設定の最適化によってコスト削減策を提示するデータ基盤運用解説のイメージ Snowflake
2026.05.252026.06.09
この記事をシェアする𝕏B!FacebookLINEPocket
  1. 「あれ、今月のクレジット消費、ちょっと多くない…?」となったら
  2. クレジットはどこで消費されているの?
  3. 原因を調べるSQL ― ACCOUNT_USAGEを使おう
  4. よくある急増パターンと削減策
    1. ① オートサスペンドが効いていない
    2. ② ウェアハウスサイズが大きすぎる
    3. ③ 重いクエリが繰り返し走っている
    4. ④ リソースモニターで上限を設定する
  5. まとめ
  6. 参考リンク
  7. 関連記事
    1. ▶次に読むべき記事

「あれ、今月のクレジット消費、ちょっと多くない…?」となったら

Snowflakeを使っていると、ある日突然 クレジット消費が急増 していて慌てた経験はありませんか?Snowflakeは使った分だけ課金される従量課金モデルなので、放っておくと数日で月の予算を超えてしまうこともあります。

この記事では、クレジット消費が急に増えたときの 原因の調べ方 と、すぐにできる 削減テクニック を解説します。読み終えれば「とりあえずどこを見ればいいか」が分かるようになります。

Snowflakeのクレジット消費が急増した際の原因調査と削減方法を示すアイキャッチ図。仮想ウェアハウス、Serverless機能、クラウドサービス層という3つの消費要因と、コスト最適化のポイントを表したビジュアルイメージ

クレジットはどこで消費されているの?

まず押さえておきたいのが、Snowflakeのクレジット消費は主に次の3つから発生するという点です。

  • 仮想ウェアハウス: クエリを実行するためのコンピュート。稼働時間で課金。
  • Serverless機能: Snowpipe、自動クラスタリング、マテビュー再構築、サーバーレスタスクなど。
  • クラウドサービス層: メタデータ管理や認証。通常は全体の10%以内なら無料枠。

急増したときは「どの層が増えたのか」を切り分けるのが第一歩です。

原因を調べるSQL ― ACCOUNT_USAGEを使おう

Snowflakeには SNOWFLAKE.ACCOUNT_USAGE という監査ビューがあり、過去365日分の使用状況を確認できます。詳しくは Snowflake監査ログ入門|Account UsageとInformation Schemaの違いをやさしく解説 で紹介していますが、まずは以下のクエリを実行してみましょう。

-- 直近30日のウェアハウス別クレジット消費
SELECT WAREHOUSE_NAME,
       DATE_TRUNC('day', START_TIME) AS day,
       SUM(CREDITS_USED) AS credits
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE START_TIME >= DATEADD(day, -30, CURRENT_TIMESTAMP())
GROUP BY 1, 2
ORDER BY day DESC, credits DESC;

これで「どのウェアハウスが、いつから増えたか」が見えてきます。さらに犯人クエリを特定したいときは QUERY_HISTORY を使いましょう。

-- 高コストなクエリTop20
SELECT QUERY_ID, USER_NAME, WAREHOUSE_NAME, WAREHOUSE_SIZE,
       TOTAL_ELAPSED_TIME/1000 AS sec,
       CREDITS_USED_CLOUD_SERVICES
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE START_TIME >= DATEADD(day, -7, CURRENT_TIMESTAMP())
ORDER BY TOTAL_ELAPSED_TIME DESC
LIMIT 20;
SnowflakeのACCOUNT_USAGE.QUERY_HISTORYを使い直近7日間の高コストクエリTop20を抽出するSQL実行結果のイメージ図で、ウェアハウス別の消費クレジットや実行時間から急増の原因クエリを特定する流れを示す構成図

よくある急増パターンと削減策

① オートサスペンドが効いていない

ウェアハウスがアイドル状態でも止まらず動き続けているケースです。デフォルトの600秒は長いので、60秒程度に短縮するのがおすすめです。

ALTER WAREHOUSE MY_WH SET AUTO_SUSPEND = 60 AUTO_RESUME = TRUE;

② ウェアハウスサイズが大きすぎる

XLサイズで小さなクエリを延々と回している、というのもありがちです。クエリプロファイルでスピル(メモリ溢れ)が出ていなければ、サイズを下げて様子を見ましょう。クエリ自体が遅い場合は Snowflakeクエリが遅い原因と高速化チェックリスト完全版 もあわせてご覧ください。

③ 重いクエリが繰り返し走っている

BIツールの自動更新やETLの無限リトライが原因になることも。Memory limit exceededエラー が頻発しているなら、クエリ最適化の合図です。

④ リソースモニターで上限を設定する

「気付いたら使いすぎてた」を防ぐには リソースモニター が最強です。クレジットクォータを設定し、超えたら自動でサスペンドできます。

CREATE OR REPLACE RESOURCE MONITOR RM_MONTHLY
  WITH CREDIT_QUOTA = 100
  FREQUENCY = MONTHLY START_TIMESTAMP = IMMEDIATELY
  TRIGGERS ON 80 PERCENT DO NOTIFY
           ON 100 PERCENT DO SUSPEND
           ON 110 PERCENT DO SUSPEND_IMMEDIATE;
ALTER WAREHOUSE MY_WH SET RESOURCE_MONITOR = RM_MONTHLY;

上限到達時のエラー対応は Snowflakeリソースモニターのクレジット上限到達エラー解除手順 を参考にしてください。

まとめ

クレジット急増を見つけたら、まずは WAREHOUSE_METERING_HISTORY と QUERY_HISTORY で「どこ」「いつ」「誰が」を特定し、オートサスペンド・サイズ調整・リソースモニターの3点セットで対処していきましょう。日々の運用ではウェアハウスの 命名規則 を整えておくと、原因特定もぐっと楽になりますよ。

参考リンク

  • Snowflake公式: 全体的なコストの理解
  • WAREHOUSE_METERING_HISTORYビュー
  • リソースモニターの操作

関連記事

  • Snowflakeクエリが遅い原因と高速化チェックリスト完全版 – クエリの遅さはクレジット浪費の元凶。最適化の第一歩に。
  • Snowflake「Memory limit exceeded」エラーの原因と解決方法 – スピルが発生する重いクエリの見つけ方を解説。
  • Snowflakeリソースモニターのクレジット上限到達エラー解除手順 – 上限に達したときの復旧方法。
  • Snowflake監査ログ入門|Account UsageとInformation Schemaの違い – 利用状況を調べるビューの使い分け。
  • Snowflake命名規則ベストプラクティス – ウェアハウス名を整えるとコスト分析が楽になります。

▶次に読むべき記事

Snowflakeエラー解決まとめ|症状別トラブルシューティング完全ガイドのサムネイル
Snowflakeエラー解決まとめ|症状別トラブルシューティング完全ガイド
Snowflakeで遭遇する典型的なエラーを症状別に整理した完全ガイド。ログイン/権限/SQL構文/COPY INTO/タイムアウト/コスト…
Snowflake「Memory limit exceeded」「Query was aborted due to memory exhaustion」エラー原因と解決方法のサムネイル
Snowflake「Memory limit exceeded」「Query was aborted due to memory exhaustion」エラー原因と解決方法
Snowflakeで突如出る「Memory limit exceeded」エラー。ウェアハウスサイズ不足・JOIN爆発・スピル多発の3パター…
Snowflake「Invalid identifier」エラーの原因と解決方法|大文字小文字・ダブルクォートの落とし穴のサムネイル
Snowflake「Invalid identifier」エラーの原因と解決方法|大文字小文字・ダブルクォートの落とし穴
Snowflakeで頻発する「Invalid identifier」エラーの正体を初心者向けにやさしく解説。大文字小文字の自動変換やダブルク…

この記事は Snowflakeエラー解決まとめ の一部です。
症状別の解決記事一覧に戻って、関連トラブルもチェックできます。

エラー解決まとめへ戻る
この記事をシェアする𝕏B!FacebookLINEPocket
Soma のプロフィール画像
この記事を書いた人Soma

現役のデータエンジニア(6年目)。Snowflakeをはじめとするデータ基盤技術と、セイバーメトリクス・国内外の旅行記をゆるく書いています。

プロフィール詳細
Snowflakeトラブルシューティング系
ACCOUNT_USAGESnowflakeウェアハウスクレジットコスト管理リソースモニター
Somaをフォローする
Soma

関連記事

Snowflake QUALIFY句の使い方|ウィンドウ関数の絞り込みが超簡単にのサムネイル Snowflake

Snowflake QUALIFY句の使い方|ウィンドウ関数の絞り込みが超簡単に

SnowflakeのQUALIFY句は、ウィンドウ関数の結果をWHEREのように絞り込めるSnowflake独自の便利機能。サブクエリ不要でTOP N抽出や重複排除がスッキリ書けます。基本から実用例まで初心者向けに解説します。
Snowflakeネットワークポリシー入門|IPでアクセスを制限する方法のサムネイル Snowflake

Snowflakeネットワークポリシー入門|IPでアクセスを制限する方法

Snowflakeのネットワークポリシーを使えば、許可したIPアドレスからしか接続できないように制限可能。CREATE NETWORK POLICYの書き方からSnowsightでの操作、運用時の注意点までを初心者向けにやさしく解説します。
Snowflakeコネクタ Python入門|アプリから接続する方法をやさしく解説のサムネイル Snowflake

Snowflakeコネクタ Python入門|アプリから接続する方法をやさしく解説

Snowflake Connector for Pythonを使えば、PythonアプリからSnowflakeに簡単に接続できます。インストール手順から接続コード、pandas連携、セキュリティ注意点まで初心者向けにやさしく解説します。
Snowflake「Network policy does not allow this IP」エラーの原因と解決手順のサムネイル Snowflake

Snowflake「Network policy does not allow this IP」エラーの原因と解決手順

Snowflakeで「Network policy does not allow this IP」が出たときの原因と解決を実務目線でまとめました。IP変動・VPN切替・設定ミスの3パターンを切り分け、ALLOWED_IP_LISTの修正手順まで一気に解説します。
Insufficient privileges to operate on の原因と解決手順のサムネイル Snowflake

Insufficient privileges to operate on の原因と解決手順

Snowflakeで頻発する「Insufficient privileges to operate on」エラー。原因の本質は権限不足だが、どの階層で切れているかを見抜ければ修正は数分で終わる。現場目線の確認SQLとGRANT例で整理した。
Snowflakeゼロコピークローン入門|データベースを一瞬で複製する魔法のサムネイル Snowflake

Snowflakeゼロコピークローン入門|データベースを一瞬で複製する魔法

Snowflakeのゼロコピークローンを使えば、本番データベースを数秒・追加ストレージほぼゼロで複製できます。仕組み、CREATE ... CLONE文の使い方、タイムトラベルとの併用、注意点まで初心者向けにやさしく解説!
ピタゴラス勝率とは?得失点差から期待勝率を計算する基本式を解説のサムネイル
ピタゴラス勝率とは?得失点差から期待勝率を計算する基本式を解説
防御率(ERA)の限界とFIPの登場|守備非依存投球指標をやさしく解説のサムネイル
防御率(ERA)の限界とFIPの登場|守備非依存投球指標をやさしく解説
ホーム
Snowflake

カテゴリー

  • Snowflake(106)
  • 入門系(75)
  • トラブルシューティング系(25)
  • 新機能・ニュース系(6)
  • セイバーメトリクス(41)
  • 旅行(11)
  • 海外旅行(6)
  • 国内旅行(5)

最新記事

Snowflake

  • Snowflake Iceberg Table作成手順|外部ボリューム設定からCREATEまで2026年6月30日
  • Snowflake Iceberg Tablesとは?外部ストレージで動くオープンテーブル形式を解説2026年6月27日
  • Snowflake Openflowとは?Apache NiFiベースのデータ統合サービスを初心者向けに解説2026年6月18日

セイバーメトリクス

  • xwOBA・xBA・xSLG・xERAとは?Statcast期待値系指標で運と実力を分けて読む2026年6月7日
  • Statcast打球指標入門|Exit Velocity・Launch Angle・Barrel・Hard-Hit%をやさしく解説2026年6月7日
  • WPA(Win Probability Added)とは?1打席が試合に与えた勝率変動をやさしく解説2026年6月7日

旅行

  • 【2026年搭乗記】フィンエアー プレミアムエコノミーで成田からパリへ|機内食・オーロラ・乗り継ぎを実体験レビュー2026年11月3日
  • 台湾・饒河街観光夜市で鳥占いを体験|料金・日本語通訳・流れを実体験レビュー2026年6月15日
  • ホテルグレイスリー台北宿泊記|朝食・立地・部屋・荷物預かりを実体験レビュー2026年6月8日
現役エンジニアの学びと日常
  • About
  • お問い合わせ
  • プライバシーポリシー
  • 免責事項
  • サイトマップ|現役エンジニアの学びと日常
© 2025 現役エンジニアの学びと日常.