GitLab 관리 시작하기

Tier: Free, Premium, Ultimate Offering: Self-managed

GitLab 관리를 시작하세요. 조직과 해당 인증을 구성한 다음 GitLab을 보안하고 모니터링하고 백업하세요.

인증

인증은 설치를 안전하게 하는 첫 번째 단계입니다.

  • 모든 사용자에 대해 이중 인증(2FA)을 강제로 실행하세요. Self-managed 인스턴스에 대해 2FA를 강력히 추천합니다.
  • 사용자가 다음을 수행하는지 확인하세요:
    • 강력하고 안전한 암호를 선택하세요. 가능하면 비밀번호 관리 시스템에 저장하세요.
    • 모두에게 구성되지 않았다면 2단계 인증(2FA)을 계정에 활성화하세요. 이 1회용 보안 코드는 암호를 가진 사람들이라도 침입자를 차단하는 추가적인 안전장치입니다.
    • 백업 이메일을 추가하세요. 계정 액세스가 불가능한 경우 GitLab 지원팀이 빠르게 도와드릴 수 있습니다.
    • 복구 코드를 저장하거나 인쇄하세요. 인증 장치에 액세스할 수 없는 경우 이 복구 코드를 사용하여 GitLab 계정에 로그인할 수 있습니다.
    • SSH 키를 프로필에 추가하세요. SSH로 필요할 때마다 새 복구 코드를 생성할 수 있습니다.
    • 개인 액세스 토큰을 활성화하세요. 2FA를 사용할 때 이 토큰을 사용하여 GitLab API에 액세스할 수 있습니다.

프로젝트 및 그룹

그룹 및 프로젝트를 구성하여 환경을 조직하세요.

  • 프로젝트: 파일 및 코드에 대한 홈을 지정하거나 비즈니스 범주의 문제를 추적하고 조직하세요.
  • 그룹: 사용자 또는 프로젝트 모음을 조직하세요. 이러한 그룹을 사용하여 사람들과 프로젝트를 빠르게 할당하세요.
  • 역할: 프로젝트 및 그룹에 대한 사용자 액세스 및 가시성 정의하세요.

그룹 및 프로젝트 개요를 시청하세요.

시작하기:

추가 리소스

프로젝트 가져오기

GitHub, Bitbucket 또는 다른 GitLab 인스턴스와 같은 외부 소스에서 프로젝트를 가져와야 할 수 있습니다. 많은 외부 소스가 GitLab로 가져올 수 있습니다.

인기있는 프로젝트 가져오기

이러한 데이터 유형에 대한 지원이 필요한 경우 GitLab 계정 담당자 또는 전문 마이그레이션 서비스에 관해 GitLab 지원팀에 문의하세요.

GitLab 인스턴스 보안

보안은 온보딩 프로세스의 중요한 부분입니다. 인스턴스를 보호하면 작업과 조직을 보호할 수 있습니다.

이 목록이 모두인 것은 아니지만, 이러한 단계를 따르면 인스턴스를 안전하게 하는 튼튼한 기초를 마련할 수 있습니다.

  • 긴 루트 암호를 사용하고 보관하세요.
  • 신뢰할 수 있는 SSL 인증서를 설치하고 갱신 및 폐지 프로세스를 설정하세요.
  • 구성에 따라 SSH 키 제한을 설정하세요.
  • 새로운 가입을 비활성화하세요.
  • 이메일 확인을 요구하세요.
  • 암호 길이 제한을 설정하고 SSO 또는 SAML 사용자 관리 구성하세요.
  • 가입을 허용하는 경우 이메일 도메인을 제한하세요.
  • 이중 인증(2FA)을 필요로 하세요.
  • HTTPS를 통한 Git의 암호 인증을 비활성화하세요.
  • 알 수 없는 로그인에 대한 이메일 알림을 설정하세요.
  • 사용자 및 IP 속도 제한을 구성하세요.
  • 웹훅 로컬 액세스를 제한하세요.
  • 보호된 경로에 대한 속도 제한을 설정하세요.
  • 통신 기본 설정 센터에서 보안 알림을 구독하세요.
  • 블로그 페이지에서 보안 모범 사례를 추적하세요.

GitLab 성능 모니터링

기본 설정을 마치고 나면 GitLab 모니터링 서비스를 검토할 준비가 되어 있습니다. 프로메테우스는 저희의 핵심 성능 모니터링 도구입니다. 다른 모니터링 솔루션(Zabbix 또는 New Relic과 같은)과 달리 프로메테우스는 GitLab과 긴밀하게 통합되어 있으며 광범위한 커뮤니티 지원을 받고 있습니다.

모니터링 구성 요소

  • 웹 서버: 서버 요청을 처리하고 다른 백엔드 서비스 트랜잭션을 용이하게 하는 데 사용됩니다. 이 노드의 상태를 추적하기 위해 CPU, 메모리 및 네트워크 IO 트래픽을 모니터링하세요.
  • Workhorse: 메인 서버에서 웹 트래픽 혼잡을 줄이는 데 사용됩니다. 이 노드의 상태를 추적하기 위해 대기 시간 스파이크를 모니터링하세요.
  • Sidekiq: GitLab이 원할하게 실행되도록 하는 백그라운드 작업을 처리합니다. 이 노드의 상태를 추적하기 위해 긴 대기열을 모니터링하세요.

GitLab 데이터 백업

GitLab은 데이터를 안전하게 보관하고 복구할 수 있도록 백업 방법을 제공합니다. 자체 관리형 또는 GitLab SaaS 데이터베이스를 사용하든, 데이터를 정기적으로 백업하는 것이 중요합니다.

  • 백업 전략을 결정하세요.
  • 매일 백업을 하기 위해 cron 작업을 작성하세요.
  • 구성 파일을 별도로 백업하세요.
  • 백업에서 제외할 대상을 결정하세요.
  • 백업을 업로드할 위치를 결정하세요.
  • 백업 수명을 제한하세요.
  • 백업 및 복구를 주기적으로 검증하는 방법을 설정하세요.

GitLab 자체 관리형 인스턴스 백업

Linux 패키지 또는 Helm 차트로 배포했는지에 따라 절차가 다릅니다.

Linux 패키지를 사용하여 설치한 (단일 노드) GitLab 서버를 백업할 때 단일 레이크 작업을 사용할 수 있습니다.

Linux 패키지 또는 Helm 변형의 백업 방법에 대해 알아보세요. 이 절차는 인스턴스 전체를 백업하지만 구성 파일은 백업하지 않습니다. 암호화 키가 암호화된 데이터와 함께 저장되지 않도록 구성 파일과 백업 아카이브를 별도의 위치에 보관하세요.

백업 복원

백업은 생성된 GitLab 버전 및 유형(커뮤니티 에디션/엔터프라이즈 에디션)과 정확히 동일한 버전 및 유형에만 복원할 수 있습니다.

GitLab SaaS 백업

GitLab 데이터베이스 및 파일 시스템의 백업은 매일 24시간마다 수행되며 2주 동안 롤링 스케줄로 유지됩니다. 모든 백업은 암호화됩니다.

  • GitLab SaaS는 데이터의 안전을 보장하기 위해 백업을 생성하지만, 이러한 방법으로 데이터를 내보내거나 백업할 수는 없습니다.
  • 문제는 데이터베이스에 저장됩니다. Git에서는 저장할 수 없습니다.
  • 프로젝트를 다음에서 내보낼 수 있습니다:
  • 파일 내보내기를 업로드하여 그룹 내보내기 은 해당 내보내기 파일에 포함된 프로젝트를 내보내지 않지만 다음을 내보냅니다:
    • 에픽
    • 마일스톤
    • 보드
    • 레이블
    • 추가 아이템

GitLab SaaS 백업에 대한 자세한 정보는 백업 FAQ 페이지를 참조하세요.

대체 백업 전략

일부 상황에서는 백업을 위한 Rake 작업이 최적의 솔루션이 아닐 수 있습니다. Rake 작업이 작동하지 않는 경우 고려할 수 있는 몇 가지 대체안을 살펴보세요.

옵션 1: 파일 시스템 스냅샷

만약 GitLab 서버에 많은 Git 저장소 데이터가 포함되어 있다면, GitLab 백업 스크립트가 너무 느리다고 느낄 수 있습니다. 특히 외부 위치에 백업하는 경우 특히 느릴 수 있습니다.

느림 현상은 일반적으로 Git 저장소 데이터 크기가 약 200GB 정도일 때 시작됩니다. 이 경우, 백업 전략의 일부로 파일 시스템 스냅샷 사용을 고려해볼 수 있습니다.

예를 들어, 다음 구성 요소가 있는 GitLab 서버를 고려해보세요: - Linux 패키지 사용 중 - /var/opt/gitlab에서 마운트된 ext4 파일 시스템을 포함하는 AWS의 EBS 드라이브에 호스팅

EC2 인스턴스는 EBS 스냅샷을 찍는 것으로 애플리케이션 데이터 백업 요구 사항을 충족합니다. 백업에는 모든 저장소, 업로드, PostgreSQL 데이터가 포함됩니다.

일반적으로 가상화된 서버에서 GitLab을 실행 중인 경우, 전체 GitLab 서버의 VM 스냅샷을 만들 수 있습니다. VM 스냅샷을 찍기 위해서는 서버를 종료해야 하는 경우가 흔합니다.

옵션 2: GitLab Geo

Tier: Premium, Ultimate Offering: Self-managed

Geo는 GitLab 인스턴스의 지역 별 읽기 전용 인스턴스를 제공합니다.

GitLab Geo는 원격 팀이 로컬 GitLab 노드를 사용하여 더 효율적으로 작업할 수 있게 해주는 동시에 재해 복구 솔루션으로 사용할 수도 있습니다. 재해 복구 솔루션으로서의 Geo 사용에 대해 자세히 알아보세요.

Geo는 데이터베이스, Git 저장소 및 기타 몇 가지 에셋을 복제합니다. 복제 제한 사항에 대해 자세히 알아보세요.

GitLab Self-managed 지원

GitLab은 자체 관리 GitLab을 다양한 채널을 통해 지원합니다.

  • 우선순위 지원: 프리미엄 및 얼티밋 자체 관리 고객은 계층별 응답 시간이 있는 우선순위 지원을 받습니다. 우선순위 지원으로 업그레이드에 대해 자세히 알아보세요.
  • 실시간 업그레이드 지원: 운영 업그레이드 중에 1:1 전문가 지침을 받아보세요. 우선순위 지원 계획으로 GitLab 지원팀 구성원과의 라이브 예정 화면 공유 세션이 가능합니다.

자체 관리 GitLab 지원을 받으려면:

GitLab SaaS 지원

GitLab SaaS를 사용하는 경우, 지원 및 답변을 얻을 수 있는 다양한 채널이 있습니다.

  • 우선순위 지원: 골드 및 실버 GitLab SaaS 고객은 계층별 응답 시간이 있는 우선순위 지원을 받습니다. 우선순위 지원으로 업그레이드에 대해 자세히 알아보세요.
  • GitLab SaaS 24/7 모니터링: 전체 사이트 안정성 및 응용 프로그램 엔지니어 팀이 항상 대기 중입니다. 자주, 문제를 인지하는 순간 이미 누군가가 조치 중일 수 있습니다.

GitLab SaaS를 지원 받으려면:

자체 관리 GitLab을 위한 API 및 요청 제한

요청 제한은 서비스 거부 공격이나 무차별 공격을 방지합니다. 대부분의 경우, 단일 IP 주소로부터의 요청 속도를 제한함으로써 응용 프로그램 및 인프라의 부하를 줄일 수 있습니다.

요청 제한은 응용 프로그램의 보안을 향상시킵니다.

자체 관리 GitLab의 요청 제한 구성

기본 요청 제한을 Admin Area에서 변경할 수 있습니다. 구성에 대한 자세한 정보는 관리자 영역 페이지를 참조하세요.

API 및 요청 제한에 대한 자세한 정보는 API 페이지를 참조하세요.

GitLab SaaS의 API 및 요율 제한

요율 제한은 서비스 거부 공격 또는 무차별 대입 공격을 방지합니다. IP 차단은 일반적으로 GitLab.com이 단일 IP 주소에서 이상한 트래픽을 받을 때 발생합니다. 시스템은 요율 제한 설정을 기준으로 이상한 트래픽을 잠재적으로 악의적인 것으로 간주합니다.

요율 제한은 또한 애플리케이션의 보안을 향상시킵니다.

GitLab SaaS의 요율 제한 구성

관리 영역에서 기본 요율 제한을 변경할 수 있습니다. 구성에 대한 자세한 정보는 관리 영역 페이지를 참조하십시오.

  • 요율 제한 페이지 검토
  • API 및 요율 제한에 대한 자세한 내용은 API 페이지를 참조하십시오.

GitLab SaaS 특정 블록 및 오류 응답

  • 403 금지 오류: GitLab SaaS 요청에 대해 오류가 발생하면, 트리거된 가능성이 있는 자동화된 프로세스를 찾아야 합니다. 더 많은 지원이 필요하면 영향 받는 IP 주소를 포함하여 GitLab 지원팀에 문의하십시오.
  • HAProxy API 쓸모없는 부하: GitLab SaaS는 IP 주소 당 초당 10개의 요청을 초과하는 API 요청에 HTTP 상태 코드 429으로 응답합니다.
  • 보호된 경로 쓸모없는 부하: GitLab SaaS는 IP 주소 당 분당 10개의 요청을 초과하는 보호된 경로의 POST 요청에 HTTP 상태 코드 429으로 응답합니다.
  • Git 및 컨테이너 레지스트리 실패 인증 금지: GitLab SaaS는 단일 IP 주소로부터 3분 내에 30개의 실패 인증 요청을 받으면, 1시간 동안 HTTP 상태 코드 403으로 응답합니다.

GitLab 교육 자료

GitLab 관리 방법에 대해 자세히 알아볼 수 있습니다.

  • GitLab 포럼에 참여하여 우리의 재능 있는 커뮤니티와 정보를 교환하세요.
  • 계속해서 업데이트되는 우리의 블로그에서 다음과 같은 내용을 확인하세요:
    • 릴리스
    • 응용 프로그램
    • 기여
    • 뉴스
    • 이벤트

유료 GitLab 교육

  • GitLab 교육 서비스: 특화된 교육 과정을 통해 GitLab 및 DevOps 최상의 실천 방법에 대해 자세히 알아보세요. 전체 교육 과정 목록을 확인하세요.
  • GitLab 기술 인증: 주요 GitLab 및 DevOps 기술에 중점을 둔 인증 옵션을 살펴보세요.

무료 GitLab 교육

  • GitLab 기초: Git 및 GitLab 기초에 대한 자기 서비스 가이드를 찾아보세요.
  • GitLab 대학: 구조적인 과정에서 새로운 GitLab 기술을 습득하실 수 있는 GitLab 대학을 살펴보세요.

제3자 교육