2026 OpenClaw 실전: 임대 원격 Mac에서 다중 프로젝트 스킬 패키지별 API 예산·퓨즈·디그레이션

2026년 4월 2일 · 약 7분 · MacCompute 기술팀 · 가이드

임대 원격 Mac에서 OpenClaw 다중 스킬은 용량·지출 공유 문제입니다. 게이트웨이 우선 예산, 테넌트·프로젝트 독립 카운터, 퓨즈·디그레이션 표, 감사 로그로 재현 가능하게 묶으세요. 전제: 배포·하드닝, Ollama 라우팅, 샌드박스·출구. 본문은 토큰·예산·장애 격리입니다.

① 예산 모델과 카운트 차원

모든 이벤트에 로그 귀속 차원을 붙입니다. 임대 공유에서는 정산·벤더 급증 대응의 기준이 됩니다.

  • 테넌트tenant=… (CI·세션에서 고정 전달).
  • 프로젝트·스킬 패키지project·pack별 카운터로 상호 도탈 방지.
  • 업스트림 면 — 채팅·임베딩·도구·로컬 모델을 버킷 분리해 디그레이션 정밀도 확보.
  • 시간 창 — 버스트(분/10초) + 일·시간 예산을 병행.
  • 단위 — 요청·도구 호출·추정 USD·벤더 토큰 중 경로당 하나; 혼합 시 병렬 시리즈.

집행은 스킬 내부가 아니라 OpenClaw 앞 프록시·게이트웨이·사이드카. 스킬에는 단기·최소 권한 자격만. 멀티 워커는 Redis 등 공유 백엔드.

② 설정 파일·환경 변수 템플릿

compose·plist 옆에 템플릿 커밋, 비밀은 호스트 env만. 아래는 예시명—실제 게이트웨이에 매핑.

.env.budget.example(외부 공유 전 삭제):

# Counter backend
BUDGET_REDIS_URL=redis://127.0.0.1:6379/0
BUDGET_KEY_PREFIX=oc:gw:2026

# Defaults when a client does not supply a project header
BUDGET_DEFAULT_TENANT=shared-lab
BUDGET_DEFAULT_PROJECT=misc

# Per-tenant daily cap (USD estimate from provider headers or your tariff table)
BUDGET_TENANT_DAILY_USD_MAX=200
BUDGET_PROJECT_DAILY_USD_MAX=50

# Burst: requests per minute per (tenant, project)
BUDGET_RPM_BURST=60

# Fuse: error rate window
FUSE_WINDOW_SEC=60
FUSE_ERROR_RATIO_OPEN=0.5
FUSE_COOLDOWN_SEC=120

# Audit
BUDGET_LOG_SAMPLE_RATE=1.0
BUDGET_LOG_REDACT_HEADERS=Authorization,X-Api-Key

최소 권한: 테넌트·CI 저장소별 벤더 키 + 게이트웨이 메타 매핑. 게이트웨이 토큰(포트 18789)은 전송 인증만—벤더 키·청구 토큰과 분리 기록.

엣지 헤더 계약: X-Tenant-Id, X-Project-Id 필수(프로덕션 누띡 거절).

③ 퓨즈와 디그레이션 전략 표

퓨즈=비정상·비경제 구간 개방, 디그레이션=그동안의 동작. 표를 미리 고정합니다.

조건(퓨즈 트립) 탐지 디그레이션 동작 감사 로그 필드
프로젝트 일일 USD > 상한 사용량 헤더 또는 요금표 기반 롤링 합 HTTP 429 + Retry-After; 선택 비동기 재생 큐 tenant, project, window, spent, cap
버스트 RPM 초과 키별 슬라이딩 카운터 차단: 우선순위 낮은 경로 클래스부터(예: 선택 요약) route_class, rpm, limit
업스트림 5xx·타임아웃 연속 FUSE_WINDOW_SEC 내 비율 퓨즈 개방: 캐시 답·로컬 모델·정적 “디그레이션 모드”로 단락 error_ratio, upstream, fuse_state
테넌트 전역 상한(다중 프로젝트) 테넌트 ID 하위 프로젝트 합산 해당 테넌트만 하드 스톱, 다른 테넌트는 유지 tenant_spend, projects_included
Mac 디스크·큐 압박 로컬 지표(스크래치 볼륨, launchd 잡 깊이) 동시성 축소; 비-CI 트래픽 클래스 일시 정지 host, metric, action

닫힌 뒤 하프오픈 탐침으로 복구; 전환 로그는 사고 분석용. 재활용 임대 디스크는 장기 로컬 이력에 의존하지 말 것.

④ CI 호출 빈도와의 협조

CI는 매트릭·정각 크론으로 버스트를 동시에 깹니다.

  • CI 전용 키tenant=ci·저장소 project; 필요 시 일일 USD를 대화형보다 타이트하게.
  • 지터 — 정각 크론 지양, 오프셋·동시성 그룹.
  • 멱등Idempotency-Key/SHA로 429 재시도 이중 과금 방지.
  • 레인 분리 — 빌드 vs LLM 배치는 노드 또는 시간대 분리.

YAML concurrency·수동 디스패치로 게이트웨이 하드 상한 아래 목표를 유지.

⑤ 초과 한도 FAQ

Q: 카운터와 청구가 불일치?
A: 게이트웨이 우회(로컬 스크립트·다른 컨테이너·노트북 동일 조직 키) 점검 후 키 순환, 프로덕션은 집계 경로만.

Q: 한 프로젝트만 429?
A: 프로젝트 캡 설계대로일 수 있음. 상한 조정 또는 전용 키·별도 시리즈.

Q: 임베딩+채팅 한 버킷?
A: 경쟁을 원할 때만; 보통 분리 권장.

Q: 감사 로그 한 줄?
A: UTC, tenant/project, 도구·경로, allow|deny_budget|fuse_open, 비용·토큰 델타, 상관 ID, 정책 버전; 비밀 마스킹.

Q: Redis 장애?
A: fail-closed vs fail-open을 런북에 명시(임대 랩은 근무 시간 폐쇄+알림이 흔함).

Q: 스킬 안에 카운터?
A: 비권장—게이트웨이·프록시 집결이 감사·최소 권한에 유리.

Q: 한 테넌트가 공용 퓨즈만 연다?
A: 테넌트 하위 카운터·선택 전역 상한; 개방 시 기여도 로그.

Q: CI가 일일 쿼터를 빨리 소진?
A: CI 전용 키(분당↑·일일↓), 별도 노드, 동시성·429 백오프.

정리

라벨된 예산·게이트웨이 집행·퓨즈 표·감사 로그·최소 권한 키·CI 분리가 다중 스킬 OpenClaw 임대 운영의 골격입니다.

지연이 병목이면 상한 완화보다 연산(노드) 확장을 우선 검토하세요. 가격·구매에서 Mac mini M4 티어를 로그인 없이 확인할 수 있고, 지원은 도움말입니다.

24/7 게이트웨이는 전용·임대 Mac에 두는 것이 안정적입니다. 카운터·사이드카를 노트북·가정 회선에서 분리하세요.

가격·구매 페이지는 계정 없이도 열람할 수 있으며, 해당 플로우에서만 로그인이 필요합니다.

빠른 구매