InfoGrab Docs

AWS에서 GitLab 인스턴스 프로비저닝

AWS에서 GitLab 인스턴스를 설치하기 위한 IaC 도구 및 AWS PaaS 서비스 매핑

AWS에서 GitLab 인스턴스 설치를 위한 IaC(Infrastructure as Code) 가용성 # GitLab Environment Toolkit (GET) 은 의견이 담긴 Terraform 및 Ansible 스크립트 세트입니다. 이 스크립트는 선택된 클라우드 제공업체에서 Linux 패키지 또는 Cloud Native Hybrid 환경 배포를 돕고, GitLab Dedicated 를 위해 GitLab 개발자들이 사용합니다(예시). GitLab Environment Toolkit을 사용하여 AWS에서 Cloud Native Hybrid 환경을 배포할 수 있습니다. 단, 필수는 아니며 유효한 모든 순열을 지원하지 않을 수 있습니다. 그렇더라도 스크립트는 있는 그대로 제공되므로 필요에 따라 조정할 수 있습니다. 2개 및 3개 영역 고가용성 # GitLab 참조 아키텍처는 일반적으로 3개 영역 중복을 권장하지만, AWS Well Architected 프레임워크는 2개 영역 중복을 AWS Well Architected로 고려합니다. 개별 구현에서는 최종 구성을 위해 자체 고가용성 요구 사항에 대비하여 2개 및 3개 영역 구성의 비용을 고려해야 합니다. Gitaly 클러스터(Praefect)는 동기화된 노드 간 강력한 일관성을 구현하기 위해 일관성 투표 시스템을 사용합니다. 구현된 가용성 영역의 수에 관계없이, 짝수 노드로 인한 투표 교착 상태를 피하기 위해 클러스터에 최소 3개의 Gitaly 노드와 3개의 Praefect 노드가 항상 필요합니다. 모든 GitLab 구현에서 검증된 AWS PaaS # Linux 패키지 또는 Cloud Native Hybrid 구현 모두에 대해 다음 GitLab 서비스 역할은 AWS 서비스(PaaS)로 수행할 수 있습니다. 인스턴스 규모에 따라 사전 구성된 크기 조정이 필요한 PaaS 솔루션은 인스턴스 크기별 BOM(Bill of Materials) 목록에도 포함됩니다. 특정 크기 조정이 필요하지 않은 PaaS는 BOM 목록에 반복되지 않습니다(예: AWS Certification Manager). 이러한 서비스는 GitLab과 함께 테스트되었습니다. 로그 집계, 아웃바운드 이메일과 같은 일부 서비스는 GitLab에서 지정되지 않지만, 제공되는 경우 명시됩니다. GitLab 서비스 AWS PaaS (테스트됨) 참조 아키텍처에서 언급된 테스트된 PaaS PostgreSQL 데이터베이스 Amazon RDS PostgreSQL Redis 캐싱 Redis ElastiCache Gitaly 클러스터 (Git 리포지토리 저장소) (Praefect 및 PostgreSQL 포함) ASG 및 인스턴스 Git 리포지토리 저장소 외 모든 GitLab 저장소 (S3 호환 Git-LFS 포함) AWS S3 보조 서비스를 위한 테스트된 PaaS 프런트엔드 로드 밸런싱 AWS ELB 내부 로드 밸런싱 AWS ELB 아웃바운드 이메일 서비스 AWS Simple Email Service (SES) 인증 기관 및 관리 AWS Certific