Claude 자체 호스팅 가능할까? 정직한 답변
Claude는 모델 가중치를 공개하지 않아 자체 서버에서 실행할 수 없습니다. 대신 로컬 open model, API gateway, VPS에서 실행하는 Claude Code를 명령어와 함께 설명합니다.
Claude를 자체 호스팅할 수 있습니까? 아니요. 그 이유는 다음과 같습니다
Claude를 자체 호스팅할 수 없습니다. Anthropic은 모델 가중치를 공개하지 않으므로 다운로드할 파일도, 실행할 컨테이너도, 자체 하드웨어에서 서비스를 제공할 수 있게 해 주는 라이선스도 없습니다. 모든 Claude 요청은 Anthropic의 API 또는 Amazon Bedrock, Google Vertex AI, Microsoft Foundry와 같은 호스팅 파트너로 전송됩니다. 소유한 시스템에서 Claude를 실행하지 못하는 것은 구성 문제가 아닙니다. Anthropic 외부에는 해당 아티팩트가 존재하지 않습니다.
이것이 짧은 답변입니다. 더 자세히 설명하면, 이 질문을 하는 대부분의 사람은 실제로 모델 가중치를 원하는 것이 아닙니다. 이들은 자신이 제어하는 서버에서 구현할 수 있는 다음 세 가지 중 하나를 원합니다. 로컬에서 실행되는 유능한 모델, API 키를 보관하고 지출 한도를 설정하는 게이트웨이, 또는 노트북이 아니라 자신의 시스템에서 실행되는 코딩 에이전트입니다. 이 가이드에서는 명령어와 함께 세 가지 방법을 모두 설명합니다.
"self-hosted Claude"가 일반적으로 의미하는 것
"self hosted Claude"에 대한 검색 수요는 몇 가지 서로 다른 요구로 나뉘며, 요구에 따라 답변도 달라집니다.
일부 사용자는 개인정보 보호를 원합니다. 프롬프트가 자신의 네트워크 밖으로 나가는 것을 원하지 않습니다. 이 경우에는 로컬 open weight 모델만 해결책이 됩니다. 모든 Claude 요청은 정의상 Anthropic에 대한 요청이기 때문입니다.
일부 사용자는 비용을 통제하려고 합니다. 제어되지 않는 agent가 크레딧을 과도하게 사용할까 우려합니다. gateway를 사용하면 이 문제를 해결할 수 있으며, Claude와 함께 작동하므로 모델 품질도 유지할 수 있습니다.
일부 사용자는 laptop에 대한 의존성을 없애려고 합니다. 노트북 덮개를 닫은 뒤에도 agent가 계속 작동하기를 원합니다. VPS를 사용하면 이 요구를 충족할 수 있으며, Claude Code도 VPS에서 문제없이 실행됩니다.
일부 사용자는 "self hosted OpenRouter"를 원합니다. 이 경우에도 gateway가 필요하며, 일반적인 답은 LiteLLM입니다.
자신이 어느 경우에 해당하는지 먼저 파악해야 합니다. 경우마다 적합한 구축 방식이 다릅니다.
Ollama로 오픈 모델 자체 호스팅
어떤 프롬프트도 서버 밖으로 나가면 안 된다면 오픈 웨이트 모델을 실행합니다. 현재 임대 서버에서 실제로 사용할 수 있는 모델 제품군은 Llama, Qwen, Mistral, Gemma, DeepSeek입니다. 모두 다운로드하여 실행할 수 있는 가중치를 공개합니다.
Ollama는 가장 빠르게 시작할 수 있는 방법입니다. 설치 스크립트는 한 줄이며 Ubuntu에서 systemd 서비스를 설정합니다.
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollamasystemctl status ollama은 active (running)을 출력해야 합니다. 그런 다음 모델을 가져와 대화합니다.
ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."처음 pull을 실행하면 수 GB를 다운로드하므로, 모델이 응답하려면 먼저 RAM 또는 GPU 메모리에 모델이 들어가야 합니다. 양자화된 모델의 대략적인 기준은 다음과 같습니다. 80억 파라미터 모델에는 약 6 GB의 여유 메모리가 필요하고, 140억 파라미터 모델에는 약 10 GB가 필요합니다. 700억 파라미터 모델에는 대부분의 범용 VPS 요금제가 제공하는 것보다 많은 메모리가 필요합니다. 서버의 메모리가 부족하면 커널이 프로세스를 종료합니다. 이때 Error: llama runner process has terminated이 표시되고 dmesg에 메모리 부족 행이 기록됩니다. 모델을 의심하기 전에 free -h을 확인합니다.
Ollama는 127.0.0.1:11434에서 HTTP API도 제공합니다. 따라서 단순한 채팅 도구가 아니라 다른 소프트웨어에서도 사용할 수 있습니다.
curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'해당 포트는 localhost에 바인딩된 상태로 유지합니다. 공용 IP에서 Ollama 포트를 열어 두면 이를 찾은 누구나 무료 GPU처럼 사용할 수 있습니다. systemd 유닛, GPU 감지, reverse proxy 설정을 포함한 전체 구성은 VPS에서 Ollama를 실행하는 가이드에서 설명합니다. 한 번에 둘 이상의 사용자를 처리한다면 먼저 Ollama와 vLLM 비교를 읽습니다. Ollama의 단일 스트림 설계는 하드웨어가 한계에 도달하기 훨씬 전에 병목이 되기 때문입니다.
한계를 정확히 이해해야 합니다. 중간급 VPS에서 실행하는 우수한 오픈 모델은 요약, 분류, 초안 작성, 간단한 추출 작업에 실제로 유용합니다. 그러나 긴 다단계 추론, 대규모 코드베이스, 에이전트 방식의 도구 사용에서는 frontier 호스팅 모델에 미치지 못합니다. 프롬프트를 아무리 조정해도 이 차이를 없앨 수 없습니다. 로컬 모델은 잘 처리하는 작업에 사용하고, 작업이 어려운 경우에는 호스팅 모델에 비용을 지불합니다.
LiteLLM으로 직접 게이트웨이 실행
많은 사람이 찾는 "self hosted OpenRouter"가 바로 이것입니다. 게이트웨이는 애플리케이션과 모든 모델 공급자 사이에 위치합니다. 애플리케이션은 서버를 가리키는 하나의 키만 보유합니다. 실제 공급자 키는 해당 서버에만 저장됩니다. 키별 지출 한도를 설정하고, 애플리케이션마다 다른 모델로 라우팅하며, 모든 요청을 한곳에서 기록할 수 있습니다.
LiteLLM이 일반적으로 선택되는 이유는 OpenAI 호환 API를 제공하고, 동일한 엔드포인트를 통해 Anthropic, Ollama 및 대부분의 다른 공급자에 프록시하기 때문입니다. 구성 파일을 사용해 Docker에서 실행합니다.
model_list:
- model_name: claude
litellm_params:
model: anthropic/claude-sonnet-5
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: local
litellm_params:
model: ollama/qwen3:8b
api_base: http://127.0.0.1:11434이를 litellm_config.yaml로 저장하고 프록시를 시작합니다. 프록시는 port 4000에서 수신 대기합니다.
docker run -v $(pwd)/litellm_config.yaml:/app/config.yaml \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
-e LITELLM_MASTER_KEY=sk-1234 \
-p 4000:4000 docker.litellm.ai/berriai/litellm:latest \
--config /app/config.yamlLITELLM_MASTER_KEY은 관리자 자격 증명이므로 root password처럼 취급하고 예시 값을 그대로 사용하지 마십시오. 호스팅 API를 호출할 때와 정확히 같은 방식으로 프록시를 호출합니다.
curl http://localhost:4000/v1/chat/completions \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{"model": "claude","messages": [{"role": "user","content": "Say hello in five words."}]}'정상 응답은 choices 배열을 포함하는 일반적인 JSON입니다. 401은 Authorization header가 master key와 일치하지 않는다는 뜻입니다. 모델 이름을 포함한 400은 요청의 model이 구성 파일의 어떤 model_name과도 일치하지 않는다는 뜻입니다.
Anthropic을 직접 호출하지 않고 이를 구축하는 이유는 지출 한도에 있습니다. 애플리케이션마다 별도의 virtual key를 발급하고, 각 키에 자체 예산을 할당합니다.
curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["claude"], "max_budget": 100}'해당 키는 100달러까지 지출하고 하나의 모델에만 접근할 수 있으며, 다른 작업은 수행할 수 없습니다. 새벽 3시에 agent가 오작동해도 영향 범위는 전체 계정이 아니라 하나의 키로 제한됩니다. 이 패턴과 이에 대한 monitoring은 VPS에서 agent 비용을 통제하는 방법에서 설명합니다. token 단위로 비용을 지불할지 아직 결정하지 못했다면 API와 subscription 비용 비교에서 계산 과정을 확인할 수 있습니다.
게이트웨이가 하지 않는 작업도 알아야 합니다. 게이트웨이는 Claude를 local로 만들지 않으며, Anthropic에서 prompt를 숨기지도 않습니다. 요청은 여전히 provider를 위해 서버를 떠납니다. 게이트웨이를 사용하면 키, 지출, 라우팅 및 log를 제어할 수 있습니다.
자체 VPS에서 Claude Code 실행
세 번째 요구 사항은 가장 쉽게 충족할 수 있습니다. Claude Code는 클라이언트입니다. Node.js를 설치할 수 있는 곳이면 어디서든 실행되며, HTTPS를 통해 API와 통신합니다. 직접 소유한 서버에 설치하면 노트북을 종료한 후에도 에이전트가 계속 작업할 수 있습니다. 또한 에이전트의 영향 범위를 주 컴퓨터가 아니라 다시 구축할 수 있는 서버로 제한할 수 있습니다.
npm install -g @anthropic-ai/claude-code
claude --versiontmux 내부에서 실행해야 SSH 연결이 끊겨도 장시간 실행되는 작업이 종료되지 않습니다. 세션 처리를 포함한 이 설정은 tmux를 사용하여 VPS에서 Claude Code 실행에서 설명합니다. 에이전트 전용 비특권 사용자를 만들고, 중요한 데이터에 대한 쓰기 권한을 부여하기 전에 서버에서 Claude Code를 실행하기 위한 안전 규칙을 읽으십시오.
이는 모델을 자체 호스팅하는 것이 아니라 에이전트를 자체 호스팅하는 것입니다. 많은 사람이 이 둘을 혼동하므로 이 차이를 정확히 이해해야 합니다. 프로세스, 파일 시스템, 네트워크 송신 트래픽, 로그는 사용자가 관리합니다. 추론은 여전히 Anthropic이 관리합니다.
각 옵션의 실제 비용
가격은 변동하므로, 아래 수치는 견적이 아니라 대략적인 비용 구조로 보아야 합니다. 2026년 7월 기준으로 Claude Sonnet 5의 요금은 입력 토큰 1백만 개당 $3, 출력 토큰 1백만 개당 $15입니다. Claude Opus 5는 각각 $5와 $25입니다. 로컬 모델은 토큰당 비용이 없습니다. 대신 사용하지 않을 때도 계속 실행되는 서버의 월 비용이 발생합니다.
손익분기점은 예상보다 낮습니다. 유용한 오픈 모델을 실행할 만큼 메모리가 충분한 VPS에는 매월 실제 비용이 발생하며, 대부분의 시간에는 유휴 상태로 남습니다. 사용량이 간헐적으로 급증하는 형태라면 호스팅 API가 대체로 더 저렴합니다. 사용량이 지속적이거나 데이터를 네트워크 밖으로 내보낼 수 없다면 로컬 모델이 두 가지 측면 모두에서 유리합니다.
대부분의 팀이 최종적으로 선택하는 답은 혼합 방식입니다. 처리량이 높고 난도가 낮은 작업에는 오픈 모델을 로컬에서 실행합니다. 어려운 요청은 호스팅 프런티어 모델로 전달합니다. 두 모델 앞에 게이트웨이를 배치하면 애플리케이션이 어느 모델을 사용하는지 알 필요가 없고, 애플리케이션 코드를 수정하지 않고도 두 모델 간의 분배 기준을 변경할 수 있습니다. 이 아키텍처가 "self hosted Claude"의 실용적인 형태입니다. 문자 그대로의 형태와 달리, 실제로 구현할 수 있습니다. 에이전트 스택 전체도 직접 실행하려면 self-hosted AI 에이전트 정리에서 사용 가능한 옵션을 확인할 수 있습니다.
FAQ
Claude의 모델 가중치를 다운로드하여 로컬에서 실행할 수 있습니까?
아니요. Anthropic은 어떤 Claude 모델의 가중치도 출시한 적이 없으며, 자체 호스팅을 허용하는 라이선스도 없습니다. 온라인에서 다운로드할 수 있는 "Claude model"로 광고되는 것은 이름을 오해하게 만든 다른 모델이거나 API를 호출하는 래퍼입니다. API key가 필요하다면 로컬 실행이 아닙니다.
Claude에 가장 가까운 오픈 모델은 무엇입니까?
정확히 일치하는 모델은 없으며, 선두 모델은 몇 달마다 바뀝니다. 테스트할 가치가 있는 open weight 계열은 Llama, Qwen, Mistral, Gemma, DeepSeek입니다. 요약, 분류, 간단한 코드 수정에서는 8에서 14 billion parameters 규모의 우수한 open model이 실제로 유용합니다. 긴 다단계 추론과 agentic tool 사용에서는 hosted frontier model과의 격차가 여전히 큽니다. leaderboard를 그대로 신뢰하지 말고 자체 프롬프트로 테스트하십시오.
LiteLLM은 자체 호스팅하는 OpenRouter입니까?
라우팅과 key 관리 측면에서는 기능적으로 그렇습니다. LiteLLM은 서버에서 실행되고, 하나의 OpenAI compatible endpoint를 제공하며, Anthropic, Ollama 및 대부분의 다른 provider로 요청을 proxy합니다. key별 spend cap, model routing, log를 확인할 단일 위치를 사용할 수 있습니다. 그러나 local inference를 제공하는 것은 아닙니다. Claude에 대한 요청은 여전히 Anthropic으로 전송됩니다.
자체 서버에서 Claude Code를 실행하면 코드가 비공개로 유지됩니까?
아니요. Claude Code는 프로세스가 어디에서 실행되는지와 관계없이 읽은 파일 내용을 Anthropic API로 전송합니다. VPS가 제공하는 것은 agent의 격리이지 콘텐츠의 비공개성이 아닙니다. 전용 unprivileged user를 할당하고, credentials와 관련 없는 repository에 접근하지 못하게 하며, 해당 agent가 읽을 수 있는 모든 내용을 서버 외부로 전송되는 콘텐츠로 간주하십시오.