Cloudflare Sandbox SDK 1.0 출시: Durable Object 기반 초고속 AI 에이전트 격리 환경
Cloudflare가 AI 에이전트용 코드 인터프리터 환경을 구축할 수 있는 Sandbox SDK 1.0을 정식 출시했습니다. Durable Object를 통한 샌드박스 컨테이너 직접 제어, 파일시스템 스냅샷, 최대 6배 빠른 콜드스타트를 지원합니다.
Cloudflare가 2026년 9월 30일(현지 시각), AI 에이전트를 위한 격리 코드 실행 환경을 제공하는 'Sandbox SDK 1.0'을 공식 배포했습니다. 이번 릴리즈는 클라우드플레어의 서버리스 상태 저장 컴포넌트인 듀러블 오브젝트(Durable Objects)와 재설계된 컨테이너(Containers) 인프라를 결합하여, AI 코딩 에이전트가 요구하는 즉각적인 인스턴스 프로비저닝과 상태 저장, 보안 격리를 엣지 런타임 수준에서 처리하도록 아키텍처를 전면 개편한 것이 핵심입니다.

이미지 출처: Cloudflare
기존 AI 에이전트 개발에서 가장 큰 병목은 코드 인터프리터(Code Interpreter) 환경의 느린 콜드스타트와 복잡한 세션 유지, 그리고 악의적인 스크립트 실행으로 인한 호스트 보안 침해 우려였습니다. 전통적인 클라우드 가상머신이나 사전 프로비저닝된 컨테이너 풀은 비용이 과도하거나 유휴 리소스 낭비가 컸습니다. Cloudflare Sandbox SDK 1.0은 이러한 문제를 해결하기 위해 사용자가 직접 작성한 Durable Object 클래스가 샌드박스 수명 주기를 직접 제어하고, 파일시스템 스냅샷을 통해 작업 상태를 즉시 저장·복원할 수 있는 네이티브 인터페이스를 확립했습니다.
Durable Object 기반 아키텍처와 런타임 동적 컨테이너 제어
Sandbox SDK 1.0의 가장 큰 구조적 변화는 Durable Object 클래스 내부에서 this.ctx.container API를 통해 각 샌드박스 컨테이너를 직접 생성하고 제어한다는 점입니다.
과거 0.x 버전에서는 컨테이너 이미지와 머신 사양이 사전 배포 구성에 정적으로 묶여 있어, 단일 애플리케이션 내에서 작업별로 다른 실행 환경을 유연하게 교체하기 어려웠습니다. 이번 1.0 아키텍처는 이를 완전히 탈피했습니다.
- 런타임 동적 프로비저닝: 애플리케이션 코드가 실행 중에 각 작업의 성격에 맞춰 컨테이너 이미지와 인스턴스 사양을 동적으로 지정할 수 있습니다. 예를 들어 가벼운 자바스크립트 스크립트 실행에는 경량 이미지를, 복잡한 파이썬 데이터 분석이나 빌드 작업에는 더 큰 규격의 이미지를 동일한 Durable Object 클래스에서 선택 기동할 수 있습니다.
- 무중단 애플리케이션 재배포: 상위 워커(Worker) 및 애플리케이션 코드를 새로 배포하더라도 현재 실행 중인 샌드박스 컨테이너가 강제로 종료되거나 리셋되지 않습니다. 장시간 소요되는 에이전트 작업 도중에도 제어 로직을 안전하게 업데이트할 수 있습니다.
- 세분화된 수명 주기 제어: 작업 완료, 사용자 유휴 상태 진입, 스냅샷 저장 완료 등 특정 이벤트 조건에 따라 컨테이너를 언제 중단할지 Durable Object 코드 단에서 명시적으로 결정할 수 있습니다.
- 표준 입출력 스트리밍 및 PTY 지원: 프로세스 명령 실행 시 실시간 입력/출력 스트리밍과 시그널 전송을 지원하며, 인간 검토자나 에이전트가 상호작용할 수 있는 가상 터미널(PTY), 백그라운드 프로세스, 실시간 개발 서버 프리뷰 URL을 공식 지원합니다.
파일시스템 스냅샷(퍼블릭 베타)과 648ms 초고속 TTI 벤치마크
에이전트가 대규모 리포지토리를 클론하고 라이브러리 의존성을 설치한 뒤, 사용자의 검토 피드백이나 다음 프롬프트를 기다리는 동안 컨테이너를 계속 켜두는 것은 심각한 비용 낭비로 이어집니다. 반대로 매번 환경을 처음부터 다시 빌드하는 것은 응답성을 크게 해칩니다.
Cloudflare는 이 문제를 해결하기 위해 '파일시스템 스냅샷(Filesystem Snapshots, 퍼블릭 베타)' 기능을 공식 도입했습니다.
- 디스크 상태의 즉각적인 영속화:
ctx.container.snapshotContainer()호출을 통해 에이전트가 수정한 코드, 다운로드한 패키지, 빌드 산출물을 불변(immutable) 스냅샷으로 즉시 저장합니다. - 스냅샷 기반 분기 및 복원: 저장된 스냅샷 식별자를 넘겨 동일한 샌드박스를 다시 깨우거나, 해당 스냅샷을 시작점으로 삼아 새로운 샌드박스를 복제 기동할 수 있습니다. 이는 서로 다른 AI 모델이나 프롬프트의 결과물을 동일한 베이스 환경에서 병렬로 테스트하고 비교할 때 매우 유용합니다.
- 최대 6배 빠른 콜드스타트: Cloudflare는 새로운
durable_object스케줄링 정책을 통해 컨테이너 시작 경로를 재설계했습니다. 스케줄러는 해당 Durable Object가 위치한 호스트의 가용 자원을 우선 탐색하고, 동일 리전 내에서 이미 베이스 이미지나 스냅샷이 캐시된 호스트를 우선 매칭합니다. - ComputeSDK 독립 벤치마크 검증: 100개의 샌드박스를 동시에 기동하는 독립 Burst TTI(Time-to-Interactive) 테스트에서, 상호작용 가능 시간의 중앙값(Median)이 기존 4.049초에서 648밀리초로 단축되었습니다. 상위 95번째 백분위수(p95) 지연 시간 역시 5.839초에서 910밀리초로 1초 미만 영역에 안착했습니다.
워커 계층 자격 증명 격리와 엔지니어링 마이그레이션 주의사항
보안과 운영 측면에서도 실제 프로덕션 도입 시 확인해야 할 구체적인 규칙과 제약 사항들이 존재합니다.
- 상위 계층 자격 증명 보관과 R2 연동: 외부 API 키, 데이터베이스 토큰, 인증 자격 증명은 상위 Worker 및 Durable Object 계층에서 엄격히 관리되며, 샌드박스 컨테이너 내부 쉘로 노출되지 않습니다. R2 스토리지 마운트 시에도 Worker가 각 스토리지 요청에 직접 서명하므로 컨테이너 내부 코드가 장기 자격 증명을 가로챌 수 없습니다.
- 아웃바운드 네트워크 정책 설정 필요: 토큰 노출을 차단하더라도, 샌드박스 내부의 아웃바운드 요청을 상위 Worker가 무제한 통과시키도록 구현할 경우 인가된 권한을 이용한 외부 서비스 조작 위험이 발생할 수 있습니다. 따라서 Worker 계층에서 호출 대상 도메인과 요청 범위를 화이트리스트로 제한하는 방어 조치가 수반되어야 합니다.
- 스냅샷의 휘발성 범위 인지: 파일시스템 스냅샷은 디스크 상의 파일만 보존하며, 메모리(RAM) 상태나 실행 중이던 백그라운드 프로세스는 저장하지 않습니다. 따라서 스냅샷에서 샌드박스를 복원한 후에는 개발 서버 프로세스 재실행 및 세션 재연결 작업이 수반되어야 합니다.
- 레거시 0.x 지원 종료 일정: 기존
Container및Sandbox클래스는 2026년 12월 31일까지만 버그 및 보안 패치가 유지됩니다. 신규 스냅샷과 동적 런타임 제어 API는 신규durable_object스케줄링 정책 환경에서만 제공됩니다. - 롤백 불가 마이그레이션 특성: 기존 배포를
durable_object스케줄링 정책으로 전환한 후에는wrangler rollback을 실행하더라도 0.x 버전에서 해당 클래스용 컨테이너를 다시 시작할 수 없습니다. 따라서 프로덕션 전환 전 스테이징 환경에서 충분한 검증을 거쳐야 합니다.
출처
- Cloudflare 개발자 변경 로그: Sandbox SDK 1.0: control every sandbox from your own Durable Object
- Cloudflare 공식 기술 블로그: Cloudflare Containers, rebuilt to scale agent sandboxes
- 원문 소셜 시그널: X (@mylifcc) Sandbox SDK 1.0 아키텍처 분석 스레드