- 인증
- 프로젝트 및 그룹
- 프로젝트 가져오기
- GitLab 인스턴스 보안
- GitLab 성능 모니터링
- GitLab 데이터 백업
- GitLab 자체 관리 지원
- GitLab SaaS 지원
- 자체 관리 GitLab의 API 및 속도 제한
- GitLab SaaS를 위한 API 및 속도 제한
- GitLab 교육 리소스
GitLab 관리 시작하기
GitLab 관리로 시작하세요. 조직과 인증을 구성한 후 GitLab을 보호하고, 모니터링하고, 백업하세요.
인증
인증은 설치를 안전하게 만드는 첫 번째 단계입니다.
- 모든 사용자에 대해 이중 인증(2FA) 강제 적용. 자가 관리 인스턴스에 대해 2FA를 강력히 권장합니다.
- 사용자가 다음을 수행하는지 확인하세요:
- 강력하고 안전한 비밀번호를 선택하세요. 가능하다면 비밀번호 관리 시스템에 저장하세요.
- 모든 사용자에 대해 설정되지 않은 경우, 귀하의 계정에 대해 이중 인증(2FA)를 활성화하세요. 이 일회성 비밀 코드는 비밀번호가 유출되더라도 침입자를 차단하는 추가 안전장치입니다.
- 백업 이메일을 추가하세요. 계정에 대한 접근을 잃게 되면 GitLab 지원 팀이 더 빠르게 도와줄 수 있습니다.
- 복구 코드를 저장하거나 인쇄하세요. 인증 장치에 접근할 수 없는 경우, 이 복구 코드를 사용하여 GitLab 계정에 로그인할 수 있습니다.
- 프로필에 SSH 키를 추가하세요. SSH를 통해 필요에 따라 새로운 복구 코드를 생성할 수 있습니다.
- 퍼스널 액세스 토큰을 활성화하세요. 2FA를 사용할 때 이러한 토큰을 사용하여 GitLab API에 접근할 수 있습니다.
프로젝트 및 그룹
그룹과 프로젝트를 구성하여 환경을 조직하세요.
- 프로젝트: 파일 및 코드의 홈을 지정하거나 비즈니스 카테고리에서 문제를 추적하고 조직하세요.
- 그룹: 사용자 또는 프로젝트 컬렉션을 조직하세요. 이 그룹을 사용하여 사람들과 프로젝트를 빠르게 할당하세요.
- 역할: 프로젝트와 그룹에 대한 사용자 접근 및 가시성을 정의하세요.
그룹 및 프로젝트 개요를 시청하세요.
시작하기:
추가 리소스
- 여러 Agile 팀 운영하기.
- LDAP를 사용하여 그룹 멤버십 동기화.
- 상속된 권한으로 사용자 접근 관리. 팀과 프로젝트를 조직하기 위해 최대 20개 수준의 하위 그룹을 사용할 수 있습니다.
프로젝트 가져오기
GitHub, Bitbucket 또는 다른 GitLab 인스턴스와 같은 외부 소스에서 프로젝트를 가져와야 할 수 있습니다. 많은 외부 소스를 GitLab으로 가져올 수 있습니다.
- GitLab 프로젝트 문서를 검토하세요.
- 저장소 미러링을 고려하세요—프로젝트 마이그레이션의 대안입니다.
- 일반적인 마이그레이션 경로에 대한 문서가 포함된 마이그레이션 인덱스를 확인하세요.
- 가져오기/내보내기 API를 사용하여 프로젝트 내보내기를 예약하세요.
인기 프로젝트 가져오기
이 데이터 유형에 대한 지원이 필요하면, 귀하의 GitLab 계정 관리자 또는 GitLab 지원팀에 연락하여 전문 마이그레이션 서비스에 대해 문의하세요.
GitLab 인스턴스 보안
보안은 온보딩 과정에서 중요한 부분입니다. 인스턴스를 보호하면 귀하의 작업과 조직을 보호할 수 있습니다.
이것이 포괄적인 목록은 아니지만, 이러한 단계를 따라가면 인스턴스를 보호하는 데 좋은 출발점이 됩니다.
- 긴 루트 비밀번호를 사용하고, 금고에 저장하세요.
- 신뢰할 수 있는 SSL 인증서를 설치하고 갱신 및 폐기 절차를 수립하세요.
- 귀하의 조직 가이드라인에 따라 SSH 키 제한을 구성하세요.
- 새로운 회원가입을 비활성화하세요.
- 이메일 확인을 요구하세요.
- 비밀번호 길이 제한을 설정하고, SSO 또는 SAML 사용자 관리를 구성하세요.
- 회원가입을 허용하는 경우 이메일 도메인을 제한하세요.
- 2단계 인증(2FA)을 요구하세요.
- Git over HTTPS의 비밀번호 인증을 비활성화하세요.
- 알 수 없는 로그인에 대한 이메일 알림을 설정하세요.
- 사용자 및 IP 요금 제한을 구성하세요.
- 웹후크 로컬 액세스를 제한하세요.
- 보호된 경로에 대한 요금 제한을 설정하세요.
- 커뮤니케이션 환경 설정 센터로부터 보안 알림에 가입하세요.
- 우리의 블로그 페이지에서 보안 모범 사례를 계속 추적하세요.
GitLab 성능 모니터링
기본 설정을 마친 후, GitLab 모니터링 서비스 검토를 준비하게 됩니다. Prometheus는 우리의 핵심 성능 모니터링 도구입니다.
다른 모니터링 솔루션(예: Zabbix 또는 New Relic)과 달리 Prometheus는 GitLab과 밀접하게 통합되어 있으며 광범위한 커뮤니티 지원을 받습니다.
- Prometheus는 이 GitLab 메트릭을 캡처합니다.
- GitLab 번들 소프트웨어 메트릭에 대해 자세히 알아보세요.
- Prometheus 및 해당 내보내기는 기본적으로 활성화되어 있습니다. 그러나 서비스를 구성해야 합니다.
- GitLab 아키텍처에 대해 자세히 알아보세요.
- 애플리케이션 성능 메트릭의 중요성을 알아보세요.
- Grafana를 통합하여 성능 메트릭을 기반으로 비주얼 대시보드를 구축하세요.
모니터링 구성 요소
- 웹 서버: 서버 요청을 처리하고 다른 백엔드 서비스 트랜잭션을 촉진합니다. 이 노드의 건강을 추적하기 위해 CPU, 메모리 및 네트워크 IO 트래픽을 모니터링하세요.
- 워크호스: 메인 서버의 웹 트래픽 혼잡을 완화합니다. 이 노드의 건강을 추적하기 위해 지연 시간 스파이크를 모니터링하세요.
- 사이드키크: GitLab이 원활하게 실행되도록 백그라운드 작업을 처리합니다. 이 노드의 건강을 추적하기 위해 긴, 처리되지 않은 작업 대기를 모니터링하세요.
GitLab 데이터 백업
GitLab은 데이터를 안전하고 복구 가능한 상태로 유지하기 위한 백업 방법을 제공합니다. Self-managed 또는 GitLab SaaS 데이터베이스를 사용하든 정기적으로 데이터를 백업하는 것이 중요합니다.
- 백업 전략을 결정하세요.
- 매일 백업을 만들기 위해 cron 작업을 작성하는 것을 고려하세요.
- 구성 파일을 별도로 백업하세요.
- 백업에서 제외할 내용을 결정하세요.
- 백업을 업로드할 위치를 결정하세요.
- 백업 수명을 제한하세요.
- 테스트 백업 및 복원을 실행하세요.
- 주기적으로 백업을 검증할 방법을 설정하세요.
GitLab self-managed 인스턴스 백업
루틴은 Linux 패키지를 사용하여 배포했는지 또는 Helm 차트를 사용하여 배포했는지에 따라 다릅니다.
Linux 패키지를 사용하여 설치된 (단일 노드) GitLab 서버를 백업할 때는 단일 Rake 작업을 사용할 수 있습니다.
Linux 패키지 또는 Helm 변형 백업에 대해 알아보세요.
이 과정은 전체 인스턴스를 백업하지만 구성 파일은 백업하지 않습니다. 이 파일들은 별도로 백업해야 합니다.
구성 파일과 백업 아카이브를 별도의 위치에 보관하여 암호화 키가 암호화된 데이터와 함께 보관되지 않도록 하세요.
백업 복원
백업은 생성된 동일한 버전 및 유형 (Community Edition/Enterprise Edition)의 GitLab에만 복원할 수 있습니다.
- Linux 패키지 (Omnibus) 백업 및 복원 문서를 검토하세요.
- Helm 차트 백업 및 복원 문서를 검토하세요.
GitLab SaaS 백업
생산 데이터베이스의 백업은 매시간 디스크 스냅샷을 통해 이루어지며 매 24시간마다 wal-g 기본 백업을 통해 수행되며, 지속적 아카이빙 또는 WAL 트랜잭션 로그 파일이 GCS로 스트리밍 되어 특정 시점 복구를 지원합니다.
모든 백업은 암호화됩니다. 90일 후에는 백업이 삭제됩니다.
- GitLab SaaS는 데이터를 안전하게 유지하기 위해 백업을 생성하지만, 이러한 방법을 사용하여 데이터를 직접 내보내거나 백업할 수는 없습니다.
- 이슈는 데이터베이스에 저장됩니다. Git 자체에는 저장될 수 없습니다.
- 다음에서 프로젝트 내보내기 옵션을 사용할 수 있습니다:
-
파일 내보내기를 업로드하여 그룹 내보내기는 프로젝트를 내보내지 않지만 다음을 내보냅니다:
- 에픽
- 이정표
- 보드
- 레이블
- 추가 항목
GitLab SaaS 백업에 대한 자세한 내용은 백업 FAQ 페이지를 참조하세요.
대체 백업 전략
일부 상황에서는 백업을 위한 Rake 작업이 가장 최적의 솔루션이 아닐 수 있습니다. Rake 작업이 작동하지 않는 경우 고려할 수 있는 대안입니다.
옵션 1: 파일 시스템 스냅샷
GitLab 서버에 많은 Git 저장소 데이터가 포함되어 있는 경우 GitLab 백업 스크립트의 속도가 너무 느릴 수 있습니다. 특히 오프사이트 위치로 백업할 때 더욱 느려질 수 있습니다.
느림은 일반적으로 Git 저장소 데이터 크기가 약 200GB에서 시작됩니다. 이 경우 백업 전략의 일부로 파일 시스템 스냅샷을 사용하는 것을 고려할 수 있습니다.
예를 들어, 다음 구성 요소를 가진 GitLab 서버를 고려하세요:
- Linux 패키지 사용.
- EBS 드라이브가 포함된 AWS에서 호스팅되며
/var/opt/gitlab
에 ext4 파일 시스템이 마운트됨.
EC2 인스턴스는 EBS 스냅샷을 찍어 애플리케이션 데이터 백업 요건을 충족합니다. 백업에는 모든 리포지토리, 업로드 및 PostgreSQL 데이터가 포함됩니다.
일반적으로 프로세스를 가상화된 서버에서 GitLab을 실행하고 있는 경우 GitLab 서버 전체의 VM 스냅샷을 생성할 수 있습니다.
VM 스냅샷을 생성하려면 서버를 종료해야 할 수 있습니다.
옵션 2: GitLab Geo
Geo는 GitLab 인스턴스의 로컬 읽기 전용 인스턴스를 제공합니다.
GitLab Geo는 원격 팀이 로컬 GitLab 노드를 사용하여 보다 효율적으로 작업하도록 돕지만, 재해 복구 솔루션으로도 사용할 수 있습니다.
Geo를 재해 복구 솔루션으로 사용하는 방법에 대해 자세히 알아보세요.
Geo는 데이터베이스, Git 리포지토리 및 몇 가지 기타 자산을 복제합니다.
Geo가 복제하는 데이터 유형에 대해 자세히 알아보세요.
GitLab 자체 관리 지원
GitLab은 다양한 채널을 통해 자체 관리 GitLab에 대한 지원을 제공합니다.
- 우선 지원: Premium과 Ultimate 자체 관리 고객은 우선 지원을 받으며, 계층화된 응답 시간으로 지원받습니다.
우선 지원으로 업그레이드하는 방법에 대해 자세히 알아보세요. - 라이브 업그레이드 지원: 프로덕션 업그레이드 중 일대일 전문가 가이드를 받습니다. 우선 지원 계획을 통해 지원 팀 구성원과의 예약된 화면 공유 세션을 라이브로 받을 수 있습니다.
자체 관리 GitLab에 대한 지원을 받으려면:
- 셀프 서비스 지원을 위해 GitLab 문서를 사용하세요.
- 커뮤니티 지원을 위해 GitLab 포럼에 가입하세요.
- 티켓을 제출하기 전에 구독 정보를 수집하세요.
- 지원 티켓을 제출하세요.
GitLab SaaS 지원
GitLab SaaS를 사용하는 경우 지원을 받고 답변을 찾을 수 있는 여러 채널이 있습니다.
- 우선 지원: Gold 및 Silver GitLab SaaS 고객은 우선 지원을 받으며, 계층화된 응답 시간을 갖습니다.
우선 지원으로 업그레이드하는 방법에 대해 자세히 알아보세요. - GitLab SaaS 24/7 모니터링: 사이트 신뢰성 및 프로덕션 엔지니어 전체 팀이 항상 대기 중입니다.
문제를 인식할 때쯤이면 누군가 이미 문제가 발생한 것을 조사하고 있습니다.
GitLab SaaS에 대한 지원을 받으려면:
- 셀프 서비스 지원을 위해 GitLab Docs에 접근하세요.
- 커뮤니티 지원을 위해 GitLab 포럼에 가입하세요.
- 티켓을 제출하기 전에 구독 정보를 수집하세요.
- 다음에 대해 지원 티켓을 제출하세요:
- GitLab 성능 또는 서비스 중단에 대한 최신 정보를 받으려면 상태 페이지를 구독하세요.
자체 관리 GitLab의 API 및 속도 제한
속도 제한은 서비스 거부 또는 무차별 공격을 방지합니다. 대부분의 경우, 단일 IP 주소에서 요청 속도를 제한하여 애플리케이션과 인프라의 부담을 줄일 수 있습니다.
속도 제한은 애플리케이션의 보안도 향상시킵니다.
자체 관리 GitLab의 속도 제한 구성
관리자 영역에서 기본 속도 제한을 변경할 수 있습니다. 구성에 대한 자세한 내용은 관리자 영역 페이지를 참조하세요.
- 사용자당 분당 최대 문제 생성 요청 수를 설정하는 문제 속도 제한을 정의하세요.
- 인증되지 않은 웹 요청에 대한 사용자 및 IP 속도 제한을 적용하세요.
- 원시 파일 접근에 대한 원시 엔드포인트의 속도 제한을 검토하세요. 기본 설정은 분당 300 요청입니다.
- 활성 기본값 6개의 가져오기/내보내기 속도 제한을 검토하세요.
API 및 속도 제한에 대한 자세한 내용은 API 페이지를 참조하세요.
GitLab SaaS를 위한 API 및 속도 제한
속도 제한은 서비스 거부 또는 브루트 포스 공격을 방지합니다. IP 차단은 일반적으로 GitLab.com이 단일 IP 주소로부터 비정상적인 트래픽을 수신할 때 발생합니다. 시스템은 속도 제한 설정에 따라 비정상적인 트래픽을 잠재적으로 악의적인 것으로 간주합니다.
속도 제한은 또한 애플리케이션의 보안을 향상시킵니다.
GitLab SaaS를 위한 속도 제한 구성
기본 속도 제한에 대한 변경을 Admin 영역에서 수행할 수 있습니다. 구성에 대한 자세한 내용은 Admin 영역 페이지를 참조하십시오.
- 속도 제한 페이지를 검토하십시오.
- 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 및 DevOps 모범 사례에 대한 전문 교육 과정에서 자세히 알아보세요. 전체 과정 카탈로그를 확인하세요.
- GitLab 기술 인증: 핵심 GitLab 및 DevOps 기술에 중점을 둔 인증 옵션을 탐색하세요.
무료 GitLab 교육
- GitLab 기초: Git 및 GitLab 기초에 대한 셀프 서비스 가이드를 확인하세요.
- GitLab University: GitLab University에서 구조화된 과정으로 새로운 GitLab 기술을 배워보세요.
타사 교육
- Udemy: 보다 저렴한 안내 교육 옵션으로는 Udemy에서 GitLab CI: Pipelines, CI/CD, and DevOps for Beginners를 고려해 보세요.
- LinkedIn Learning: 저렴한 안내 교육 옵션의 또 다른 예로는 LinkedIn Learning에서 Continuous Delivery with GitLab을 확인하세요.