GitLab Dedicated
Offering: GitLab Dedicated
GitLab Dedicated는 다음과 같은 단일 테넌트 SaaS 솔루션입니다: GitLab Dedicated를 사용하면 다음을 할 수 있습니다: 이 섹션에서는 GitLab Dedicated에서 사용 가능한 주요 기능을 나열합니다.
GitLab Dedicated는 다음과 같은 단일 테넌트 SaaS 솔루션입니다:
- 완전히 격리됩니다.
- 원하는 AWS 클라우드 리전에 배포됩니다.
- GitLab이 호스팅하고 유지 관리합니다.
각 인스턴스는 다음을 제공합니다:
GitLab Dedicated를 사용하면 다음을 할 수 있습니다:
- 운영 효율성 향상.
- 인프라 관리 오버헤드 감소.
- 조직 민첩성 개선.
- 엄격한 컴플라이언스 요구 사항 충족.
사용 가능한 기능#
이 섹션에서는 GitLab Dedicated에서 사용 가능한 주요 기능을 나열합니다.
보안#
GitLab Dedicated는 데이터를 보호하고 인스턴스에 대한 액세스를 제어하는 다음 보안 기능을 제공합니다.
인증 및 권한 부여#
GitLab Dedicated는 SSO(Single Sign-On)를 위해 SAML 및 OpenID Connect(OIDC) 공급자를 지원합니다.
지원되는 공급자를 사용하여 SSO를 구성할 수 있습니다. 인스턴스는 서비스 공급자 역할을 하며, GitLab이 ID 공급자(IdP)와 통신하는 데 필요한 구성을 제공합니다.
보안 네트워킹#
두 가지 연결 옵션을 사용할 수 있습니다:
- IP 허용 목록을 사용하는 공용 연결: 기본적으로 인스턴스는 공개적으로 액세스할 수 있습니다. 지정된 IP 주소로 액세스를 제한하기 위해 IP 허용 목록을 구성할 수 있습니다.
- AWS PrivateLink를 사용하는 비공개 연결: 인바운드 및 아웃바운드 PrivateLink 연결을 위해 AWS PrivateLink를 구성할 수 있습니다.
비공개 인증서를 사용하는 내부 리소스에 대한 비공개 연결을 위해 신뢰할 수 있는 인증서를 지정할 수도 있습니다.
웹훅 및 통합을 위한 비공개 연결#
웹훅과 통합이 공용 인터넷에서 액세스할 수 없는 서비스에 연결해야 하는 경우 비공개 연결을 위해 AWS PrivateLink를 사용할 수 있습니다. GitLab Dedicated가 SaaS 서비스이므로 네트워크의 로컬 IP 주소에 직접 연결할 수 없습니다.
내부 서비스를 위한 비공개 연결을 설정하려면:
- 내부 서비스에 호스트 이름을 할당합니다.
- 아웃바운드 PrivateLink 연결을 통해 이러한 호스트 이름으로 라우팅하도록 PHZ(프라이빗 호스팅 영역) 레코드를 구성합니다.
- 아웃바운드 PrivateLink 연결의 10개 엔드포인트 제한을 계획합니다.
10개 이상의 엔드포인트에 연결해야 하는 경우 terraform-outbound-proxy Terraform 모듈을 사용하여 VPC에 역방향 프록시를 배포할 수 있습니다. 이 접근 방식은 더 적은 PrivateLink 연결을 통해 여러 서비스를 라우팅합니다.
데이터 암호화#
데이터는 최신 암호화 표준을 사용하여 저장 시 및 전송 중에 암호화됩니다.
선택적으로 저장된 데이터에 자체 AWS 키 관리 서비스(KMS) 암호화 키를 사용할 수 있습니다. 이 옵션은 GitLab에 저장한 데이터에 대한 완전한 제어권을 제공합니다.
자세한 내용은 GitLab Dedicated 암호화를 참조하세요.
이메일 서비스#
기본적으로 Amazon Simple Email Service(Amazon SES)를 사용하여 이메일을 안전하게 보냅니다. 대안으로 SMTP를 사용하여 자체 이메일 서비스를 구성할 수 있습니다.
웹 애플리케이션 방화벽#
Cloudflare는 분산 서비스 거부(DDoS) 보호 및 관련 보안 기능을 위한 WAF(웹 애플리케이션 방화벽)로 구현됩니다. WAF 구현 및 구성은 GitLab SRE 팀에서 관리합니다. WAF 구성이나 로그에 대한 직접 액세스는 사용할 수 없습니다.
컴플라이언스#
GitLab Dedicated는 데이터의 보안과 신뢰성을 보장하기 위해 다양한 규정, 인증 및 컴플라이언스 프레임워크를 준수합니다.
컴플라이언스 및 인증 세부 정보 보기#
GitLab Dedicated 트러스트 센터에서 컴플라이언스 및 인증 세부 정보를 보고 컴플라이언스 아티팩트를 다운로드할 수 있습니다.
접근 제어#
GitLab Dedicated는 환경을 보호하기 위해 엄격한 접근 제어를 구현합니다:
- 최소한의 필요 권한만 부여하는 최소 권한 원칙을 따릅니다.
- 선택된 GitLab 팀원으로 AWS 조직에 대한 액세스를 제한합니다.
- 사용자 계정에 대한 포괄적인 보안 정책 및 액세스 요청을 구현합니다.
- 자동화된 작업 및 긴급 액세스를 위해 단일 Hub 계정을 사용합니다.
- GitLab Dedicated 엔지니어는 고객 환경에 직접 액세스하지 않습니다.
긴급 상황에서 GitLab 엔지니어는 다음을 해야 합니다:
- Hub 계정을 사용하여 고객 리소스에 액세스합니다.
- 승인 프로세스를 통해 액세스를 요청합니다.
- Hub 계정을 통해 임시 IAM 역할을 가정합니다.
Hub 및 테넌트 계정의 모든 작업은 CloudTrail에 기록됩니다.
모니터링#
테넌트 계정에서 GitLab Dedicated는 다음을 사용합니다:
- 침입 감지 및 맬웨어 스캐닝을 위한 AWS GuardDuty.
- 비정상적인 이벤트를 감지하기 위한 GitLab 보안 인시던트 대응 팀의 인프라 로그 모니터링.
감사 및 관찰 가능성#
감사 및 관찰 가능성을 위해 애플리케이션 로그에 액세스할 수 있습니다. 이 로그는 시스템 활동 및 사용자 작업에 대한 인사이트를 제공하여 인스턴스를 모니터링하고 컴플라이언스 요구 사항을 유지하는 데 도움을 줍니다.
사용자 정의 도메인#
기본적으로 GitLab Dedicated 인스턴스는 tenant_name.gitlab-dedicated.com에서 액세스할 수 있습니다. gitlab.company.com과 같은 자체 도메인 이름을 사용하도록 사용자 정의 도메인을 구성할 수 있습니다.
사용자 정의 도메인을 사용하여:
- GitLab Self-Managed에서 마이그레이션할 때 기존 URL을 유지합니다.
- 모든 도구에 걸쳐 조직의 도메인을 유지합니다.
- 기존 인증서 관리 또는 도메인 정책과 통합합니다.
다음에 대한 사용자 정의 도메인을 구성할 수 있습니다:
- 기본 GitLab 인스턴스
- 컨테이너 레지스트리 (예:
registry.company.com) - Kubernetes용 GitLab 에이전트 서버 (예:
kas.company.com)
자세한 내용은 사용자 정의 도메인을 참조하세요.
GitLab Pages는 사용자 정의 도메인을 지원하지 않습니다. Pages 사이트는 GitLab Dedicated 인스턴스에 구성된 사용자 정의 도메인에 관계없이 tenant_name.gitlab-dedicated.site에서만 액세스할 수 있습니다.
객체 스토리지 다운로드#
기본적으로 GitLab Dedicated는 최적의 성능을 위해 S3에서 직접 다운로드를 활성화합니다(proxy_download = false).
프록시된 다운로드는 지원되지 않습니다. 다음 설정을 true로 설정할 수 없습니다:
- 통합 객체 스토리지 구성의
proxy_download - 의존성 프록시 객체 스토리지 구성의
dependency_proxy_object_store_proxy_download
직접 다운로드를 지원하는 객체 유형에는 다음이 포함됩니다:
- CI/CD 작업 아티팩트
- 의존성 프록시 파일
- 머지 요청 diff
- Git Large File Storage(LFS) 객체
- 프로젝트 패키지 (예: PyPI, Maven, NuGet)
- 컨테이너 레지스트리 컨테이너
- 사용자 업로드
위의 객체 유형 중 하나를 다운로드하면 브라우저 또는 클라이언트가 GitLab 인프라를 통해 라우팅되는 대신 Amazon S3에 직접 연결됩니다.
애플리케이션#
GitLab Dedicated에는 소수의 예외를 제외하고 자체 관리 Ultimate 기능 세트가 포함됩니다. 자세한 내용은 사용할 수 없는 기능을 참조하세요.
고급 검색#
GitLab Dedicated는 고급 검색 기능을 사용합니다.
ClickHouse Cloud#
적격 고객을 위해 기본적으로 활성화된 ClickHouse Cloud 통합을 통해 고급 분석 기능에 액세스할 수 있습니다. 다음과 같은 경우에 자격이 있습니다:
- GitLab Dedicated 테넌트가 상용 AWS 리전에 배포됩니다. GitLab Dedicated for Government는 지원되지 않습니다.
- ClickHouse Cloud는 지원되는 리전에서만 사용할 수 있습니다. 자세한 내용은 지원되는 리전을 참조하세요.
GitLab Pages#
GitLab Dedicated에서 GitLab Pages를 사용하여 정적 웹사이트를 호스팅할 수 있습니다. Pages는 기본적으로 활성화됩니다.
웹사이트는 tenant_name.gitlab-dedicated.site 도메인을 사용하며, 여기서 tenant_name은 인스턴스 URL과 일치합니다.
사용자 정의 도메인은 지원되지 않습니다. gitlab.my-company.com과 같은 사용자 정의 도메인을 추가해도
웹사이트는 tenant_name.gitlab-dedicated.site에서 여전히 액세스합니다.
다음을 사용하여 웹사이트에 대한 액세스를 제어합니다:
기존 IP 허용 목록이 Pages 웹사이트에 적용됩니다.
재해 복구 중에 장애 조치가 발생하면 사이트는 보조 리전에서 계속 작동합니다.
호스팅 러너#
GitLab Dedicated용 호스팅 러너를 사용하면 유지 관리 오버헤드 없이 CI/CD 워크로드를 확장할 수 있습니다.
자체 관리 러너#
호스팅 러너 사용의 대안으로 GitLab Dedicated 인스턴스에 자체 러너를 사용할 수 있습니다.
자체 관리 러너를 사용하려면 소유하거나 관리하는 인프라에 GitLab Runner를 설치하세요.
OpenID Connect 및 SCIM#
인스턴스에 IP 제한을 유지하면서 사용자 관리를 위한 SCIM 또는 OpenID Connect ID 공급자로 GitLab을 사용할 수 있습니다.
IP 허용 목록과 함께 이러한 기능을 사용하려면:
사전 프로덕션 환경#
GitLab Dedicated는 프로덕션 환경의 구성과 일치하는 사전 프로덕션 환경을 지원합니다. 사전 프로덕션 환경을 사용하여:
- 프로덕션에서 구현하기 전에 새 기능을 테스트합니다.
- 프로덕션에서 적용하기 전에 구성 변경을 테스트합니다.
사전 프로덕션 환경은 추가 라이선스 없이 GitLab Dedicated 구독의 애드온으로 구매해야 합니다.
다음 기능을 사용할 수 있습니다:
- 유연한 크기: 프로덕션 환경의 크기와 일치하거나 더 작은 참조 아키텍처를 사용합니다.
- 버전 일관성: 프로덕션 환경과 동일한 GitLab 버전을 실행합니다.
제한 사항:
- 단일 리전 배포만 가능합니다.
- SLA 약속 없음.
- 프로덕션보다 최신 버전을 실행할 수 없습니다.
GitLab이 관리하는 설정#
Admin 영역을 통해 대부분의 설정을 수정할 수 있지만, GitLab은 시스템 안정성과 보안을 보장하기 위해 특정 설정을 자동으로 관리합니다.
속도 제한#
GitLab은 인스턴스 크기에 따라 속도 제한을 구성하고 최적의 성능을 보장하기 위해 유지 관리 창 중에 자동으로 이러한 기본값으로 재설정합니다. 이러한 제한은 단일 사용자나 자동화가 인스턴스의 다른 사용자의 성능을 저하시키는 것을 방지합니다.
GitLab Dedicated에서 속도 제한이 작동하는 방식에 대한 자세한 내용은 인증된 사용자 속도 제한을 참조하세요.
사용할 수 없는 기능#
이 섹션에서는 GitLab Dedicated에서 사용할 수 없는 기능을 나열합니다.
인증, 보안, 네트워킹#
| 기능 | 설명 | 영향 |
|---|---|---|
| LDAP 인증 | 기업 LDAP/Active Directory 자격 증명을 사용한 인증. | GitLab 전용 비밀번호 또는 액세스 토큰을 대신 사용해야 합니다. |
| 스마트 카드 인증 | 향상된 보안을 위해 스마트 카드를 사용한 인증. | 기존 스마트 카드 인프라를 사용할 수 없습니다. |
| Kerberos 인증 | Kerberos 프로토콜을 사용한 SSO 인증. | GitLab에 별도로 인증해야 합니다. |
| FortiAuthenticator/FortiToken 2FA | Fortinet 보안 솔루션을 사용한 이중 인증. | 기존 Fortinet 2FA 인프라를 통합할 수 없습니다. |
| 사용자 이름/비밀번호를 사용한 HTTPS를 통한 Git 복제 | HTTPS를 통해 사용자 이름 및 비밀번호 인증을 사용하는 Git 작업. | Git 작업에 액세스 토큰을 사용해야 합니다. |
| SSH 인증서 인증 | CA 발급 인증서를 사용한 SSH 인증. | SSH 키와 같은 다른 SSH 인증 방법을 사용해야 합니다. |
| Sigstore | 소프트웨어 공급망 보안을 위한 키 없는 서명 및 검증. | 기존 코드 서명 방법을 사용해야 합니다. |
| 포트 리매핑 | SSH(22)와 같은 포트를 다른 인바운드 포트로 리매핑. | GitLab Dedicated는 기본 통신 포트만 사용합니다. |
통신 및 협업#
| 기능 | 설명 | 영향 |
|---|---|---|
| 이메일로 답장 | 이메일을 통해 GitLab 알림 및 토론에 응답합니다. | GitLab 웹 인터페이스를 사용하여 응답해야 합니다. |
| Service Desk | 외부 사용자가 이메일을 통해 이슈를 만들 수 있는 티켓팅 시스템. | 외부 사용자가 이슈를 만들려면 GitLab 계정이 있어야 합니다. |
개발 및 AI 기능#
| 기능 | 설명 | 영향 |
|---|---|---|
| 일부 GitLab Duo AI 기능 | 코드 제안, 취약점 감지, 생산성을 위한 AI 기반 기능. | 개발 작업에 대한 제한적인 AI 지원. |
| 비활성화된 피처 플래그 뒤의 기능 | 개발 중인 실험 및 베타 기능. | 실험 또는 베타 기능에 액세스할 수 없습니다. |
AI 기능에 대한 자세한 내용은 GitLab Duo를 참조하세요.
피처 플래그#
피처 플래그는 새 기능, 실험 및 베타 기능의 개발 및 출시를 지원하는 데 사용됩니다. GitLab Dedicated에서:
- 피처 플래그를 수정할 수 없습니다.
- 기본적으로 활성화된 기능은 사용 가능합니다.
- 기본적으로 비활성화된 기능은 사용할 수 없으며 활성화할 수 없습니다.
기능이 일반 공개되면 배포를 위한 릴리스 일정에 따라 동일한 버전에서 사용할 수 있습니다.
GitLab Pages#
| 기능 | 설명 | 영향 |
|---|---|---|
| 사용자 정의 도메인 | 사용자 정의 도메인 이름에서 GitLab Pages 사이트를 호스팅합니다. | Pages 사이트는 tenant_name.gitlab-dedicated.site를 사용해서만 액세스할 수 있습니다. |
| PrivateLink 액세스 | AWS PrivateLink를 통한 GitLab Pages에 대한 비공개 네트워크 액세스. | Pages 사이트는 공용 인터넷을 통해서만 액세스할 수 있습니다. IP 허용 목록을 구성하여 특정 IP 주소로 액세스를 제한할 수 있습니다. |
| URL 경로의 네임스페이스 | 네임스페이스 기반 URL 구조로 Pages 사이트를 구성합니다. | 제한된 URL 구성 옵션. |
운영 기능#
다음 운영 기능은 사용할 수 없습니다:
- 기본 보조 리전을 초과하는 Geo 복제를 위한 여러 보조 리전
- Geo 프록시 및 통합 URL 사용
- 셀프 서비스 구매 및 구성
- GCP 또는 Azure와 같은 AWS 이외의 클라우드 공급자에 배포 지원
- Grafana 및 OpenSearch와 같은 Switchboard의 관찰 가능성 대시보드
서버 액세스가 필요한 기능#
다음 기능은 직접 서버 액세스가 필요하며 구성할 수 없습니다:
| 기능 | 설명 | 영향 |
|---|---|---|
| Mattermost | 통합 팀 채팅 및 협업 플랫폼. | 외부 채팅 솔루션을 사용합니다. |
| 서버 측 Git 후크 | Git 이벤트(pre-receive, post-receive)에서 실행되는 사용자 정의 스크립트. | 푸시 규칙 또는 웹훅을 사용합니다. |
서버 측 Git 후크는 보안 및 성능상의 이유로 지원되지 않습니다. 대신 푸시 규칙을 사용하여 저장소 정책을 적용하거나 웹훅을 사용하여 Git 이벤트에서 외부 작업을 트리거하세요.
서비스 수준 가용성#
GitLab Dedicated는 99.9% 가용성의 월별 서비스 수준 목표를 유지합니다.
서비스 수준 가용성은 달력 월 중에 GitLab Dedicated를 사용할 수 있는 시간의 비율을 측정합니다. GitLab은 다음 핵심 서비스를 기반으로 가용성을 계산합니다:
| 서비스 영역 | 포함된 기능 |
|---|---|
| 웹 인터페이스 | GitLab 이슈, 머지 요청, GitLab API, HTTPS를 통한 Git 작업 |
| 컨테이너 레지스트리 | 레지스트리 HTTPS 요청 |
| Git 작업 | SSH를 통한 Git 푸시, 풀, 복제 작업 |
서비스 수준 제외#
다음은 서비스 수준 가용성 계산에 포함되지 않습니다:
- 고객 구성 오류로 인한 서비스 중단
- GitLab 제어 범위 밖의 고객 또는 클라우드 공급자 인프라 문제
- 예약된 유지 관리 창
- 중요 보안 또는 데이터 문제에 대한 긴급 유지 관리
- 자연재해, 광범위한 인터넷 중단, 데이터 센터 장애 또는 GitLab 제어 범위 밖의 기타 이벤트로 인한 서비스 중단.
재해 복구#
복구 목표를 포함한 재해 복구에 대한 자세한 내용은 GitLab Dedicated의 재해 복구를 참조하세요.
GitLab Dedicated로 마이그레이션#
데이터를 GitLab Dedicated로 마이그레이션하려면:
만료된 구독#
구독이 만료되기 전에 종료일이 다가오고 있다는 알림을 받습니다.
구독이 만료되면 30일 동안 인스턴스에 액세스할 수 있습니다.
데이터를 보존하려면 만료 후 15일 이내에 계정 팀에 연락하거나 지원에 이메일을 보내 데이터 보존을 요청하세요.
이 30일 기간 동안 다음을 할 수 있습니다:
- 지원에 이메일을 보내 데이터 검색을 위한 추가 시간을 요청합니다.
- 마이그레이션 지원이나 오프보딩 지원을 위해 전문 서비스에 참여합니다.
30일 후에 데이터가 다른 인스턴스로 보관되거나 마이그레이션되지 않으면 인스턴스가 종료되고 모든 고객 콘텐츠가 삭제됩니다. 여기에는 모든 프로젝트, 저장소, 이슈, 머지 요청 및 기타 데이터가 포함됩니다.
인스턴스 종료 후 90일이 지나면 계정 제거 확인을 요청할 수 있습니다. 확인은 계정이 종료되었다는 AWS의 이메일로 제공됩니다.
시작하기#
GitLab Dedicated에 대한 자세한 정보나 데모를 요청하려면 GitLab Dedicated를 참조하세요.
GitLab Dedicated 인스턴스 설정에 대한 자세한 내용은 GitLab Dedicated 인스턴스 만들기를 참조하세요.
