Geo with Object storage

Tier: Premium, Ultimate Offering: Self-managed

객체 리포지터리에 저장된 파일의 검증은 GitLab 16.4에서 도입되었으며, geo_object_storage_verification이라는 플래그로 소개되었습니다. 기본적으로 활성화됩니다.

Geo는 객체 리포지터리(AWS S3 또는 기타 호환되는 객체 리포지터리)와 함께 사용할 수 있습니다.

보조 사이트는 다음 중 하나를 사용할 수 있습니다:

  • 기본 사이트와 동일한 리포지터리 버킷.
  • 복제된 리포지터리 버킷.
  • 기본이 로컬 리포지터리를 사용하는 경우 로컬 리포지터리.

파일의 저장 방법(로컬 또는 객체 리포지터리)은 데이터베이스에 기록되며, 데이터베이스는 기본 Geo 사이트에서 보조 Geo 사이트로 복제됩니다.

업로드된 객체에 액세스할 때 데이터베이스에서 해당 객체의 저장 방법(로컬 또는 객체 리포지터리)을 가져오므로, 보조 Geo 사이트는 기본 Geo 사이트의 저장 방법과 일치해야 합니다.

따라서, 기본 Geo 사이트가 객체 리포지터리를 사용하는 경우 보조 Geo 사이트도 사용해야 합니다.

가져야 할 항목:

GitLab이 관리하는 복제와 제3자가 관리하는 복제 사이의 비교에 대해서는 객체 리포지터리 복제 테스트를 참조하세요.

GitLab과의 객체 리포지터리 사용에 대해 자세히 알아보기.

GitLab이 관리하는 객체 리포지터리 복제 활성화

보조 사이트는 기본 사이트에 저장된 파일을 로컬 파일 시스템이나 객체 리포지터리에 상관없이 복제할 수 있습니다.

GitLab 복제를 활성화하려면:

  1. 왼쪽 사이드바에서 가장 아래쪽에 있는 관리 영역을 선택하세요.
  2. Geo > 노드를 선택합니다.
  3. 보조 사이트에서 편집을 선택합니다.
  4. 동기화 설정 섹션에서 이 보조 노드에게 객체 리포지터리의 콘텐츠를 복제할 수 있도록 허용 확인란을 선택하여 활성화합니다.

LFS의 경우 LFS 객체 리포지터리 설정을 따르세요.

CI 작업 아티팩트의 경우 유사한 문서가 있어 작업 아티팩트 객체 리포지터리 설정을 구성할 수 있습니다.

사용자 업로드의 경우 업로드 객체 리포지터리 설정을 구성하는 유사한 문서가 있습니다.

기본 사이트의 파일을 객체 리포지터리로 마이그레이션하려면, 다음과 같은 방법으로 보조를 구성할 수 있습니다:

  • 동일한 객체 리포지터리 사용.
  • 별도의 객체 리포지터리 사용 및 해당 객체 리포지터리 솔루션의 기본 복제 기능 활용.
  • 별도의 객체 리포지터리 사용 및 이 보조 노드에게 객체 리포지터리의 콘텐츠를 복제할 수 있도록 허용 설정 활성화.

GitLab은 현재 다음 경우를 지원하지 않습니다:

  • 기본 사이트가 로컬 리포지터리를 사용하는 경우.
  • 보조 사이트가 객체 리포지터리를 사용하는 경우.

제3자 복제 서비스

Amazon S3를 사용하는 경우 기본 사이트에서 사용하는 버킷과 보조 사이트에서 사용하는 버킷 간에 자동 복제를 위해 Cross-Region Replication (CRR)를 사용할 수 있습니다.

Google Cloud Storage를 사용하는 경우 Multi-Regional Storage를 고려해보세요. 또는 Storage Transfer Service를 사용할 수 있지만, 이는 매일 동기화만 지원합니다.

매뉴얼 동기화 또는 cron에 의한 예정 동기화를 위해 다음을 참조하세요: