블로그 · 가이드 · 2026년 10월 28일
Firecracker로 AEGIS 자체 호스팅하기: 문서가 설명하는 설정, 그리고 지금 실행되는 것
공개: AEGIS는 100monkeys.ai가 만들고 있으므로 이 가이드는 만든 쪽의 설명으로 읽어 주세요. 이 가이드는 저희 AI 에이전트 하나가 공개 AEGIS 문서(영어), 주로 Firecracker Deployment, What are Agents?, Infrastructure Requirements, Podman Deployment를 바탕으로 초안을 쓰고 회사가 검토했으며, 이 한국어판은 영어 원문 가이드의 번역입니다. 모든 명령과 설정 블록은 그 페이지들에서 그대로 복사했고, 인용은 영어 원문 옆에 번역을 붙였습니다. 이 가이드를 위해 그중 어느 것도 실행하지 않았습니다.
AEGIS by 100monkeys.ai, in beta는 자율 에이전트를 위한 자체 호스팅 오케스트레이터입니다. 문서는 강화된 운영 환경의 격리로 Firecracker microVM을 설명합니다. 하드웨어를 사기 전에 그 페이지의 첫 줄을 읽으세요. "Firecracker support is planned for a future release and is not yet available. The Docker and Podman runtimes are the current deployment targets."(Firecracker 지원은 향후 릴리스로 계획되어 있으며 아직 제공되지 않습니다. 현재 배포 대상은 Docker와 Podman 런타임입니다.) 이 가이드는 지금 할 수 있는 일을 다룹니다. 호스트를 확인하고, 계획된 런타임에 대해 문서화된 설정을 읽고, 지금 출시된 Podman 경로를 실행합니다.
왜 Firecracker인가, 문서의 말로
"Docker containers share the host kernel: a container escape vulnerability could give a malicious prompt-injected agent code execution on the host. Firecracker provides hardware-level isolation via KVM."(Docker 컨테이너는 호스트 커널을 공유합니다. 컨테이너 탈출 취약점이 있으면 프롬프트 주입을 당한 악의적인 에이전트가 호스트에서 코드를 실행할 수 있습니다. Firecracker는 KVM을 통해 하드웨어 수준의 격리를 제공합니다.) 페이지의 비교표는 각 에이전트에 "a dedicated guest kernel per agent"(에이전트마다 전용 게스트 커널)를 주고, 탈출 시 피해 범위를 "bounded to single microVM"(microVM 하나로 제한)하며, 컨테이너가 NFS를 쓰는 곳에서 virtio-fs, 즉 "shared memory, no network"(공유 메모리, 네트워크 없음)로 저장소를 제공합니다. 페이지가 밝히는 대가는 컨테이너의 약 100 ms에 비해 약 125 ms의 부팅 시간입니다.
설계는 런타임이 바뀌어도 에이전트를 그대로 둡니다. "Switching a node from Docker to Podman or Firecracker requires only a config change: no agent manifest changes needed."(노드를 Docker에서 Podman이나 Firecracker로 바꾸는 데는 설정 변경만 필요합니다. 에이전트 매니페스트는 바꿀 필요가 없습니다.) 그래서 지금 준비하는 일이 헛되지 않습니다.
1단계. 호스트의 KVM 확인하기
Firecracker에는 KVM이 필요하며, 문서에 따르면 이는 "bare-metal Linux servers with Intel VT-x or AMD-V CPU virtualization extensions"(Intel VT-x나 AMD-V CPU 가상화 확장이 있는 베어메탈 Linux 서버), 또는 베어메탈이거나 중첩 가상화를 지원하는 클라우드 인스턴스를 뜻합니다. "NOT supported on standard EC2 instances without bare-metal, most VMs (including standard VMs on most cloud providers), and macOS (Docker Desktop)."(베어메탈이 아닌 표준 EC2 인스턴스, 대부분의 VM(대부분 클라우드 제공자의 표준 VM 포함), macOS(Docker Desktop)에서는 지원되지 않습니다.) 문서의 확인 방법을 그대로 옮깁니다.
# Check for KVM device nodes
ls -la /dev/kvm
# Verify CPU virtualization extensions
grep -cw vmx /proc/cpuinfo # Intel (should return > 0)
grep -cw svm /proc/cpuinfo # AMD (should return > 0)
클라우드 VM에 /dev/kvm이 없다면, 그 호스트는 다른 무엇을 갖추었든 Firecracker 런타임이 출시되어도 실행할 수 없습니다.
2단계. 커널 확인하기
uname -r을 실행하고 문서와 비교하세요. 두 페이지가 두 가지 최소 버전을 제시합니다. What are Agents?는 "Bare-metal or KVM-passthrough host, Linux kernel 5.10+"(베어메탈 또는 KVM 패스스루 호스트, Linux 커널 5.10 이상)를, Infrastructure Requirements는 "KVM support for Firecracker (planned later phase)"(Firecracker용 KVM 지원(이후 단계로 계획))와 함께 "Linux kernel 5.15+"(Linux 커널 5.15 이상)를 나열합니다. 5.15 이상으로 계획하면 둘 다 만족합니다.
3단계. 문서화된 설정 읽기
계획된 런타임은 aegis-config.yaml의 runtime.firecracker 아래에서 설정합니다. 페이지의 블록을 그대로 옮깁니다.
runtime:
type: firecracker
firecracker:
# Path to the jailer binary
jailer_binary: /usr/local/bin/jailer
# Path to the Firecracker VMM binary
firecracker_binary: /usr/local/bin/firecracker
# User/group for the jailed process
uid: 65534 # nobody
gid: 65534
# Kernel image for microVMs
kernel_image_path: /opt/aegis/vmlinux
# Root filesystem for agent microVMs (minimal Linux + Python)
rootfs_path: /opt/aegis/agent-rootfs.ext4
# CPU and memory limits
vcpu_count: 2
mem_size_mib: 512
# cgroup version (v1 or v2)
cgroup_version: v2
호스트에 무엇을 요구하는지 읽으세요. jailer와 Firecracker 바이너리, 권한 없는 uid와 gid, 게스트 커널 이미지, 에이전트 루트 파일 시스템, 그리고 VM별 CPU와 메모리입니다. jailer는 "drops privileges before starting the VMM"(VMM을 시작하기 전에 권한을 내려놓습니다). chroot 감옥, 미리 만든 tap 인터페이스와 cgroup, 그리고 seccomp 필터입니다. 각 microVM은 자기 tap 장치를 받으며, "outbound traffic from the microVM is routed through the orchestrator proxy (SEAL), not directly to the internet."(microVM에서 나가는 트래픽은 인터넷으로 바로 가지 않고 오케스트레이터 프록시(SEAL)를 거칩니다.)
이 블록을 지금 배포하지 마세요. 문서는 커널 이미지와 루트 파일 시스템이 어디서 오는지 말하지 않으며, 그것을 읽는 런타임은 "in development"(개발 중)라고 설명됩니다.
4단계. 지금은 Podman으로 AEGIS 실행하기
지금의 운영 환경에 대해 문서는 aegis-deploy 저장소를 가리킵니다. "aegis-deploy is the recommended production deployment path. It includes OpenBao (secrets management), TLS via Caddy, and full observability."(aegis-deploy는 권장되는 운영 배포 경로입니다. OpenBao(비밀 관리), Caddy를 통한 TLS, 완전한 관측성을 포함합니다.) 그 빠른 시작을 그대로 옮깁니다(명령 안의 주석은 원문 그대로입니다).
# Clone the deployment repo
git clone https://github.com/100monkeys-ai/aegis-deploy.git
cd aegis-deploy
# Copy and edit environment configuration
cp .env.example .env
# Edit .env with your values (GHCR credentials, passwords, LLM API keys)
# Install system dependencies (Ubuntu)
make setup
# Authenticate with GitHub Container Registry
make registry-login
# Generate SEAL signing keys
make generate-keys
# Deploy the full stack
make deploy PROFILE=full
# Validate all services are healthy
make validate
# Bootstrap secrets
make bootstrap-secrets
Podman은 에이전트를 rootless로 실행하며, 문서는 그 덕분에 "the privileged daemon"(권한 있는 데몬)이 없어지고 컨테이너의 root가 "to an unprivileged host UID"(권한 없는 호스트 UID로) 매핑된다고 말합니다. 한 대의 머신에서 평가하려면, 100monkeys.ai에 적힌 한 줄 설치 명령은 curl -fsSL https://get.100monkeys.ai | bash이며, 이는 로컬 Docker 스택을 띄웁니다. 문서는 그 스택을 "for local testing and evaluation only"(로컬 테스트와 평가 전용)로 표시합니다.
5단계. 전환을 설정 변경 하나로 유지하기
격리 방식을 고정하지 않고 에이전트 매니페스트를 써서, 노드가 결정하게 하세요. 매니페스트 필드 isolation은 inherit, firecracker, docker, process를 받고, 기본값은 inherit, 즉 "from node config"(노드 설정에서)입니다. 설정 레퍼런스의 예시는 노드의 default_isolation을 docker로 두는데, 이 값은 "works with both Docker and Podman runtimes"(Docker와 Podman 런타임 모두에서 작동합니다). Firecracker가 출시되면, 바꿀 것은 각 에이전트가 아니라 노드입니다.
6단계. 진행 상황 지켜보기
페이지는 이렇게 끝납니다. "Monitor progress on Firecracker support in the aegis-orchestrator GitHub repository."(Firecracker 지원의 진행 상황은 aegis-orchestrator GitHub 저장소에서 지켜보세요.) 런타임을 담은 릴리스가 나오면 그곳에서 이름이 붙습니다.
문서가 열어 둔 것
- Firecracker 지원의 날짜나 버전.
- 게스트 커널(
vmlinux)과 에이전트 루트 파일 시스템이 어디서 오며 어떻게 빌드하는지. - 최소 커널: 한 페이지에서는 5.10, 다른 페이지에서는 5.15.
- 다른 페이지들은 여전히 "not yet available"(아직 제공되지 않음) 경고 없이 Firecracker를 강화된 운영 런타임으로 설명하므로, Firecracker 페이지 자체를 현재의 공식 입장으로 읽으세요.
다음
평가용 스택을 설치하고 승인 뒤에서 첫 에이전트를 실행하려면 새 Ubuntu VPS에 AEGIS를 설치하고 첫 번째 승인 작업 실행하기를 읽으세요.