두 단일 노드 사이트를 위한 Geo 설정 (외부 PostgreSQL 서비스 포함)
두 단일 노드 사이트를 위한 Geo 설정 (외부 PostgreSQL 서비스 포함)에 대해 설명합니다.
다음 가이드는 두 개의 Linux 패키지 인스턴스와 RDS, Azure Database, Google Cloud SQL 같은 외부 PostgreSQL 데이터베이스를 사용해 두 개의 단일 노드 사이트로 구성한 설치 환경에 GitLab Geo를 배포하는 방법을 간결하게 설명합니다. 사전 요구 사항: 독립적으로 작동하는 GitLab 사이트가 최소 두 개 있어야 합니다. 사이트를 생성하는 방법은 GitLab 참조 아키텍처 문서 를 참고합니다. GitLab 사이트 하나는 Geo 기본 사이트 역할을 합니다. Geo 사이트마다 다른 참조 아키텍처 규모를 사용할 수 있습니다. 이미 작동 중인 GitLab 인스턴스가 있다면 그 인스턴스를 기본 사이트로 사용할 수 있습니다. 두 번째 GitLab 사이트는 Geo 보조 사이트 역할을 합니다. Geo는 보조 사이트를 여러 개 지원합니다. Geo 기본 사이트에 최소 GitLab Premium 라이선스가 있어야 합니다. 모든 사이트에 라이선스 하나만 있으면 됩니다. 모든 사이트가 Geo 실행 요구 사항 을 충족하는지 확인합니다. Linux 패키지(Omnibus)에서 Geo 설정하기 # 사전 요구 사항: pg_basebackup 도구 가 포함된 PostgreSQL 12 이상을 사용해야 합니다. 기본 사이트 구성하기 # GitLab 기본 사이트에 SSH로 접속해 root로 로그인합니다: sudo -i /etc/gitlab/gitlab.rb 에 고유한 Geo 사이트 이름을 추가합니다: ## ## The unique identifier for the Geo site. See ## https://docs.gitlab.com/administration/geo_sites/#common-settings ## gitlab_rails[ 'geo_node_name' ] = '<site_name_here>' 변경 사항을 적용하려면 기본 사이트를 재구성합니다: gitlab-ctl reconfigure 해당 사이트를 Geo 기본 사이트로 지정합니다: gitlab-ctl set-geo-primary-node 이 명령은 /etc/gitlab/gitlab.rb 에 정의된 external_url 을 사용합니다. 구성 예시는 외부 PostgreSQL을 사용하는 기본 사이트 전체 구성 을 참고합니다. 복제할 외부 데이터베이스 구성하기 # 외부 데이터베이스를 설정하려면 다음 중 하나를 수행합니다: 스트리밍 복제 를 직접 설정합니다(예: Amazon RDS, 또는 Linux 패키지가 관리하지 않는 베어메탈). 다음과 같이 Linux 패키지 설치 환경을 수동으로 구성합니다. 클라우드 공급자의 도구를 활용하여 기본 데이터베이스 복제하기 # RDS를 사용하는 AWS EC2에 기본 사이트를 설정한 경우를 가정합니다. 이제 다른 리전에 읽기 전용 복제본을 만들기만 하면 되고, 복제 과정은 AWS가 관리합니다. 보조 Rails 노드가 데이터베이스에 접근할 수 있도록 Network ACL(액세스 제어 목록), 서브넷, 보안 그룹을 필요에 맞게 설정해야 합