現役エンジニアの学びと日常
  • ホーム
  • 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 MFA・SSO・強力な認証設定入門|パスワード認証廃止に備える方法のサムネイル Snowflake

Snowflake MFA・SSO・強力な認証設定入門|パスワード認証廃止に備える方法

SnowflakeのMFA・SSO設定を初心者向けに解説。単一要素パスワードログイン廃止の流れ、Authentication Policy、SAML SSO、サービスユーザーのキーペア認証・OAuth・WIFまで整理します。
Snowflake列レベル・行レベルセキュリティ入門|ポリシーの作り方のサムネイル Snowflake

Snowflake列レベル・行レベルセキュリティ入門|ポリシーの作り方

Snowflakeの列レベル・行レベルセキュリティポリシーの作り方を初心者向けに解説。マスキングポリシーとROW ACCESS POLICYの使い分け、SQL例、適用手順や注意点をやさしく紹介します。
Snowflakeの3層アーキテクチャを初心者向けにやさしく解説のサムネイル Snowflake

Snowflakeの3層アーキテクチャを初心者向けにやさしく解説

Snowflakeの土台となる「3層アーキテクチャ(ストレージ・コンピュート・サービス層)」を、初心者でもイメージできるように比喩や具体例を交えてやさしく解説します。
Snowflake「Failed to access remote file」エラーの原因と解決方法|S3/Azure/GCS別のサムネイル Snowflake

Snowflake「Failed to access remote file」エラーの原因と解決方法|S3/Azure/GCS別

SnowflakeでCOPY INTOやSELECT FROM @stage実行時に出る「Failed to access remote file」エラー。S3・Azure・GCSそれぞれで原因が違うので、切り分けと修正手順を一気にまとめます。
Snowflake AI_COMPLETE関数入門|SQLでLLMを呼び出す方法・構造化出力・コスト管理まで解説のサムネイル Snowflake

Snowflake AI_COMPLETE関数入門|SQLでLLMを呼び出す方法・構造化出力・コスト管理まで解説

Snowflake AI_COMPLETE関数の使い方を初心者向けに解説。SQLからLLMを呼び出す基本、model_parameters、show_details、response_format、return_error_details、権限、コスト管理、旧COMPLETEとの違いをまとめます。
Snowflake監査ログ入門|Account UsageとInformation Schemaの違いをやさしく解説のサムネイル Snowflake

Snowflake監査ログ入門|Account UsageとInformation Schemaの違いをやさしく解説

Snowflakeの監査ログを初心者向けにやさしく解説。Account UsageとInformation Schemaの違い、ログイン履歴やクエリ履歴の確認方法をSQL例とともに紹介します。
ピタゴラス勝率とは?得失点差から期待勝率を計算する基本式を解説のサムネイル
ピタゴラス勝率とは?得失点差から期待勝率を計算する基本式を解説
防御率(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日
  • WPA(Win Probability Added)とは?1打席が試合に与えた勝率変動をやさしく解説2026年6月7日
  • Statcast打球指標入門|Exit Velocity・Launch Angle・Barrel・Hard-Hit%をやさしく解説2026年6月7日

旅行

  • 台湾・饒河街観光夜市で鳥占いを体験|料金・日本語通訳・流れを実体験レビュー2026年6月15日
  • ホテルグレイスリー台北宿泊記|朝食・立地・部屋・荷物預かりを実体験レビュー2026年6月8日
  • 台北の夜市はどこがおすすめ?寧夏・饒河街・士林を実際に巡って比較2026年6月6日
現役エンジニアの学びと日常
  • About
  • お問い合わせ
  • プライバシーポリシー
  • 免責事項
  • サイトマップ|現役エンジニアの学びと日常
© 2025 現役エンジニアの学びと日常.