AWS와 통합
GitLab과 AWS를 통합하는 방법을 알아보세요. 이 콘텐츠는 GitLab 팀 멤버 및 더 넓은 커뮤니티 멤버를 위한 것입니다. 별도의 언급이 없으면 이 콘텐츠는 GitLab.com과 GitLab Self-Managed 인스턴스 모두에 적용됩니다.
GitLab과 AWS를 통합하는 방법을 알아보세요.
이 콘텐츠는 GitLab 팀 멤버 및 더 넓은 커뮤니티 멤버를 위한 것입니다.
별도의 언급이 없으면 이 콘텐츠는 GitLab.com과 GitLab Self-Managed 인스턴스 모두에 적용됩니다.
GitLab은 일반 구성, 두 플랫폼 모두의 내장 기능, 전용 솔루션을 통해 AWS와 통합됩니다.
| 텍스트 태그 | 구성 / 내장 / 솔루션 | 지원/유지 관리 |
|---|---|---|
[AWS Configuration] |
기존 AWS 기능 구성을 통한 통합 | AWS |
[GitLab Configuration] |
기존 GitLab 기능 구성을 통한 통합 | GitLab |
[AWS Built] |
AWS 통합을 다루기 위해 제품 팀에서 AWS에 내장 | AWS |
[GitLab Built] |
AWS 통합을 다루기 위해 제품 팀에서 GitLab에 내장 | GitLab |
[AWS Solution] |
AWS 또는 AWS 파트너가 솔루션 예시로 구축 | 커뮤니티/예시 |
[GitLab Solution] |
GitLab 또는 GitLab 파트너가 솔루션 예시로 구축 | 커뮤니티/예시 |
[CI Solution] |
적어도 부분적으로 GitLab CI를 사용하여 구축되어 고객이 더 많이 사용자 정의할 수 있습니다. | [CI Solution]으로 태그된 항목은 유지 관리 상태를 나타내는 다른 태그 중 하나도 포함합니다. |
개발 활동을 위한 통합#
이러한 통합은 GitLab을 사용하여 애플리케이션 워크로드를 구축하고 AWS에 배포하는 것과 관련이 있습니다.
SCM 통합#
AWS CodeStar Connection 통합#
8/14/2023 GitLab.com SaaS에 대한 AWS 릴리스 공지
12/28/2023 Self-Managed / Dedicated에 대한 AWS 릴리스 공지
AWS CodeStar Connections - 여러 AWS 서비스에 대한 SCM 연결을 활성화합니다.
GitLab 구성.
지원되는 공급자.
지원되는 AWS 서비스 -
GitLab을 지원하기 위해 각각 업데이트해야 할 수 있으므로 GitLab을 지원하는 하위 집합이 여기에 있습니다.
이는 GitLab.com SaaS, GitLab Self-Managed 및 GitLab Dedicated에서 작동합니다.
AWS CodeStar 연결은 모든 AWS 리전에서 사용할 수 없습니다 - 제외 목록은
여기에 문서화되어 있습니다.
(12/28/2023) [AWS Built]
AWS에 대한 AWS CodeStar Connection 통합의 비디오 설명 (1분)
AWS 계정의 CodeStar Connection으로 직접 지원되는 AWS 서비스:
- AWS Service Catalog는 CodeStar Connections를 직접 상속하며 계정에서 생성된 GitLab CodeStar Connection을 사용하기 때문에 GitLab에 대한 특별한 문서가 없습니다. (12/28/2023)
[AWS Built] - AWS Proton은 CodeStar Connections를 직접 상속하며 계정에서 생성된 GitLab CodeStar Connection을 사용하기 때문에 GitLab에 대한 특별한 문서가 없습니다. (12/28/2023)
[AWS Built] - AWS CodeBuild - GitLab.com, self-managed 및 dedicated의 경우 - 여기에서 문서 탭을 클릭. (03/26/2024)
[AWS Built]
문서 및 참조:
- GitLab.com 프로젝트에 대한 GitLab CodeStar Connection 생성
- GitLab Self-Managed 또는 GitLab Dedicated에 대한 AWS CodeStar Connection 생성 (AWS에서 인터넷 인그레스를 허용하거나 VPC 연결을 사용해야 합니다)
AWS CodePipeline 통합#
AWS CodePipeline 통합 - CodePipeline의 CodeStar Connections 소스로 GitLab을 사용하면 추가 AWS 서비스 통합을 사용할 수 있습니다. (12/28/2023) [AWS Built]
AWS CodePipeline 통합으로 지원되는 AWS 서비스:
- Amazon SageMaker MLOps Projects는 CodePipeline을 통해 생성됩니다(여기에 명시된 것처럼), 계정에서 생성된 GitLab CodeStar Connection을 사용하기 때문에 GitLab에 대한 특별한 문서가 없습니다. (12/28/2023)
[AWS Built]
문서 및 참조:
- GitLab.com 프로젝트에 대한 GitLab CodePipeline 통합 생성
- GitLab Self-Managed 또는 GitLab Dedicated에 대한 AWS CodePipeline 통합 생성 (AWS에서 인터넷 인그레스를 허용하거나 VPC 연결을 사용해야 합니다)
GitLab에 대해 아직 지원되지 않는 CodeStar Connections 활성화 AWS 서비스#
- AWS CloudFormation 공개 확장 게시 - 아직 지원되지 않습니다.
[AWS Built] - Amazon CodeGuru Reviewer Repositories - 아직 지원되지 않습니다.
[AWS Built] - AWS App Runner - 아직 지원되지 않습니다.
[AWS Built]
AWS 서비스의 사용자 정의 GitLab 통합#
- Amazon SageMaker Notebooks Git 클론 URL로 Git 저장소를 지정하고 시크릿을 구성할 수 있으므로 GitLab을 구성할 수 있습니다. (12/28/2023)
[AWS Configuration] - AWS Amplify - AWS Amplify 팀이 설계한 Git 통합 메커니즘을 사용합니다.
[AWS Built] - AWS Glue Notebook Jobs는 "작업" 수준에서 개인 액세스 토큰(PAT) 인증을 사용하여 GitLab 저장소 URL을 지원합니다. (10/03/2022) GitLab 구성에 대한 AWS 문서
[AWS Configuration]
기타 SCM 통합 옵션#
- GitLab Push Mirroring to CodeCommit 해결 방법은 GitLab 저장소가 CodePipeline SCM 트리거를 활용할 수 있도록 합니다. GitLab은 이미 CodePipeline을 위한 S3 및 Container 트리거를 활용할 수 있습니다. 이 해결 방법은 문서화된 이후 CodePipeline 기능을 활성화했습니다. (06/06/2020)
[GitLab Configuration]
연속 배포(CD) 관련 통합에 대해서는 아래의 CD 및 운영 통합을 참조하세요.
CI 통합#
- 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 Pipelines - GitLab에 대한 파이프라인 지원. (7/31/2021)
- 애플리케이션 배포를 위한 EKS 클러스터 통합.
[GitLab Built] - GitLab이 CodePipeline 모니터링 S3 위치에 빌드 아티팩트 푸시
[AWS Built] - GitLab이 CodePipeline 모니터링 AWS ECR에 컨테이너 푸시
[AWS Built] - AWS ECR Pull-Through Cache 규칙을 통해 GitLab.com의 컨테이너 레지스트리를 업스트림 레지스트리로 사용 구성 튜토리얼
[AWS Built]
특정 개발 프레임워크 또는 생태계의 개발 및 배포를 위한 엔드투엔드 솔루션#
일반적으로 솔루션은 개발 프레임워크를 위한 엔드투엔드 기능을 시연합니다 - GitLab과 AWS를 함께 사용하는 최대 가치의 기술을 보여주기 위해 모든 관련 통합 기술을 활용합니다.
서버리스#
- 엔터프라이즈 DevOps 블루프린트: AWS의 Serverless Framework 앱 - 작업 예제 코드 및 튜토리얼.
[GitLab Solution][CI Solution]- 튜토리얼: GitLab Serverless SAST 스캔을 사용한 AWS에 Serverless Framework 배포
[GitLab Solution][CI Solution] - 튜토리얼: GitLab 보안 정책 승인 규칙 및 관리되는 DevOps 환경으로 안전한 Serverless Framework 개발
[GitLab Solution][CI Solution]
- 튜토리얼: GitLab Serverless SAST 스캔을 사용한 AWS에 Serverless Framework 배포
Terraform#
- 엔터프라이즈 DevOps 블루프린트: 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 라이프사이클 관리 DevOps 환경 작업 코드를 사용한 CloudFormation 개발 및 배포 [GitLab Solution] [CI Solution]
CDK#
- AWS CDK를 사용하여 GitLab 파이프라인에서 크로스 계정 배포 구축
[AWS Solution][CI Solution]
AWS의 .NET#
- AWS EC2 ASG에서 .NET Framework 4.x 러너 확장을 위한 작업 예제 코드
[GitLab Solution][CI Solution] - 코드 워크스루 비디오 및 .NET Framework 4.x 프로젝트 구축
[GitLab Solution][CI Solution]
GitLab과 AWS의 시스템 간 통합#
AWS ID 공급자(IDP)는 GitLab에 인증하도록 구성하거나 GitLab이 AWS 계정에 대한 IDP로 기능할 수 있습니다.
GitLab.com의 최상위 그룹은 "네임스페이스"라고도 하며 회사 이름을 지정하는 것이 GitLab.com에서 조직의 테넌트를 설정하는 첫 번째 단계입니다. 네임스페이스는 IDP를 GitLab에 통합하는 SSO와 같은 특별한 기능을 위해 구성할 수 있습니다.
GitLab과 AWS 간의 사용자 인증 및 권한 부여#
- GitLab.com 그룹의 SAML SSO
[GitLab Configuration]- GitLab.com 전용 - GitLab과 LDAP 통합
[GitLab Configuration]- GitLab Self-Managed 전용
러너 워크로드 인증 및 권한 부여 통합#
- Open ID 및 JWT 인증을 사용한 러너 작업 인증.
[GitLab Built]- GitLab과 AWS 간의 OpenID Connect 구성
[GitLab Solution][CI Solution] - GitLab 및 ECS를 사용한 OIDC 및 멀티 계정 배포
[GitLab Solution][CI Solution]
- GitLab과 AWS 간의 OpenID Connect 구성
AWS에 배포된 GitLab 인프라 워크로드#
GitLab은 최대 500명의 사용자에 대해 단일 박스에 배포할 수 있지만 50,000명과 같이 매우 많은 사용자 수를 위해 수평 확장될 때 AWS 배포의 혜택을 받는 복잡한 다계층 플랫폼으로 확장됩니다. GitLab은 AWS 서비스로 지원되어 지원되고 정기적으로 테스트됩니다. GitLab은 기존 확장을 위한 EC2 및 Cloud Native Hybrid 구현의 AWS EKS에 배포할 수 있습니다. 특정 서비스 레이어는 Git에서 일반적인 워크로드 형태(및 Git 프로세스가 해당 워크로드 다양성을 처리하는 방식) 때문에 컨테이너 클러스터에 배치할 수 없기 때문에 하이브리드라고 합니다.
GitLab 인스턴스 컴퓨팅 및 운영 통합#
- AWS에 GitLab Self-Managed 설치
- GitLab 배포 시 사용 가능한 AWS 서비스
- GitLab 단일 EC2 인스턴스.
[GitLab Built]- 5 시트 AWS 마켓플레이스 구독 사용
- 준비된 AMI 사용 - Enterprise Edition에 대한 라이선스 제공.
- AWS EKS 및 PaaS에서 확장된 GitLab Cloud Native Hybrid.
[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 컴퓨팅의 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] - AWS EC2 ASG용 GitLab HA 확장 러너 자동 판매기.
[GitLab Solution]- 러너 자동 판매기 교육 리소스.
- GitLab EKS Fargate 러너.
[GitLab Solution]
