E2B

E2B

E2B를 자체 호스팅 샌드박스 제공자로 사용하는 방법을 안내하는 가이드예요. 애플리케이션 관리 또는 웹훅 관리 모드로 E2B 샌드박스를 만들고 executor를 연결하는 방법을 배워요.

출처: 문서

본문

OpenAI Cookbook의 application-managed 및 webhook-managed 예시를 참고하세요.

프로비저닝 모드를 선택하세요:

  • Application-managed: 여러분의 애플리케이션이 E2B 샌드박스를 직접 만들고 연결해요.
  • Webhook-managed: OpenAI 웹훅에서 샌드박스를 시작하거나 다시 연결하는 핸들러를 배포하세요.

두 모드를 비교하려면 Sandbox lifecycle을 참고하세요.

시작하기 전에

E2B_API_KEY를 설정하고 애플리케이션 요청에는 OPENAI_API_KEY를 사용하세요. OPENAI_EXECUTOR_API_KEY를 environment key로 설정하고, 그 키만 CODEX_API_KEY로 샌드박스에 전달하세요.

웹훅 관리

OpenAI 웹훅을 검증하고 각 세션에 대해 별도의 E2B 워커를 프로비저닝하는 컨트롤러를 구현하세요. 자격 증명, 엔드포인트 등록, 서명 검증은 Deploy and connect a handler를 따르세요.

세션-샌드박스 매핑을 유지하세요. 연결 요청 시 일시 중지된 워커를 재개하거나 삭제된 것을 교체하세요. 일시 중지는 파일을 보존하지만 교체는 그렇지 않아요. 컨트롤러와 워커에 실행 타임아웃을 설정하고, 컨트롤러 사용을 중단할 때 OpenAI 웹훅을 제거하세요.

애플리케이션 관리

애플리케이션에서 E2B SDK 또는 API를 사용해 샌드박스를 관리하세요:

  1. self-hosted session을 만들고 환경 ID를 저장하세요.
  2. 세션의 작업 디렉토리로 격리된 E2B 샌드박스를 만들고 그 안에 Codex CLI를 설치하세요.
  3. 환경 ID와 환경 키로 샌드박스에서 executor를 시작하세요.
  4. Run and continue sessions을 사용해 입력을 보내고 턴 결과를 확인하세요.
  5. 작업이 끝나면 세션을 삭제하고 E2B 샌드박스를 중지하세요.

샌드박스 수명을 executor 명령의 타임아웃과 별도로 설정하세요. 타임아웃이 없는 명령은 만료된 샌드박스를 계속 실행 상태로 두지 않아요.

참고 자료

더 알아보기 (Learn more)

관련 문서: 자체 호스팅 샌드박스와 샌드박스 수명 주기를 참고하세요.