- 개발 활동을 위한 통합
- 특정 개발 프레임워크 또는 에코시스템의 개발 및 배포를 위한 종단간 솔루션
- GitLab 및 AWS 간 시스템 간 통합
- AWS에 배포된 GitLab 인프라 워크로드
AWS 통합
GitLab과 AWS를 통합하는 방법에 대해 알아봅니다.
이 콘텐츠는 GitLab 팀 구성원과 넓은 커뮤니티 구성원을 대상으로 합니다.
특별히 언급되지 않는 한, 이 모든 내용은 GitLab.com 및 자체 관리 인스턴스에 적용됩니다.
이 페이지는 GitLab이 AWS와 통합하는 방법을 색인화하려고 시도합니다. 통합이 일반 기능을 구성하는 결과이거나 AWS 또는 GitLab에 내장되어 있는 경우 또는 솔루션으로 제공되는 경우입니다.
텍스트 태그 | 구성 / 내장 / 솔루션 | 지원 / 유지보수 |
---|---|---|
[AWS Configuration]
| 기존 AWS 기능 구성을 통한 통합 | AWS |
[GitLab Configuration]
| 기존 GitLab 기능 구성을 통한 통합 | GitLab |
[AWS Built]
| AWS 제품팀에 의해 AWS에 내장된 통합 | AWS |
[GitLab Built]
| 제품팀에 의해 GitLab에 내장된 통합 | GitLab |
[AWS Solution]
| AWS 또는 AWS 파트너가 솔루션 예제로 개발한 것 | 커뮤니티 / 예제 |
[GitLab Solution]
| GitLab 또는 GitLab 파트너가 솔루션 예제로 개발한 것 | 커뮤니티 / 예제 |
[CI Solution]
| 부분적으로 GitLab CI를 사용하여 개발된 것, 따라서 고객 맞춤화가 가능한 것 |
[CI Solution] 태그는 유지 상태를 나타내는 다른 태그 중 하나를 함께 사용합니다.
|
개발 활동을 위한 통합
이 통합은 GitLab을 사용하여 애플리케이션 워크로드를 빌드하고 AWS에 배포하는 데 관련이 있습니다.
SCM 통합
AWS CodeStar 연결 통합
2023년 8월 14일 AWS Release Announcement for GitLab.com SaaS
2023년 12월 28일 AWS Release Announcement for Self-Managed / Dedicated
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 연결 통합에 대한 AWS (1분) 비디오 설명
AWS 계정에서 AWS CodeStar 연결을 직접으로 지원하는 AWS 서비스:
-
AWS Service Catalog는 직접적으로 CodeStar 연결을 상속받습니다. GitLab에 대한 구체적인 문서는 없습니다. 왜냐하면 계정에 이미 생성된 어떤 GitLab CodeStar 연결이라도 사용하기 때문입니다. (2023년 12월 28일)
[AWS Built]
-
AWS Proton은 직접적으로 CodeStar 연결을 상속받습니다. GitLab에 대한 구체적인 문서는 없습니다. 왜냐하면 계정에 이미 생성된 어떤 GitLab CodeStar 연결이라도 사용하기 때문입니다. (2023년 12월 28일)
[AWS Built]
-
AWS CodeBuild - GitLab.com, 자체 관리 및 전담 - 여기에서 문서 탭을 클릭. (2024년 3월 26일)
[AWS Built]
문서 및 참고 자료:
- GitLab.com 프로젝트에 대한 GitLab CodeStar 연결 생성
- 자체 관리 GitLab 인스턴스 또는 GitLab 전담 인스턴스에 대한 AWS CodeStar 연결 생성 (AWS에서 인터넷 Ingress를 허용하거나 VPC 연결을 사용해야 함)
AWS CodePipeline 통합
AWS CodePipeline 통합 - CodeStar 연결의 소스로 GitLab을 사용하여 CodePipeline의 추가 AWS 서비스 통합을 사용할 수 있습니다. (2023년 12월 28일) [AWS Built]
AWS CodePipeline 통합으로 지원되는 AWS 서비스:
-
Amazon SageMaker MLOps Projects는 CodePipeline을 통해 생성됩니다(여기에 언급된 대로). GitLab에 대한 구체적인 문서는 없습니다. 왜냐하면 계정에 이미 생성된 어떤 GitLab CodeStar 연결이라도 사용하기 때문입니다. (2023년 12월 28일)
[AWS Built]
문서 및 참고 자료:
- GitLab.com 프로젝트에 대한 AWS CodePipeline 통합 생성
- 자체 관리 GitLab 인스턴스 또는 GitLab 전담 인스턴스에 대한 AWS CodePipeline 통합 생성 (AWS에서 인터넷 Ingress를 허용하거나 VPC 연결을 사용해야 함)
GitLab이 아직 지원하지 않는 AWS CodeStar Connections의 AWS 서비스
-
AWS CloudFormation의 공개 확장에 대한 게시 - 아직 지원되지 않음.
[AWS Built]
-
Amazon CodeGuru Reviewer Repositories - 아직 지원되지 않음.
[AWS Built]
-
AWS App Runner - 아직 지원되지 않음.
[AWS Built]
AWS 서비스에서의 커스텀 GitLab 통합
-
Amazon SageMaker 노트북 Git 복제 URL로 지정된 Git 리포지토리 및 시크릿 구성 (12/28/2023) 가능 - GitLab 구성 가능합니다.
[AWS 구성]
-
AWS Amplify - AWS Amplify 팀이 디자인한 Git 통합 메커니즘 사용합니다.
[AWS Built]
-
AWS Glue Notebook Jobs - “작업” 수준에서 GitLab 리포지토리 URL을 지원하고 개인 액세스 토큰(PAT) 인증이 가능합니다 (10/03/2022) GitLab 구성에 대한 AWS 문서
[AWS 구성]
기타 SCM 통합 옵션
-
GitLab Push Mirroring to CodeCommit 워크어라운드를 통해 GitLab 리포지토리가 CodePipeline SCM 트리거를 활용할 수 있습니다. GitLab은 이미 CodePipeline의 S3 및 Container 트리거를 활용할 수 있습니다. 이 워크어라운드는 문서화되었으므로 CodePipeline의 기능을 활성화합니다. (06/06/2020)
[GitLab 구성]
연속적 배포 (CD) 특정 통합을 위해 아래의 CD 및 운영 통합을 확인하세요.
CI 통합
- GitLab Runner에서 GitLab과 AWS 서비스를 인증하는 키, IAM 또는 OIDC/JWT를 사용하는 직접적인 CI 통합
-
GitLab CI를 사용한 Amazon CodeGuru Reviewer CI 워크플로우 - 수행 가능하지만 아직 문서화되지 않음.
[AWS Solution]
[CI Solution]
-
GitLab CI를 사용한 Amazon CodeGuru Secure Scanning (06/13/2022)
[AWS Solution]
[CI Solution]
CD 및 운영 통합
-
AWS CodeDeploy 통합 - 상기 SCM 통합에서의 CodePipeline 지원을 통해 가능합니다. 이 능력을 통해 GitLab은 AWS의 고급 배포 하위 시스템 목록과 상호작용할 수 있습니다 (12/28/2023)
[AWS Built]
- AWS SAM 파이프라인 - GitLab을 위한 파이프라인 지원 (7/31/2021)
-
애플리케이션 배포를 위해 EKS 클러스터 통합
[GitLab Built]
-
GitLab이 CodePipeline 감시 S3 위치로 빌드 아티팩트를 푸시
[AWS Built]
-
GitLab이 CodePipeline 감시 AWS ECR로 컨테이너를 푸시
[AWS Built]
-
AWS ECR을 위한 GitLab.com의 컨테이너 레지스트리를 Pull-Through Cache Rules를 통해 사용 구성 가이드
[AWS Built]
특정 개발 프레임워크 또는 에코시스템의 개발 및 배포를 위한 종단간 솔루션
일반적으로 솔루션은 개발 프레임워크의 종단간 기능을 보여주며, GitLab과 AWS를 함께 사용하여 최대 가치를 창출하는 모든 관련 통합 기술을 보여줍니다.
서버리스
-
Enterprise DevOps Blueprint: AWS에서 Serverless Framework 앱 - 작동 예제 코드와 튜토리얼입니다.
[GitLab Solution]
[CI Solution]
-
튜토리얼: GitLab Serverless SAST 스캔을 통한 AWS로 Serverless Framework 배포
[GitLab Solution]
[CI Solution]
-
튜토리얼: GitLab 보안 정책 승인 규칙 및 관리형 DevOps 환경을 사용한 안전한 서버리스 Framework 개발
[GitLab Solution]
[CI Solution]
-
튜토리얼: GitLab Serverless SAST 스캔을 통한 AWS로 Serverless Framework 배포
Terraform
-
Enterprise DevOps Blueprint: AWS로의 Terraform 배포
-
튜토리얼: GitLab IaC SAST 스캔을 통한 AWS로의 Terraform 배포
[GitLab Solution]
[CI Solution]
-
GitLab 보안 정책 승인 규칙 및 관리형 DevOps 환경을 사용한 AWS로의 Terraform 배포
[GitLab Solution]
[CI Solution]
-
튜토리얼: GitLab IaC SAST 스캔을 통한 AWS로의 Terraform 배포
CloudFormation
GitLab Lifecycle Managed DevOps Environments를 사용한 CloudFormation 개발 및 배포 [GitLab Solution]
[CI Solution]
CDK
-
AWS CDK와 GitLab 파이프라인을 사용한 Cross-Account 배포 구성
[AWS Solution]
[CI Solution]
.NET on AWS
-
AWS에서 .NET Framework 4.x 러너 확장의 실제 예제 코드
[GitLab Solution]
[CI Solution]
-
.NET Framework 4.x 프로젝트 코드 및 빌드에 대한 비디오 안내
[GitLab Solution]
[CI Solution]
GitLab 및 AWS 간 시스템 간 통합
AWS Identity 공급자(IDP)는 GitLab으로 인증하거나 GitLab이 AWS 계정의 IDP로 작동할 수 있습니다.
GitLab.com의 최상위 그룹은 “네임스페이스”로서, 회사 이름으로 명명하여 GitLab.com에 조직의 테넌트를 설정하는 첫 번째 단계입니다. 네임스페이스는 SSO와 같은 특수 기능을 위해 구성될 수 있으며, 이는 IDP를 GitLab으로 통합합니다.
GitLab 및 AWS 간 사용자 인증 및 권한 부여
-
GitLab.com 그룹을 위한 SAML SSO
[GitLab Configuration]
- GitLab.com 전용 -
GitLab과 LDAP 통합
[GitLab Configuration]
- Self-managed 전용
러너 워크로드의 인증 및 권한 부여 통합
-
Open ID 및 JWT 인증을 사용한 러너 작업 인증.
[GitLab Built]
-
GitLab과 AWS 간 OpenID Connect 구성
[GitLab Solution]
[CI Solution]
-
ECS에서 GitLab과 OIDC를 사용한 Multi-Account 배포
[GitLab Solution]
[CI Solution]
-
GitLab과 AWS 간 OpenID Connect 구성
AWS에 배포된 GitLab 인프라 워크로드
GitLab은 최대 500명의 사용자를 위해 단일 상자에 배포될 수 있지만, 50,000명과 같은 매우 많은 사용자 수를 위해 수평 확장되면 AWS에 배포되어 이점을 얻는 복잡한 다계층 플랫폼이 됩니다. GitLab은 지원되며 AWS 서비스를 백업하는 데 정기적으로 테스트됩니다. GitLab은 전통적인 스케일링을 위해 Ec2에, 클라우드 네이티브 하이브리드 구현에서는 AWS EKS에 배포될 수 있습니다. 특정 서비스 계층이 컨테이너 클러스터에 배치될 수 없는 이유는 Git에서 공통되고 Git 프로세스가 그러한 워크로드 다양성을 처리하는 방식 때문에 “하이브리드”이라고 합니다.
GitLab 인스턴스 컴퓨팅 및 운영 통합
- AWS에 GitLab Self-Managed 설치
- GitLab 배포 시 사용 가능한 AWS 서비스
- GitLab 단일 EC2 인스턴스.
[GitLab Built]
- 5 Seat AWS marketplace 구독 사용하기
- 준비된 AMI 사용하기 - Enterprise Edition의 BYOL(Bring Your Own License).
- GitLab 클라우드 네이티브 하이브리드 AWS EKS 및 PaaS.
[GitLab Built]
-
GitLab Environment Toolkit(GET) 사용 -
[GitLab Solution]
-
GitLab Environment Toolkit(GET) 사용 -
- AWS EC2 및 PaaS에 배포된 GitLab 인스턴스.
[GitLab Built]
-
GitLab Environment Toolkit(GET) 사용 -
[GitLab Solution]
-
GitLab Environment Toolkit(GET) 사용 -
-
GitLab Self-Managed Prometheus 메트릭을 위한 Amazon Managed Grafana
[AWS Built]
AWS Compute에서의 GitLab 러너
-
GitLab Runner Autoscaler - GitLab Runner 팀에서 개발한 핵심 기술.
[GitLab Built]
-
GitLab Runner Infrastructure Toolkit (GRIT) - GitLab Runner 팀이 담당하는 관리형 인프라 코드. GitLab Runner Autoscaler와 같은 것을 배포하는 데 필요합니다.
[GitLab Built]
-
AWS EC2에서 GitLab Runner 자동 확장.
[GitLab Built]
-
GitLab Runner Vending Machine을 위한 AWS EC2 ASG 확장 가능성 증대.
[GitLab Solution]
- Runner vending machine training resources.
-
GitLab EKS Fargate 러너.
[GitLab Solution]