ホーム » データサイエンス » Snowflake » Snowflakeのコンピュート課金の仕組み

Snowflakeのコンピュート課金の仕組み

〜AUTO_SUSPENDとクエリ実行時間による請求ロジック〜

❄️ 基本ルール

Snowflakeでは、仮想ウェアハウス(Virtual Warehouse)起動中の時間に対して課金されます。
これには、クエリ実行中だけでなく、実行後の自動停止までの待機時間も含まれます。


⏳ 課金時間に影響する主な設定

設定項目内容
AUTO_SUSPENDウェアハウスが非アクティブ後、何秒で停止するかを設定(例:600秒 = 10分)
AUTO_RESUMEクエリが実行されたときに、自動でウェアハウスを再起動するかを設定

💸 課金単位のルール

時間課金単位
60秒未満切り上げで**60秒(1分)**として課金される
60秒以上分単位 + 秒単位で正確に課金される

🧪 例題シナリオの構成

AUTO_SUSPEND = 600秒(=10分)
ウェアハウスは初期状態で一時停止中

① 最初のクエリ:7分間実行
② クエリ後、10分間自動停止待機 → 停止
③ 1時間後、2つ目のクエリ実行:50秒間実行
④ クエリ後、10分間自動停止待機 → 停止

📊 請求時間の内訳

フェーズ実行時間課金時間の計算方法請求対象時間
最初のクエリ7分実行時間+AUTO_SUSPEND待機7分 + 10分 = 17分
2回目のクエリ50秒切り上げ → 60秒 + AUTO_SUSPEND待機(10分)1分 + 10分 = 11分
合計28分

最終請求時間:28分


❗注意すべきポイント

  • AUTO_SUSPENDの設定値はクエリ実行後のウェアハウス課金時間に直結します。
  • クエリ時間が60秒未満でも、切り上げで1分請求されます。
  • 停止していたウェアハウスが再起動する場合でも、その起動・実行・待機時間はすべて課金対象です。

📘 補足:SnowflakeのCompute課金理解のための参考ドキュメント