- 개발 활동을 위한 통합
- 개발 및 특정 개발 프레임워크 또는 에코시스템의 배포를 위한 엔드 투 엔드 솔루션
- GitLab과 AWS의 시스템 간 통합
- AWS에 배포된 GitLab 인프라 작업 부하
AWS 통합
GitLab과 AWS를 통합하는 방법에 대해 알아봅니다.
이 콘텐츠는 GitLab 팀 구성원과 넓은 커뮤니티 구성원을 대상으로 합니다.
추가로 언급하지 않는 한, 이 모든 내용은 GitLab.com 및 Self-Managed형 인스턴스에 적용됩니다.
이 페이지는 GitLab이 AWS와 통합할 수 있는 방법을 색인화하려고 합니다. 그것은 통합이 일반 기능을 구성하는 결과인지, AWS 또는 GitLab에 내장되어 있는지, 또는 솔루션으로 제공되는지에 상관없이 이를 수행합니다.
텍스트 태그 | 구성 / 내장 / 솔루션 | 지원 / 유지관리 |
---|---|---|
[AWS Configuration]
| 기존 AWS 기능 구성을 통한 통합 | AWS |
[GitLab Configuration]
| 기존 GitLab 기능 구성을 통한 통합 | GitLab |
[AWS Built]
| AWS 제품팀에 의해 AWS에 내장되어 AWS 통합을 다루기 위해 구축 | AWS |
[GitLab Built]
| 제품팀에 의해 GitLab에 내장되어 AWS 통합을 다루기 위해 구축 | GitLab |
[AWS Solution]
| AWS 또는 AWS 파트너에 의해 솔루션 예시로 만들어진 것 | 커뮤니티 / 예시 |
[GitLab Solution]
| GitLab 또는 GitLab 파트너에 의해 솔루션 예시로 만들어진 것 | 커뮤니티 / 예시 |
[CI Solution]
| 일부분은 GitLab CI를 사용하여 만들어졌으므로 고객이 수정할 수 있는 부분이 더 많음 |
[CI Solution] 로 태그가 지정된 항목은 유지 상태를 나타내는 다른 태그 중 하나를 가지게 됨
|
개발 활동을 위한 통합
이 통합은 GitLab을 사용하여 응용 프로그램 워크로드를 빌드하고 AWS에 배포하는 데 관련이 있습니다.
SCM 통합
AWS CodeStar 연결 통합
2023년 8월 14일, GitLab.com SaaS를 위한 AWS 릴리즈 발표
2023년 12월 28일, Self-Managed형 / 전용을 위한 AWS 릴리즈 발표
AWS CodeStar Connections - 여러 AWS 서비스에 대한 SCM 연결을 가능케 합니다. GitLab 구성. 지원되는 제공 업체. 지원되는 AWS 서비스 - 각각은 GitLab을 지원하기 위해 업데이트를 해야할 수 있으므로 이곳에는 GitLab을 지원하는 서브셋이 있습니다. 이것은 GitLab.com SaaS, GitLab Self-Managed형 및 GitLab Dedicated에서 작동합니다. AWS CodeStar 연결은 모든 AWS 지역에서 사용할 수 있는 것이 아닙니다. 제외 디렉터리은 여기에 문서화되어 있습니다. (2023년 12월 28일) [AWS Built]
AWS CodeStar 연결 통합에 대한 설명 동영상(1분)
AWS 계정에서 직접 지원되는 AWS 서비스의 CodeStar 연결:
-
AWS Service Catalog은 CodeStar 연결을 직접 상속받으며, 계정에 만들어진 모든 GitLab CodeStar 연결을 사용하기 때문에 GitLab에 대한 특정 문서가 없습니다. (2023년 12월 28일)
[AWS Built]
-
AWS Proton은 CodeStar 연결을 직접 상속받으며, 계정에 만들어진 모든 GitLab CodeStar 연결을 사용하기 때문에 GitLab에 대한 특정 문서가 없습니다. (2023년 12월 28일)
[AWS Built]
-
AWS CodeBuild - GitLab.com, Self-Managed형 및 전용 - 여기를 클릭하여 문서 탭을 확인. (2024년 3월 26일)
[AWS Built]
문서 및 참조:
- GitLab.com 프로젝트에 대한 GitLab CodeStar 연결 생성
- Self-Managed형 중인 GitLab 인스턴스 또는 GitLab Dedicated 인스턴스에 대한 AWS CodeStar 연결 생성 (AWS 인터넷 Ingress를 허용하거나 VPC 연결을 사용해야 함)
AWS CodePipeline 통합
AWS CodePipeline 통합 - CodePipeline의 CodeStar 연결 원본으로 GitLab을 사용함으로써 추가 AWS 서비스 통합이 가능합니다. (2023년 12월 28일) [AWS Built]
AWS CodePipeline 통합에서 지원하는 AWS 서비스:
-
Amazon SageMaker MLOps Projects는 CodePipeline을 통해 생성됩니다 (여기에 언급된 대로), 계정에 만들어진 모든 GitLab CodeStar 연결을 사용하기 때문에 GitLab에 대한 특정 문서가 없습니다. (2023년 12월 28일)
[AWS Built]
문서 및 참조:
- GitLab.com 프로젝트에 대한 GitLab CodePipeline 통합 생성
- Self-Managed형 중인 GitLab 인스턴스 또는 GitLab Dedicated 인스턴스에 대한 AWS CodePipeline 통합 생성 (AWS 인터넷 Ingress를 허용하거나 VPC 연결을 사용해야 함)
아직 GitLab을 지원하지 않는 CodeStar 연결이 활성화된 AWS 서비스
-
AWS CloudFormation - 공용 확장 기반의 배포 - 아직 지원되지 않음.
[AWS Built]
-
Amazon CodeGuru Reviewer Repositories - 아직 지원되지 않음.
[AWS Built]
-
AWS App Runner - 아직 지원되지 않음.
[AWS Built]
AWS 서비스에서의 사용자 정의 GitLab 통합
-
Amazon SageMaker 노트북은 Git 리포지터리를 Git 클론 URL로 지정하고 시크릿을 구성할 수 있으므로 GitLab이 구성 가능합니다. (2023년 12월 28일)
[AWS Configuration]
-
AWS Amplify - AWS Amplify 팀이 설계한 Git 통합 메커니즘을 사용함.
[AWS Built]
-
AWS Glue Notebook 작업은 “작업” 수준에서 GitLab 리포지터리 URL과 개인 액세스 토큰(PAT) 인증을 지원합니다. (2022년 10월 3일) AWS 문서에서 GitLab 구성에 관해
[AWS Configuration]
기타 SCM 통합 옵션
-
GitLab Push Mirroring to CodeCommit 작업 중 GitLab 리포지터리가 CodePipeline SCM 트리거를 활용할 수 있게 하는 해결책입니다. GitLab은 이미 CodePipeline을 위한 S3 및 컨테이너 트리거를 활용할 수 있습니다. 이 작업을 통해 CodePipeline 기능을 활성화할 수 있었는데 이 내용이 문서화되었습니다.(2020년 6월 6일)
[GitLab 구성]
관련된 Continuous Deployment (CD) 특정 통합은 아래 CD 및 운영 통합을 참조하세요.
CI 통합
- GitLab Runners에서 AWS 서비스로 인증을 위해 키, IAM 또는 OIDC/JWT를 사용하는 직접적인 CI 통합
-
Amazon CodeGuru Reviewer CI 워크플로우를 위한 GitLab CI - 가능하지만 아직 문서화되지 않음.
[AWS 솔루션]
[CI 솔루션]
-
GitLab CI를 사용한 Amazon CodeGuru Secure Scanning (2022년 6월 13일)
[AWS 솔루션]
[CI 솔루션]
CD 및 운영 통합
-
AWS CodeDeploy 통합 - 앞서 언급한 SCM 통합의 CodePipeline 지원을 통해 가능합니다. 이 기능을 통해 GitLab이 AWS의 다양한 고급 배포 서브시스템 디렉터리과 상호 작용할 수 있습니다. (2023년 12월 28일)
[AWS 프로덕션]
- AWS SAM 파이프라인 - GitLab을 위한 파이프라인 지원이 가능합니다. (2021년 7월 31일)
-
응용 프로그램 배포를 위한 EKS 클러스터 통합.
[GitLab 프로덕션]
-
GitLab에서 CodePipeline이 모니터링하는 S3 위치로 빌드 아티팩트 푸시
[AWS 프로덕션]
-
GitLab에서 CodePipeline이 모니터링하는 AWS ECR로 컨테이너 푸시
[AWS 프로덕션]
개발 및 특정 개발 프레임워크 또는 에코시스템의 배포를 위한 엔드 투 엔드 솔루션
일반적인 솔루션은 개발 프레임워크의 엔드 투 엔드 기능을 보여주기 위해 관련된 모든 통합 기술을 활용합니다. 이는 GitLab과 AWS를 함께 사용하여 최대 가치를 실현하는 방법을 보여줍니다.
서버리스
-
Enterprise DevOps Blueprint: AWS에서 Serverless Framework 앱 - 작동하는 예제 코드와 자습서입니다.
[GitLab 솔루션]
[CI 솔루션]
-
자습서: GitLab Serverless SAST 스캔을 통한 AWS로의 Serverless Framework 배포
[GitLab 솔루션]
[CI 솔루션]
-
자습서: GitLab 보안 정책 승인 규칙 및 관리형 DevOps 환경을 활용한 보안 Serverless Framework 개발
[GitLab 솔루션]
[CI 솔루션]
-
자습서: GitLab Serverless SAST 스캔을 통한 AWS로의 Serverless Framework 배포
Terraform
-
Enterprise DevOps Blueprint: AWS로의 Terraform 배포
-
GitLab IaC SAST 스캔을 통한 AWS로의 Terraform 배포 자습서
[GitLab 솔루션]
[CI 솔루션]
-
GitLab 보안 정책 승인 규칙 및 관리형 DevOps 환경을 활용한 AWS로의 Terraform 배포
[GitLab 솔루션]
[CI 솔루션]
-
GitLab IaC SAST 스캔을 통한 AWS로의 Terraform 배포 자습서
CloudFormation
GitLab Lifecycle 관리형 DevOps 환경으로의 CloudFormation 개발과 배포 작업 코드 [GitLab 솔루션]
[CI 솔루션]
CDK
-
AWS CDK를 사용한 GitLab 파이프라인에서의 Cross-Account 배포 구축
[AWS 솔루션]
[CI 솔루션]
.NET on AWS
-
AWS에서 .NET Framework 4.x Runners를 확장하는 작동 예제 코드
[GitLab 솔루션]
[CI 솔루션]
-
.NET Framework 4.x 프로젝트의 코드 및 빌드를 위한 비디오 안내
[GitLab 솔루션]
[CI 솔루션]
GitLab과 AWS의 시스템 간 통합
AWS Identity 공급자(IDP)를 구성하여 GitLab에 인증하거나 GitLab을 AWS 계정의 IDP로 사용할 수 있습니다.
GitLab.com의 최상위 그룹을 “네임스페이스”라고도 합니다. 회사명으로 지정한 후 GitLab.com에서 귀사를 위한 테넌트를 설정하는 첫 번째 단계입니다. 네임스페이스는 SSO와 같은 특별한 기능을 구성할 수 있으며, 이를 통해 귀사의 IDP를 GitLab에 통합할 수 있습니다.
GitLab과 AWS 간 사용자 인증 및 권한 부여
- GitLab.com 그룹을 위한 SAML SSO - GitLab.com 전용
- GitLab과 LDAP 통합 - Self-Managed형 전용
Runner 작업 부하의 인증 및 권한 부여 통합
-
OpenID 및 JWT 인증을 사용한 Runner 작업 인증
[GitLab 프로덕션]
-
GitLab과 AWS 간의 OpenID Connect 구성
[GitLab 솔루션]
[CI 솔루션]
-
GitLab 및 ECS를 사용한 OIDC 및 Multi-Account 배포
[GitLab 솔루션]
[CI 솔루션]
-
GitLab과 AWS 간의 OpenID Connect 구성
AWS에 배포된 GitLab 인프라 작업 부하
GitLab은 최대 500명의 사용자까지 한 대의 서버에서 배포될 수 있지만, 50,000명과 같이 매우 큰 사용자 수를 위해 수평적으로 확장되면 매우 복잡하며 여러 계층으로 구성된 플랫폼이 되어 AWS로의 배포의 이점을 누릴 수 있습니다. GitLab은 AWS 서비스를 기반으로 지원되며 정기적으로 테스트됩니다. GitLab은 전통적인 확장을 위해 Ec2에 배포할 수 있고, 클라우드 네이티브 하이브리드 구현에서 AWS EKS에 배포할 수 있습니다. 여기서 하이브리드는 특정 서비스 계층이 Git에 공통되는 형태의 작업 부하 변형을 처리하는 방식으로 인해 컨테이너 클러스터에 배치할 수 없는 서비스 계층이 있기 때문에 사용됩니다.
GitLab 인스턴스 컴퓨팅 및 운영 통합
- AWS에 GitLab Self-Managed 설치
- GitLab를 배포할 때 사용할 수 있는 AWS 서비스
- GitLab 단일 EC2 인스턴스.
[GitLab 빌트]
- 5 Seat AWS marketplace 구독 사용
- 준비된 AMI 사용 - 엔터프라이즈 에디션의 라이선스를 가져오세요.
- GitLab 클라우드 네이티브 하이브리드 AWS EKS 및 Paas.
[GitLab 빌트]
-
GitLab 환경 도구킷 (GET) 사용 -
[GitLab 솔루션]
-
GitLab 환경 도구킷 (GET) 사용 -
- AWS EC2 및 PaaS에서 확장된 GitLab 인스턴스.
[GitLab 빌트]
-
GitLab 환경 도구킷 (GET) 사용 -
[GitLab 솔루션]
-
GitLab 환경 도구킷 (GET) 사용 -
- GitLab Self-Managed Prometheus 메트릭을 위한 Amazon Managed Grafana.
[AWS 빌트]
AWS 컴퓨트에서의 GitLab Runner
-
GitLab Runner Autoscaler - GitLab Runner 팀이 개발한 핵심 기술.
[GitLab 빌트]
-
GitLab Runner Infrastructure Toolkit (GRIT) - GitLab Runner 팀이 관리하는 인프라스트럭처 기반 코드. GitLab Runner Autoscaler와 같은 것을 배포하는 데 필요합니다.
[GitLab 빌트]
-
AWS EC2에서 GitLab Runner 자동 확장.
[GitLab 빌트]
-
AWS EC2 ASG용 GitLab HA 스케일링 Runner 자동판매기.
[GitLab 솔루션]
- 자동판매기 훈련 자원.
-
GitLab EKS Fargate Runners.
[GitLab 솔루션]