コンテナランタイム版の Notebook と Streamlit in Snowflake の自動停止の挙動を整理してみる
- URL: https://dev.classmethod.jp/articles/snowflake-container-runtime-sis-notebook-idle-timeout-and-auto-suspend
- 日付: 2026-06-22
- Tier: Tier 2
- 要旨: Snowflake コンテナランタイム版 Streamlit in Snowflake(SiS)・Notebook の自動停止は 2 層構造。Layer 1 サービス層(SiS は 3 日アイドル・Notebook は 24 時間デフォルト)・Layer 2 コンピュートプール層(プール上全サービスがアイドルになって初めて AUTO_SUSPEND_SECS カウント開始)。課金停止には両層が必要。Notebook のアイドルカウント起点は「接続中全 Notebook の実行セルが全終了した時点」。複数 Notebook が同一サービス接続の場合は最後の 1 つがアイドル化までカウント開始しない。
詳細
Snowflake コンテナランタイム SiS・Notebook の自動停止は 2 層独立構造で課金停止まで複数条件を満たす必要あり。Layer 1 サービス層アイドルタイムアウト:SiS(Streamlit in Snowflake)は 3 日間アクセスなしで自動停止(トリガーはアプリ表示・常時稼働サーバーのため基本稼働続行)・Notebook(Notebooks in Workspaces コンテナランタイム版)はアイドルタイムアウト 24 時間デフォルト(UI 指定可能)。Notebook のアイドル起点は「接続中全 Notebook で実行中セル全終了した時点」で、ブラウザを閉じたかどうかではなく実行完了を基準。複数 Notebook が同一サービス接続時は最後の 1 つがアイドルになるまでカウント開始しない。Layer 2 コンピュートプール層:サービスがサスペンドされてもプール上に他サービスが残っていれば課金継続。プール上の最後のサービスが停止して初めて AUTO_SUSPEND_SECS カウント開始。その後プールがサスペンド。検証結果(AUTO_SUSPEND_SECS=300 秒):Notebook はセル完了から約 18 分後サービス SUSPENDED・5 分後プール SUSPENDED で想定通り。SiS はアプリ閉鎖後も稼働・課金継続(3 日待ちは現実的でないため ALTER COMPUTE POOL … STOP ALL で強制停止・SUSPEND で即座にプール停止)。SiS コンテナランタイムは 3 日固定アイドルタイムアウトでユーザー側短縮手段なし。コスト抑制は使用終了時に STOP ALL・続けて SUSPEND を実行するのが確実。