Vercel サンドボックスの永続化機能が一般提供へ
Vercel はサンドボックス機能に永続化(persistence)をデフォルトで実装し、セッション間のファイルシステム状態の自動保存・復元を可能にした。
キーポイント
デフォルトでの永続化機能の実装
各サンドボックスは名前付きで永続化され、セッション終了後もファイルシステムの状態が自動的に保存・復元されるようになった。
コスト最適化のためのオプトアウト機能
一時的なワークロード向けに、CLI の `--non-persistent` フラグで永続化を無効にし、ストレージコストを最小限に抑えることが可能。
開発者体験の向上と新機能追加
セッションの自動スピンアップ/ダウンに加え、フォーク作成、重複排除された取得・作成、ライフサイクルフックなどの新機能が追加された。
重要な引用
Vercel Sandboxes now automatically save and restore filesystem state between sessions.
Persistence is on by default, meaning no snapshots to manage or state to track manually.
For ephemeral workloads, opt out of persistence to minimize storage costs
影響分析・編集コメントを表示
影響分析
このアップデートにより、開発環境のセットアップや状態管理にかかるオーバーヘッドが大幅に削減され、特に反復的なテストやデバッグ作業における生産性が向上します。ただし、ストレージコストの増加リスクがあるため、ワークロードの性質(永続的か一時的か)を適切に見極めた設定が求められるようになります。
編集コメント
AI エージェントによるコード生成や自動テストにおいて、状態の維持は重要な要素ですが、この機能は人間開発者にとっても同様に価値のある改善です。コスト管理の観点から、一時的な実験環境と永続的なデバッグ環境を明確に使い分ける運用が推奨されます。
Vercel のサンドボックスは、セッション間でファイルシステムの状態を自動的に保存および復元するようになりました。永続化機能はデフォルトで有効になっており、手動でスナップショットを管理したり状態を追跡したりする必要はありません。
各サンドボックスには、プロジェクト内で一意の参照として機能する耐久性がありカスタマイズ可能な名前が割り当てられています。名前でサンドボックスを作成、取得、または再開できます。Vercel はセッションを自動的に起動・停止し、ワークフローを中断することなく処理します。
永続化されたサンドボックスの作成
Sandbox.create() を呼び出すと、デフォルトで永続化が有効になります:
各自動スナップショットはスナップショットストレージを消費し、これはコンピューティングとは別に課金されます。一時的なワークロードの場合、ストレージコストを最小限に抑えるために永続化のオプトアウトを選択できます:
CLI で永続化をオプトアウトするには、sandbox create コマンドに --non-persistent を渡します。非永続型サンドボックスは、セッションが終了するとファイルシステムを破棄します。
永続化されたサンドボックスの再開
再開は自動的に行われます。停止したサンドボックスに対する runCommand() や writeFiles() などの呼び出しは、最新のスナップショットから新しいセッションを開始します。
その他の改善点
Sandbox.fork(): 既存のサンドボックスから新しいサンドボックスを作成
Sandbox.getOrCreate(): 長寿命のサンドボックス向けの冪等な取得または作成
Sandbox.delete(): サンドボックスを完全に削除
Sandbox.stop() の機能強化: スナップショットメタデータに加え、アクティブな CPU とネットワーク転送量の合計を返す
ライフサイクルフック: create, get, getOrCreate 用の onCreate および onResume フック
タグ: マルチテナント追跡のためにサンドボックスにカスタムプロパティを割り当て
始め方
デフォルトで永続的なサンドボックスを作成するには、最新バージョンにアップグレードしてください:
pnpm install @vercel/sandbox@latest # SDK
pnpm install -g sandbox@latest # CLI
ドキュメントで永続的なサンドボックスについて詳しく学ぶことができます。
続きを読む
原文を表示
Vercel Sandboxes now automatically save and restore filesystem state between sessions. Persistence is on by default, meaning no snapshots to manage or state to track manually.
Each sandbox has a durable, customizable name that acts as a unique reference in your project. You can create, retrieve, or resume a sandbox by name. Vercel spins sessions up and down automatically, without interrupting your workflow.
Create a persistent sandbox
When you call Sandbox.create(), persistence is enabled by default:
Each automatic snapshot consumes snapshot storage, which is billed separately from compute. For ephemeral workloads, opt out of persistence to minimize storage costs:
To opt out of persistence with the CLI, pass --non-persistent to sandbox create. Non-persistent sandboxes discard their filesystem when the session ends.
Resume a persistent sandbox
Resuming is automatic. Any call on a stopped sandbox, like runCommand() or writeFiles(), starts a new session from the most recent snapshot.
Other improvements
Sandbox.fork(): Create a new sandbox from an existing one
Sandbox.getOrCreate(): Idempotent retrieve-or-create for long-lived sandboxes
Sandbox.delete(): Permanently delete a sandbox
Richer sandbox.stop(): Returns snapshot metadata plus active-CPU and network-transfer totals
Lifecycle hooks: onCreate and onResume hooks for create, get, and getOrCreate
Tags: Assign custom properties to sandboxes for multi-tenant tracking
Get started
Upgrade to the latest version to create persistent sandboxes by default:
pnpm install @vercel/sandbox@latest # SDK
pnpm install -g sandbox@latest # CLI
Learn more about persistent sandboxes in the documentation.
Read more
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み