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 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을 지원하지 않는 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 및 운영 통합

개발 및 특정 개발 프레임워크 또는 에코시스템의 배포를 위한 엔드 투 엔드 솔루션

일반적인 솔루션은 개발 프레임워크의 엔드 투 엔드 기능을 보여주기 위해 관련된 모든 통합 기술을 활용합니다. 이는 GitLab과 AWS를 함께 사용하여 최대 가치를 실현하는 방법을 보여줍니다.

서버리스

Terraform

CloudFormation

GitLab Lifecycle 관리형 DevOps 환경으로의 CloudFormation 개발과 배포 작업 코드 [GitLab 솔루션] [CI 솔루션]

CDK

.NET on AWS

GitLab과 AWS의 시스템 간 통합

AWS Identity 공급자(IDP)를 구성하여 GitLab에 인증하거나 GitLab을 AWS 계정의 IDP로 사용할 수 있습니다.

GitLab.com의 최상위 그룹을 “네임스페이스”라고도 합니다. 회사명으로 지정한 후 GitLab.com에서 귀사를 위한 테넌트를 설정하는 첫 번째 단계입니다. 네임스페이스는 SSO와 같은 특별한 기능을 구성할 수 있으며, 이를 통해 귀사의 IDP를 GitLab에 통합할 수 있습니다.

GitLab과 AWS 간 사용자 인증 및 권한 부여

Runner 작업 부하의 인증 및 권한 부여 통합

AWS에 배포된 GitLab 인프라 작업 부하

GitLab은 최대 500명의 사용자까지 한 대의 서버에서 배포될 수 있지만, 50,000명과 같이 매우 큰 사용자 수를 위해 수평적으로 확장되면 매우 복잡하며 여러 계층으로 구성된 플랫폼이 되어 AWS로의 배포의 이점을 누릴 수 있습니다. GitLab은 AWS 서비스를 기반으로 지원되며 정기적으로 테스트됩니다. GitLab은 전통적인 확장을 위해 Ec2에 배포할 수 있고, 클라우드 네이티브 하이브리드 구현에서 AWS EKS에 배포할 수 있습니다. 여기서 하이브리드는 특정 서비스 계층이 Git에 공통되는 형태의 작업 부하 변형을 처리하는 방식으로 인해 컨테이너 클러스터에 배치할 수 없는 서비스 계층이 있기 때문에 사용됩니다.

GitLab 인스턴스 컴퓨팅 및 운영 통합

AWS 컴퓨트에서의 GitLab Runner