광고 자리 모집 중 · 제휴 문의

엔터프라이즈 관리자가 JetBrains AI Enterprise를 구성하여 Chat 요청을 온프레미스 OpenAI 호환 모델로 라우팅하는 방법

365Finds Editorial
Wiki 문서 11,430편 수록

내 AI에서 365 Wiki 사용하기

아래 프롬프트를 복사해 평소 사용하는 AI에 붙여넣고 바로 질문하세요.

전체 Skill 다운로드

먼저 프롬프트로 체험해 보세요. 365 Wiki를 자주 쓴다면 전체 365Wiki Skill을 설치해 매번 붙여넣는 수고를 줄일 수 있습니다. 평소 쓰는 AI가 없다면 Gemini나 Microsoft Copilot 웹 버전도 사용할 수 있습니다.

금융, 방산, 의료 및 국가 핵심 인프라 등 규제 준수가 필수적인 기업 환경에서는 AI 개발 보조 도구를 도입할 때 엄격한 컴플라이언스 장벽에 부딪히게 됩니다. GDPR, PCI-DSS, 정보 유출 방지(DLP) 규정 등은 기업의 독점 소스 코드와 비즈니스 로직을 외부 퍼블릭 멀티테넌트 대규모 언어 모델(OpenAI, Anthropic Claude 등)로 전송하는 것을 엄격히 금지하고 있습니다.

이러한 문제를 해결하기 위해 JetBrains는 중앙 집중식 엔터프라이즈 관리 플랫폼인 JetBrains IDE Services를 통해 구동되는 JetBrains AI Enterprise를 제공합니다. 기업 관리자는 사내망 또는 물리적 망분리(Air-Gapped) 환경에 IDE Services를 구축하여 vLLM, llama.cpp, LM Studio 또는 자체 AI 게이트웨이 기반의 온프레미스 OpenAI 호환 엔드포인트를 중앙에서 등록하고, 개발자의 JetBrains AI Assistant 채팅 요청을 사내 프라이빗 인프라로만 라우팅할 수 있습니다.

본 가이드에서는 JetBrains IDE Services에서 온프레미스 OpenAI 호환 엔드포인트를 등록하고, 프로필(Profiles)을 통해 개발자 환경에 정책을 배포하며, 소스 코드 유출을 원천 차단하는 사내 AI 코딩 허브 구축 방법을 단계별로 설명합니다.


아키텍처 분리: AI Chat과 코드 완성의 이원화 구조

엔드포인트를 설정하기 전에, 관리자는 JetBrains AI 제품군이 제공하는 핵심 기능의 트래픽 분리 구조를 이해해야 합니다.

  1. 대화형 AI Chat 및 컨텍스트 작업: 코드 설명, 리팩터링 제안, 단위 테스트 생성, 커밋 메시지 작성 등의 대화형 작업은 표준 OpenAI 호환 HTTP API(/v1/chat/completions)를 통해 대형 언어 모델과 통신합니다. 엔터프라이즈 관리자는 이 트래픽을 사내 사설 GPU 인프라에서 실행 중인 오픈소스 코딩 모델(예: Qwen 2.5 Coder, Llama 3.3, DeepSeek Coder)로 자유롭게 지정할 수 있습니다.
  2. 네이티브 인라인 코드 자동 완성: 단일 행 및 여러 행 코드 자동 완성은 밀리초 단위의 극히 낮은 지연 시간을 요구합니다. 완전 격리 인프라 환경에서 JetBrains AI Enterprise는 사내 전용 NVIDIA GPU 서버(L40, H100, H200 등)에 온프레미스로 설치되는 JetBrains Mellum 완성 엔진을 활용하여 사내망 내부에서 코드 완성을 처리합니다.

Chat용 온프레미스 OpenAI 호환 모델과 코드 완성용 사내 Mellum 인스턴스를 함께 구성함으로써, 기업은 외부 통신이 일절 차단된 폐쇄망에서도 개발 생산성을 극대화하고 소스 코드의 외부 유출 위험을 원천 차단할 수 있습니다.


사전 요구 사항 및 환경 점검

JetBrains IDE Services 웹 콘솔에서 설정을 시작하기 전에 다음 인프라가 정상 동작하는지 확인합니다.


1단계: 사내 OpenAI 호환 추론 서버 배포 및 연결 확인

IDE Services 서버 호스트에서 사내 추론 클러스터로의 네트워크 통신이 가능한지 확인합니다. 예를 들어 vLLM을 사용하여 코딩 모델을 서빙하는 명령은 다음과 같습니다.

vllm serve Qwen/Qwen2.5-Coder-32B-Instruct \
  --host 0.0.0.0 \
  --port 8000 \
  --dtype auto \
  --tensor-parallel-size 2 \
  --api-key corp-internal-secret-token \
  --chat-template /path/to/chat_template.jinja

IDE Services 서버 환경에서 추론 엔드포인트로 테스트 요청을 전송하여 정상 응답 여부를 검증합니다.

curl -X POST https://ai-gateway.corp.internal/v1/chat/completions \
  -H "Authorization: Bearer corp-internal-secret-token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen2.5-Coder-32B-Instruct",
    "messages": [{"role": "user", "content": "Ping"}]
  }'

정상적인 JSON 완성 응답이 반환되면 IDE Services 플랫폼에 등록할 준비가 완료된 것입니다.


2단계: IDE Services에서 OpenAI Compatible 프로바이더 추가

모델 제공자 설정은 JetBrains IDE Services 관리자 웹 인터페이스에서 중앙 집중식으로 수행합니다.

  1. 관리자 권한으로 JetBrains IDE Services Web UI에 로그인합니다.
  2. 좌측 탐색 메뉴에서 Configuration을 선택하고 License & Activation 탭으로 이동합니다.
  3. AI Enterprise 섹션으로 스크롤한 후 Settings를 클릭합니다.
  4. AI Providers 탭을 엽니다.
  5. Add provider를 클릭하고 드롭다운 목록에서 OpenAI Compatible을 선택합니다.
  6. 설정 모달 창에서 다음 필수 항목을 입력합니다.
    • Endpoint: 사내 모델 라우터 또는 추론 서버의 기본 URL(예: https://ai-gateway.corp.internal/v1 또는 http://vllm.internal:8000/v1)을 입력합니다. IDE 클라이언트가 표준 API 경로를 자동으로 결합하므로 URL 끝에 /chat/completions를 붙이지 마십시오.
    • Authentication / API Key: 사내 게이트웨이 인증용 Bearer 토큰 또는 사전 정의된 API 키를 입력합니다. 사내 프록시가 커스텀 헤더를 요구하는 경우 해당 헤더 이름과 값을 지정합니다.
    • Model Name: 추론 서버에서 제공 중인 정확한 모델 식별자(예: Qwen/Qwen2.5-Coder-32B-Instruct 또는 meta-llama/Llama-3.3-70B-Instruct)를 입력합니다.
    • Tokens: 사내 GPU VRAM 용량 및 모델 처리 한계를 고려하여 Max input tokens(최대 입력 토큰 수) 및 Max output tokens(최대 출력 토큰 수)를 정의합니다.
  7. Test connection을 클릭하여 IDE Services 서버와 사내 모델 엔드포인트 간의 네트워크 통신 및 인증 유효성을 검증합니다.
  8. 검증이 완료되면 Save를 클릭하여 프로바이더를 저장합니다.

3단계: 기본 프로바이더 지정 및 외부 유출 차단

사내 개발자 트래픽이 외부 클라우드로 우회되지 않도록 사내 프로바이더를 기본값으로 지정합니다.

  1. AI Providers 목록에서 방금 생성한 OpenAI 호환 프로바이더를 찾습니다.
  2. 해당 프로바이더를 Default(기본 프로바이더)로 설정합니다.
  3. 목록에 퍼블릭 클라우드 서비스(기본 JetBrains AI 또는 OpenAI Platform 등)가 활성화되어 있는 경우 기본 지정을 해제하거나 비활성화합니다. 시스템 규칙상 JetBrains AI가 기본값으로 선택되어 있으면 유일한 기본 프로바이더여야 하므로, 자체 구축 프로바이더를 기본값으로 사용하려면 JetBrains AI의 기본 선택을 반드시 해제해야 합니다.
  4. 사내에 JetBrains Mellum 코드 완성 엔진도 함께 구축한 경우, Code Completion 탭으로 이동하여 완성 프로바이더를 사내 Mellum 인스턴스로 지정합니다.
  5. Save를 클릭하여 전체 설정을 확정합니다.

4단계: 프로필(Profiles) 구성 및 사용자 권한 할당

JetBrains IDE Services는 Profiles를 통해 개발자에게 IDE 버전, 플러그인 목록, 보안 정책 및 AI Enterprise 권한을 일괄 배포합니다.

  1. IDE Services Web UI의 메뉴에서 Profiles 페이지로 이동합니다.
  2. 대상 개발 조직의 프로필(예: Core Engineering Profile)을 선택하거나 Create profile을 클릭하여 새 프로필을 만듭니다.
  3. 프로필 상세 설정에서 AI Enterprise 섹션을 찾습니다.
  4. 해당 프로필에서 AI Enterprise 기능이 활성화되어 있는지 확인합니다.
  5. AI 프로바이더 선택 드롭다운에서 Default provider(사내 OpenAI 호환 엔드포인트)가 지정되어 있는지 확인합니다.
  6. 프로필을 해당 사용자 그룹에 매핑하거나 조직 전체의 기본 프로필로 설정합니다.
  7. Save changes를 클릭하여 정책을 배포합니다.

5단계: 개발자 IDE 클라이언트 검증 및 설정 통제

정책이 배포되면 개발자 PC에 설정이 자동으로 동기화되므로 엔지니어가 수동으로 주소를 입력할 필요가 없습니다.

  1. Toolbox App 연동: 개발자가 PC에서 JetBrains Toolbox App을 실행하고 초대 링크 또는 사내 SSO를 통해 회사의 IDE Services 서버에 로그인합니다.
  2. 자동 프로비저닝: Toolbox App이 Enterprise 모드로 전환되어 할당된 프로필을 로컬 IDE(IntelliJ IDEA, PyCharm 등)에 적용하고 AI Assistant 플러그인을 자동으로 활성화합니다.
  3. AI Chat 사용 확인:
    • 개발자가 IDE 도구 창에서 AI Assistant를 실행합니다.
    • 별도의 키 입력 없이 사내 온프레미스 모델에 즉시 연결됩니다.
    • 소스 코드 분석, 단위 테스트 작성, 리팩터링 질의를 수행할 수 있으며, 모든 데이터 통신은 사내 전용망을 통해서만 이루어집니다.
  4. 로컬 설정 잠금: 개발자의 IDE 내 Settings | Tools | AI Assistant | Providers & API keys(설정 | 도구 | AI Assistant | 프로바이더 및 API 키) 메뉴에서 개인적인 BYOK(Bring Your Own Key) 및 임의 외부 모델 등록이 중앙 정책에 의해 잠금 처리되어, 직원의 실수로 인한 외부 클라우드 유출을 완벽하게 예방합니다.

엔터프라이즈 운영 및 보안 모범 사례

안정적인 대규모 프로덕션 운영을 위해 다음 가이드라인을 고려하십시오.

사내 사설 CA 인증서 체인 배포

망분리 환경에서는 내부 사설 인증 기관(Internal CA)이 발급한 TLS 인증서가 주로 사용됩니다. IDE Services 컨테이너 환경과 개발자 OS의 신뢰할 수 있는 루트 인증서 저장소에 사내 루트 CA 인증서를 반드시 등록하여 SSL/TLS 핸드셰이크 오류로 인한 스트리밍 중단을 방지하십시오.

GPU 자원 사이징 및 동시성 제어

IDE 기반 대화는 여러 파일의 코드 스니펫과 구문 트리를 컨텍스트에 포함하므로 프롬프트 길이가 길어지는 경향이 있습니다.

사내 API 게이트웨이 및 감사 로깅

IDE Services와 추론 클러스터 사이에 기업용 API 게이트웨이(Envoy, Kong 등)를 배치하여 사용자별 호출 통계, 타임스탬프, 토큰 소모량을 기록하십시오. 이를 통해 금융 및 공공 규제 기준에 부합하는 완벽한 추적 감사 체계를 구축할 수 있습니다.

JetBrains IDE Services를 기반으로 JetBrains AI Enterprise와 사내 OpenAI 호환 추론 환경을 연동하면, 기업은 민감한 소스 코드 자산을 완벽히 보호하면서도 최신 AI 기반 개발 생산성 혁신을 안전하게 누릴 수 있습니다.


참고 자료