샌드박스 지속성, 이제 정식 출시

발행: (2026년 5월 26일 AM 09:01 GMT+9)
4 분 소요

Source: Vercel Blog

2026년 5월 26일

Vercel Sandboxes는 이제 세션 간에 파일 시스템 상태를 자동으로 저장하고 복원합니다. 지속성(persistence)은 기본적으로 활성화되어 있어 스냅샷을 관리하거나 상태를 수동으로 추적할 필요가 없습니다.

각 샌드박스는 프로젝트 내에서 고유한 참조 역할을 하는 내구성 있는 **맞춤형 이름**을 가집니다. 이름으로 샌드박스를 생성, 조회 또는 재개할 수 있습니다. Vercel은 워크플로우를 방해하지 않으면서 세션을 자동으로 시작하고 종료합니다.

지속 가능한 샌드박스 만들기

Sandbox.create()를 호출하면 지속성이 기본적으로 활성화됩니다:

import { Sandbox } from "@vercel/sandbox";

// 파일 시스템이 자동으로 스냅샷됩니다
const sandbox = await Sandbox.create({ name: "my-sandbox" });

await sandbox.runCommand("npm", ["install"]);
await sandbox.stop();

각 자동 스냅샷은 스냅샷 스토리지를 사용하며, 이는 컴퓨팅 비용과 별도로 청구됩니다. 일시적인 작업에는 지속성을 해제하여 스토리지 비용을 최소화하세요:

import { Sandbox } from "@vercel/sandbox";

const sandbox = await Sandbox.create({ persistent: false });

// 또는 기존 샌드박스를 업데이트합니다.
await sandbox.update({ persistent: false });

CLI에서 지속성을 해제하려면 sandbox create--non-persistent 플래그를 전달하면 됩니다. 비영구 샌드박스는 세션이 종료될 때 파일 시스템을 삭제합니다.

지속 가능한 샌드박스 재개

재개는 자동으로 이루어집니다. runCommand()writeFiles()와 같이 중지된 샌드박스에 대한 호출은 가장 최신 스냅샷에서 새로운 세션을 시작합니다.

import { Sandbox } from "@vercel/sandbox";

const resumedSandbox = await Sandbox.get({ name: "my-sandbox" });
// 자동으로 샌드박스를 재개합니다.
await resumedSandbox.runCommand("npm", ["test"]);

기타 개선 사항

  • Sandbox.fork(): 기존 샌드박스로부터 새로운 샌드박스 생성
  • Sandbox.getOrCreate(): 장기 운영 샌드박스를 위한 멱등적 조회·생성
  • Sandbox.delete(): 샌드박스를 영구 삭제
  • 향상된 sandbox.stop(): 스냅샷 메타데이터와 함께 활성 CPU 및 네트워크 전송 총량 반환
  • 라이프사이클 훅: create, get, getOrCreate에 대한 onCreateonResume 훅 제공
  • Tags: 다중 테넌트 추적을 위해 샌드박스에 사용자 정의 속성 할당

시작하기

최신 버전으로 업그레이드하면 기본적으로 지속 가능한 샌드박스를 만들 수 있습니다:

pnpm install @vercel/sandbox@latest   # SDK
pnpm install -g sandbox@latest        # CLI

지속 가능한 샌드박스에 대한 자세한 내용은 문서를 참고하세요.

0 조회
Back to Blog

관련 글

더 보기 »