AWS Route53을 사용한 위치 인식형 Git 원격 URL
사용자들에게 지리적으로 가장 가까운 Geo 사이트를 자동으로 사용하는 단일 원격 URL을 제공할 수 있습니다. 이는 사용자가 이동할 때 더 가까운 Geo 사이트의 이점을 살리기 위해 Git 구성을 업데이트할 필요가 없다는 것을 의미합니다.
이것은 가능한 이유는 Git push 요청이 보조 사이트에서 주 사이트로 자동으로 리디렉션(HTTP)하거나 프록시(SSH)될 수 있기 때문입니다.
이 지침은 AWS Route53을 사용하지만, Cloudflare와 같은 다른 서비스도 사용할 수 있습니다.
준비 사항
이 예에서는 이미 다음과 같이 설정했습니다.
-
primary.example.com을 Geo 주 사이트로 설정했습니다. -
secondary.example.com을 Geo 보조 사이트로 설정했습니다.
우리는 git.example.com 하위 도메인을 만들어 다음과 같이 자동으로 요청을 보냅니다.
- 유럽에서는 보조 사이트로부터.
- 다른 모든 위치에서는 주 사이트로부터.
어떤 경우에도 다음이 필요합니다.
- 자체 주소로 접근 가능한 작동 중인 GitLab 주 사이트.
- 작동 중인 GitLab 보조 사이트.
- 도메인을 관리하는 Route53 호스팅 영역.
아직 Geo 주 사이트와 보조 사이트를 설정하지 않았다면, Geo 설치 지침을 참조하세요.
트래픽 정책 생성
Route53 호스팅 영역에서 트래픽 정책을 사용하여 다양한 라우팅 구성을 설정할 수 있습니다.
-
Route53 대시보드로 이동하여 트래픽 정책을 선택합니다.
-
트래픽 정책 생성을 선택합니다.
-
정책 이름 필드에
단일 Git 호스트를 입력하고 다음을 선택합니다. -
DNS 유형은
IPv4 형식의 IP 주소로 남겨둡니다. -
연결 대상을 선택하고 지리적 위치 규칙을 선택합니다.
- 첫 번째 위치는
기본값으로 남겨둡니다. - 연결 대상을 선택하고 새 엔드포인트를 선택합니다.
-
유형을
값으로 선택하고<당신의 **주** IP 주소>로 입력합니다. - 두 번째 위치는
유럽을 선택합니다. - 연결 대상을 선택하고 새 엔드포인트를 선택합니다.
-
유형을
값으로 선택하고<당신의 **보조** IP 주소>로 입력합니다. -
트래픽 정책 생성을 선택합니다.
-
정책 레코드 DNS 이름에
git을 입력하고 정책 레코드 생성을 선택합니다.
이제 지역별로 트래픽을 Geo 사이트에 분산하는 git.example.com과 같은 단일 호스트를 성공적으로 설정했습니다!
특별한 Git 클론 URL 사용 설정
사용자가 리포지터리를 처음으로 클론할 때, 일반적으로 프로젝트 페이지에서 Git 원격 URL을 복사합니다. 기본적으로 이러한 SSH 및 HTTP URL은 현재 호스트의 외부 URL을 기반으로 합니다. 예를 들어:
git@secondary.example.com:group1/project1.githttps://secondary.example.com/group1/project1.git
다음을 사용자 정의할 수 있습니다.
- SSH 원격 URL을 위치 인식형
git.example.com을 사용하도록 변경합니다. 이를 위해gitlab.rb의gitlab_rails['gitlab_ssh_host']를 변경하여 SSH 원격 URL 호스트를 설정합니다. - HTTP 원격 URL은 HTTP(S)를 위한 사용자 정의 Git 클론 URL에 표시된 대로 설정합니다.
예시 Git 요청 처리 동작
위의 구성 단계를 따른 후에는 Git 요청 처리가 이제 위치를 인식합니다.
- 유럽 이외의 위치에서 모든 요청은 주 사이트로 전달됩니다.
- 유럽 내에서는:
- HTTP:
-
git clone http://git.example.com/foo/bar.git은 보조 사이트로 전달됩니다. -
git push는 초기에 보조로 전달된 후 자동으로primary.example.com으로 리디렉션됩니다.
-
- SSH:
-
git clone git@git.example.com:foo/bar.git은 보조로 전달됩니다. -
git push는 초기에 보조로 전달된 후 자동으로 요청을primary.example.com로 프록시합니다.
-
- HTTP:








도움말