Snowflakeの料金体系をやさしく解説|クレジット・ストレージ・転送量の仕組み

Snowflake

はじめに:Snowflakeの料金、なんだか難しそう…?

「Snowflakeを使ってみたいけど、料金体系がイマイチわからない…」そんな声をよく聞きます。クラウドサービスの料金は、固定の月額制ではなく使った分だけ払う従量課金がほとんど。Snowflakeも同じです。

でも安心してください!Snowflakeの料金は大きく分けて「コンピュート(クレジット)」「ストレージ」「データ転送」の3つだけ。この3本柱さえ押さえれば、コスト感覚はバッチリつかめます。今日はこの仕組みをやさしく解説していきますね。

料金体系の3本柱を理解しよう

① コンピュート料金(クレジット)

Snowflakeで一番大きな割合を占めるのが、SQLを実行する「仮想ウェアハウス」の利用料です。料金はクレジットという独自の単位で計算され、ウェアハウスが起動している秒数 × サイズに応じたレートで消費されます。

たとえばXSサイズなら1時間あたり1クレジット、Sサイズなら2クレジット、Mなら4クレジット…と、サイズが上がるごとに倍々で増えていきます。ウェアハウスのサイズについて詳しく知りたい方はSnowflakeウェアハウスとは?サイズと使い分けを初心者向けに解説もチェックしてみてください。

1クレジットあたりの単価は契約しているエディションやリージョンによって変わります。エディションごとの違いはSnowflakeエディションの違いと選び方で詳しく説明しています。

② ストレージ料金

テーブルに保存しているデータ量に対する課金です。Snowflakeはデータを圧縮した状態で保管してくれるので、生データよりだいぶ小さくなります。料金は1TBあたり月額固定(オンデマンドなら$40前後/TB、年間契約だと$23前後/TB)で、日割り計算されます。

ちなみに過去のデータを遡れる「Time Travel」や災害復旧用の「Fail-safe」もここに含まれます。データの中身がどう保存されているかはマイクロパーティションの記事が参考になりますよ。

③ データ転送料金

クラウドの「外」へデータを出すときにかかる料金です。具体的には別リージョンや別クラウドへのアンロード(エクスポート)などが対象。同じリージョン内での読み書きや、データの取り込み(ロード)は無料なので、普段使いではあまり気にしなくてOKです。

クレジット消費を確認するSQL

「いま自分がどれくらい使ってるんだろう?」という時は、ACCOUNT_USAGEスキーマのビューを覗いてみましょう。

-- 直近7日間のウェアハウスごとのクレジット消費量
SELECT WAREHOUSE_NAME,
       SUM(CREDITS_USED) AS TOTAL_CREDITS
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE START_TIME >= DATEADD('day', -7, CURRENT_TIMESTAMP())
GROUP BY WAREHOUSE_NAME
ORDER BY TOTAL_CREDITS DESC;

Snowsightの画面でも、左メニューの「Admin」→「Cost Management」からグラフでサクッと確認できます。Snowsightの基本操作はこちらの記事をどうぞ。

節約のコツと注意点

  • AUTO_SUSPEND を短めに設定:アイドル時間にウェアハウスを自動停止すれば無駄な課金を防げます。
  • 必要以上に大きいサイズを選ばない:XSで足りるならXSで。スケール戦略はスケールアップとスケールアウトの違いを参考に。
  • 結果キャッシュを活用:同じクエリを24時間以内に実行すると、ウェアハウスを起動せず無料で結果が返ります。
  • トライアル枠をフル活用:新規アカウントには$400分のクレジットが付いてきます。詳しくはトライアルアカウントの作り方へ。

まとめ

Snowflakeの料金は「クレジット(コンピュート)」+「ストレージ」+「データ転送」の3つを押さえればOK。特にコストの大半を占めるのはウェアハウスのクレジット消費なので、サイズ選びと自動サスペンドの設定が節約のカギになります。Cost Management画面でこまめに確認しながら、賢く使っていきましょう!

参考リンク

関連記事

タイトルとURLをコピーしました