자체 호스팅 모델
GitLab v19.5Offering: GitLab Self-Managed, GitLab Dedicated for Government
요약
원하는 LLM으로 GitLab Duo 기능을 사용하도록 자체 AI 인프라를 호스팅합니다. 자체 호스팅 모델은 여러 배포 옵션으로 사용할 수 있습니다. GitLab Duo Agent Platform에서 온프레미스 모델 또는 프라이빗 클라우드 호스팅 모델을 사용하려면 GitLab Duo Agent Platform Self-Hosted를 사용합니다.
히스토리
- GitLab 17.1에서
ai_custom_model이라는 기능 플래그와 함께 도입되었습니다. 기본값으로 비활성화되어 있습니다. - GitLab 17.6에서 GitLab Self-Managed에 활성화되었습니다.
- GitLab 17.6 이후 GitLab Duo 추가 기능이 필요하도록 변경되었습니다.
- GitLab 17.8에서 기능 플래그
ai_custom_model이 제거되었습니다. - GitLab 17.9에서 일반적으로 사용할 수 있게 되었습니다.
- GitLab 18.0에서 Premium을 포함하도록 변경되었습니다.
- GitLab 18.5에서 GitLab Dedicated for Government에 활성화되었습니다.
- GitLab 18.8에서 오프라인 라이선스에 GitLab Duo Agent Platform Self-Hosted 추가 기능이 필요하도록 변경되었습니다
- GitLab 18.9에서 온라인 라이선스의 GitLab Duo Agent Platform 기능 사용량 청구로 변경되었습니다
원하는 LLM으로 GitLab Duo 기능을 사용하도록 자체 AI 인프라를 호스팅합니다. 자체 호스팅 AI 게이트웨이를 사용하면 모든 요청 및 응답 데이터를 자체 환경에 유지하고, 외부 API 호출을 피하며, LLM 백엔드로 보내는 요청의 전체 수명 주기를 관리할 수 있습니다.
배포 옵션#
자체 호스팅 모델은 여러 배포 옵션으로 사용할 수 있습니다.
GitLab Duo Agent Platform#
GitLab Duo Agent Platform에서 온프레미스 모델 또는 프라이빗 클라우드 호스팅 모델을 사용하려면 GitLab Duo Agent Platform Self-Hosted를 사용합니다.
오프라인 라이선스를 사용하는 고객은 GitLab Duo에 대한 Enterprise License Agreement로 청구되며, GitLab Duo Agent Platform Self-Hosted 추가 기능이 있어야 합니다.
온라인 라이선스를 사용하는 고객은 사용량 기반으로 청구됩니다. 하이브리드 배포에서 GitLab 관리 모델을 함께 사용할 수도 있습니다.
GitLab Duo#
GitLab Duo Self-Hosted는 GitLab Duo 기능을 사용하는 GitLab Duo Enterprise 고객을 위한 옵션입니다. 다음을 사용할 수 있습니다.
- 온프레미스 모델 또는 프라이빗 클라우드 호스팅 모델
- 하이브리드 배포의 GitLab 관리 모델
이 옵션은 시트 기반 가격 정책을 사용합니다.
기능 버전 및 상태#
다음 표는 아래 항목을 나열합니다.
- 기능을 사용하는 데 필요한 GitLab 버전
- 기능 상태. 배포에서의 기능 상태는 해당 기능에 표시된 상태와 다를 수 있습니다.
GitLab Duo Self-Hosted로 GitLab Duo 기능을 사용하려면 GitLab Duo Enterprise 추가 기능이 있어야 합니다. GitLab이 클라우드 기반 AI 게이트웨이를 통해 모델을 호스팅하고 연결할 때 GitLab Duo Core 또는 GitLab Duo Pro로 해당 기능을 사용할 수 있더라도 마찬가지입니다.
| 기능 | GitLab 버전 | 상태 |
|---|---|---|
| GitLab Duo Agent Platform | GitLab 18.8 이후 | 일반 가용성 |
| GitLab Duo | ||
| Code Suggestions | GitLab 17.9 이후 | 일반 가용성 |
| GitLab Duo Non-Agentic Chat | GitLab 17.9 이후 | 일반 가용성 |
| Code Explanation | GitLab 17.9 이후 | 일반 가용성 |
| Test Generation | GitLab 17.9 이후 | 일반 가용성 |
| Refactor Code | GitLab 17.9 이후 | 일반 가용성 |
| Fix Code | GitLab 17.9 이후 | 일반 가용성 |
| Code Review | GitLab 18.3 이후 | 일반 가용성 |
| Root Cause Analysis | GitLab 17.10 이후 | 베타 |
| Vulnerability Explanation | GitLab 18.1.2 이후 | 베타 |
| Merge Commit Message Generation | GitLab 18.1.2 이후 | 베타 |
| Merge Request Summary | GitLab 18.1.2 이후 | 베타 |
| Discussion Summary | GitLab 18.1.2 이후 | 베타 |
| GitLab Duo for the CLI | GitLab 18.1.2 이후 | 베타 |
| Vulnerability Resolution | GitLab 18.1.2 이후 | 베타 |
| GitLab Duo and SDLC trends Dashboard | GitLab 17.9 이후 | 베타 |
| Code Review Summary | GitLab 18.1.2 이후 | 실험 |
Agent Platform의 인터넷 연결 요구 사항#
인터넷 연결 요구 사항은 구독에 온라인 라이선스가 있는지 오프라인 라이선스가 있는지에 따라 달라집니다.
구독에 온라인 라이선스가 있으면 사용량 청구에 아웃바운드 인터넷 연결이 필요합니다. 방화벽이나 네트워크 정책이 다음 구성 요소 중 하나라도 차단하면 사용량 청구가 실패하고 GitLab Duo Agent Platform 기능을 사용할 수 없습니다.
구독에 오프라인 라이선스가 있으면 인스턴스가 다음 구성 요소에 연결하지 않습니다. 사용량 청구 대신 Enterprise License Agreement에 따라 청구됩니다. 자세한 내용은 오프라인 배포를 참고합니다.
| 구성 요소 | 엔드포인트 | 포트 | 목적 |
|---|---|---|---|
| CustomersDot | customers.gitlab.com |
443 |
라이선스 및 구독 정보를 동기화 상태로 유지합니다. |
| Cloud AI Gateway | cloud.gitlab.com |
443 |
Agent Platform 기능의 사용량 할당량 검사를 수행합니다. |
| Cloud GitLab Duo Workflow Service1 | duo-workflow-svc.runway.gitlab.net |
443 |
GitLab Duo Agent Platform 기능의 사용량 청구 메타데이터를 전송합니다. |
이러한 구성 요소에는 청구 메타데이터만 전송됩니다. 프롬프트, 코드 입력, 모델 응답은 네트워크를 벗어나지 않습니다. 전송되는 데이터 유형에 대한 자세한 내용은 데이터 전송을 참고합니다.
데이터 전송#
사용량 청구를 위해 다음 청구 메타데이터가 JSON 객체 형태로 GitLab에 전송됩니다.
- 인스턴스 ID
- 사용자 ID
- 호출 수
- 타임스탬프
예를 들면 다음과 같습니다.
{
"InstanceId": "ccbb3949-9836-471c-b2nb-32a38e8cca99",
"GlobalUserId": "KWDTe17sGSADiAzEGJ6IuL1D7RAzsXqa2wun3aX1YuA=",
"Quantity": 1,
"Timestamp": "2026-05-04 18:04:30.969000000"
}
GlobalUserId는 결정론적이지만 비식별화된 식별자입니다. GlobalUserId는 GitLab 코드에서 인스턴스 ID와 사용자 ID로부터 SHA-256으로 생성됩니다. 고객이 조회 기능을 직접 구축하면 이를 특정 사용자로 다시 매핑할 수 있습니다.
코드 입력, 모델 프롬프트, 모델 응답을 포함한 추론 데이터는 고객 네트워크를 벗어나지 않습니다.
GitLab은 고객이 어떤 모델이나 모델 공급자를 사용하는지 수집하지 않습니다.
AI 게이트웨이 구성#
제품 옵션을 선택한 다음, AI 게이트웨이가 LLM에 연결하는 방식을 구성합니다.
- 자체 호스팅 AI 게이트웨이 및 LLM: AI 인프라를 완전히 제어하도록 자체 AI 게이트웨이와 모델을 사용합니다.
- 하이브리드 AI 게이트웨이 및 모델 구성: 기능마다 자체 호스팅 모델을 쓰는 자체 호스팅 AI 게이트웨이나 GitLab 관리 모델을 쓰는 GitLab.com AI 게이트웨이 중 하나를 사용합니다. GitLab 관리 모델은 오프라인 라이선스에서는 사용할 수 없습니다.
- 기본 GitLab 외부 벤더 LLM을 사용하는 GitLab.com AI 게이트웨이: GitLab이 관리하는 AI 인프라를 사용합니다.
| 구성 | 자체 호스팅 AI 게이트웨이 | 하이브리드 AI 게이트웨이 및 모델 구성 | GitLab.com AI 게이트웨이 |
|---|---|---|---|
| 인프라 요구 사항 | 자체 AI 게이트웨이와 모델을 호스팅해야 합니다 | 자체 AI 게이트웨이와 모델을 호스팅해야 합니다 | 추가 인프라가 필요하지 않습니다 |
| 모델 옵션 | 지원되는 자체 호스팅 모델 중에서 선택합니다 | GitLab Duo 기능마다 지원되는 자체 호스팅 모델 또는 GitLab 관리 모델 중에서 선택합니다 | 기본 GitLab 관리 모델을 사용합니다 |
| 네트워크 요구 사항 | 완전히 격리된 네트워크에서 운영할 수 있습니다 | GitLab 관리 모델을 사용하는 GitLab Duo 기능에는 인터넷 연결이 필요합니다 | 인터넷 연결이 필요합니다 |
| 책임 범위 | 인프라를 직접 구성하고 직접 유지 관리합니다 | 인프라를 직접 구성하고 직접 유지 관리하며, GitLab 관리 모델과 AI 게이트웨이를 사용할 기능을 선택합니다 | GitLab이 구성과 유지 관리를 담당합니다 |
자체 호스팅 AI 게이트웨이 및 LLM#
완전한 자체 호스팅 구성에서는 자체 AI 게이트웨이를 배포하고, GitLab 인프라나 AI 벤더 모델을 사용하지 않고 인프라 안의 지원되는 LLM만 사용합니다. 이 방식으로 데이터와 보안을 완전히 제어할 수 있습니다.
이 구성에는 자체 호스팅 AI 게이트웨이를 통해 구성한 모델만 포함됩니다. 어떤 기능에 GitLab 관리 모델을 사용하면 해당 기능은 자체 호스팅 게이트웨이 대신 GitLab 호스팅 AI 게이트웨이에 연결되므로, 완전한 자체 호스팅이 아니라 하이브리드 구성이 됩니다.
자체 AI 게이트웨이를 배포하더라도 AWS Bedrock이나 Azure OpenAI 같은 클라우드 기반 LLM 서비스를 모델 백엔드로 계속 사용할 수 있으며, 이러한 서비스는 자체 호스팅 AI 게이트웨이를 통해 연결됩니다.
인터넷 접근을 차단하거나 제한하는 물리적 장벽 또는 보안 정책이 있는 오프라인 환경이고 LLM을 포괄적으로 통제해야 한다면, 이 완전한 자체 호스팅 구성을 사용합니다.
자세한 내용은 다음을 참고합니다.
하이브리드 AI 게이트웨이 및 모델 구성#
히스토리
이 하이브리드 구성에서는 대부분의 기능에 자체 AI 게이트웨이와 자체 호스팅 모델을 배포하되, 특정 기능은 GitLab 관리 모델을 사용하도록 구성합니다. GitLab 관리 모델을 사용하도록 구성한 기능의 요청은 자체 호스팅 AI 게이트웨이 대신 GitLab 호스팅 AI 게이트웨이로 전송됩니다.
이 옵션은 다음과 같은 유연성을 제공합니다.
- 완전한 제어가 필요한 기능에는 자체 호스팅 모델을 사용합니다.
- GitLab이 선별한 모델을 쓰려는 특정 기능에는 GitLab 관리 벤더 모델을 사용합니다.
GitLab 관리 모델을 사용하도록 기능을 구성하면 다음과 같습니다.
- 해당 기능의 모든 호출은 자체 호스팅 AI 게이트웨이가 아니라 GitLab 호스팅 AI 게이트웨이를 사용합니다.
- 해당 기능에는 인터넷 연결이 필요합니다.
- 이는 완전한 자체 호스팅 구성이나 격리된 구성이 아닙니다.
GitLab 관리 모델#
자체 인프라를 호스팅하지 않고 AI 모델에 연결하려면 GitLab 관리 모델을 사용합니다. 이러한 모델은 GitLab이 전적으로 관리합니다.
AI 네이티브 기능에 사용할 기본 GitLab 모델을 선택할 수 있습니다. 기본 모델의 경우 GitLab이 가용성, 품질, 안정성을 기준으로 가장 적합한 모델을 사용합니다. 기능에 사용되는 모델은 예고 없이 변경될 수 있습니다.
특정 GitLab 관리 모델을 선택하면 해당 기능의 모든 요청이 그 모델만 사용합니다. 모델을 사용할 수 없게 되면 AI 게이트웨이에 대한 요청이 실패하고, 다른 모델을 선택할 때까지 사용자가 해당 기능을 사용할 수 없습니다.
기능이 GitLab 관리 모델을 사용하도록 구성하면 다음과 같습니다.
- 해당 기능의 호출은 자체 호스팅 AI 게이트웨이가 아니라 GitLab 호스팅 AI 게이트웨이를 사용합니다.
- 해당 기능에는 인터넷 연결이 필요합니다.
- 이 구성은 완전한 자체 호스팅 구성이나 격리된 구성이 아닙니다.
기본 GitLab 외부 벤더 LLM을 사용하는 GitLab.com AI 게이트웨이#
GitLab Duo Self-Hosted의 사용 사례 기준을 충족하지 않는다면, 기본 GitLab 외부 벤더 LLM을 사용하는 GitLab.com AI 게이트웨이를 사용할 수 있습니다.
GitLab.com AI 게이트웨이는 기본 Enterprise 제공 방식이며 자체 호스팅이 아닙니다. 이 구성에서는 인스턴스를 GitLab 호스팅 AI 게이트웨이에 연결하고, 이 게이트웨이가 다음을 포함한 외부 벤더 LLM 공급자와 연동합니다.
이러한 LLM은 GitLab Cloud Connector를 통해 통신하므로, 온프레미스 인프라 없이 바로 사용할 수 있는 AI 솔루션을 제공합니다.
자세한 내용은 GitLab.com AI 게이트웨이 구성 다이어그램을 참고합니다.
이 인프라를 설정하려면 GitLab Self-Managed 인스턴스에서 GitLab Duo를 구성하는 방법을 참고합니다.
프라이빗 인프라 설정#
오프라인 라이선스가 있으면 완전한 프라이빗 인프라를 구성할 수 있습니다.
-
대규모 언어 모델(LLM) 서빙 인프라를 설치합니다.
- 지원되는 LLM 플랫폼을 검토해 vLLM, AWS Bedrock, Azure OpenAI 같은 서빙·호스팅 플랫폼을 선택합니다.
- 지원되는 모델 및 하드웨어 요구 사항을 확인해 모델과 하드웨어 선택이 적절한지 검증합니다.
-
GitLab Duo 기능에 접근하려면 AI 게이트웨이를 설치합니다.
-
자체 호스팅 모델을 사용하도록 GitLab 인스턴스를 구성합니다.
-
시스템 성능을 추적하고 관리하려면 로깅을 활성화합니다.
관련 주제#
Footnotes
-
HTTP/2가 필요합니다 ↩