You are a developer, not a coder.

AWS CodeCommit 본문

AWS/기본 개념

AWS CodeCommit

Mattmk 2020. 2. 21. 11:05
SMALL

1. AWS CodeCommit 란?

AWS CodeCommit은 안전한 Git 기반 리포지토리를 호스팅하는 완전관리형 소스 제어 서비스이다.

CodeCommit을 사용하면 자체 소스 제어 시스템 운영이나 인프라 확대/축소에 대해 염려할 필요가 없다. CodeCommit을 사용하면 소스 코드에서 바이너리까지 모든 항목을 안전하게 저장할 수 있고 기존 Git 도구와 원활하게 연동된다.

2. 이점

완전관리형

AWS CodeCommit을 사용하면 자체적으로 소스 제어 서버를 호스팅하고, 유지 관리하고, 백업하고, 확장할 필요가 없어진다. 이 서비스는 프로젝트의 요구 사항이 늘어남에 따라 이를 충족하기 위해 자동으로 조정이 된다.

 

협업 방식의 코드 작업

AWS CodeCommit의 가져오기 요청, 분기 생성 및 병합 기능을 사용하면 팀 동료와 협업하여 코드 작업을 수행할 수 있다. 코드 검토 및 피드백이 기본적으로 포함되는 워크플로를 구현하고, 특정 분기를 변경할 수 있는 사용자를 제어할 수있다.

 

보안

AWS CodeCommit은 전송 중이거나 이미 업로드된 파일을 자동으로 암호화한다. 또한, IAM과 통합하면 리포지토리에 대한 사용자별 액세스를 사용자 지정할 수 있다.

 

개발 수명 주기 속도 향상

스테이징 및 프로덕션 환경 가까이에 리포지토리를 유지한다.

또한, 전체 애플리케이션이 아닌 바뀐 부분만 전송할 수 있다.

 

고가용성

고도로 확장 가능하며 내구성 있는 중복 아키텍처를 보유하고 있다. CodeCommit는 리포지토리의 고가용성 및 액세스 가능성을 유지하도록 설계되었다.

 

기존 도구 사용

모든 Git 명령을 지원, 기존 Git 도구와 연동 된다.

원하는 개발 환경 플러그인, 지속적 통합, 전달 시스템 및 그래픽 클라이언트를 계속하여 사용할 수 있다.

3. 기능

협업

CodeCommit는 협업 소프트웨어 개발을 위해 설계 되었다. 또한, 협업자에게 코드 검토를 요청하고 코드를 논의할 수 있는 메커니즘을 제공하는 pull 요청을 지원한다. AWS Management Console, AWS CLI, AWS SDK에서 리포지토리를 생성하고 Git을 통해 해당 리포지토리를 사용할 수 있다.

 

암호화

원하는 대로 HTTPS, SSH를 사용해 AWS CodeCommit에서 파일 송수신을 할 수 있다. 또한, 리포지토리는 고객별 키를 사용한 AWS Key Management Service (KMS)를 통해 저장 중 자동으로 암호화 된다.

 

액세스 제어

CodeCommit는 AWS IAM를 사용하여 누가 데이터에 액세스할 수 있는지, 액세스 방법, 시기, 위치 까지 제어하고 모니터링할 수 있다. 또한, CodeCommit은 AWS CloudTrail 및 AWS CloudWatch를 통해 리포지토리를 모니터링하는데 도움이 된다.

 

높은 가용성 및 안정성

CodeCommit은 리포지토리를 Amazon S3 및 Amazon DynamoDB에 저장한다. 암호화된 데이터는 여러 시설에 걸쳐 중복으로 저장된다.

 

무제한 리포지토리

CodeCommit에서는 기본적으로 최대 1,000개의 리포지토리와 요청 시 무제한으로 리포지토리를 지원하므로 필요한 만큼 리포지토리를 생성할 수 있다. 코드와 함께 이미지와 라이브러리 등의 애플리케이션 자산을 비롯한 모든 형식의 파일을 저장하고 버전 관리할 수 있다.

 

손쉬운 액세스 및 통합

리포지토리 관리에 AWS Management Console, AWS CLI, AWS SDK를 사용할 수 있다. 또한, Git 명령 또는 Git 그래픽 도구를 사용하여 리포지토리 소스 파일과 상호 작용할 수 있다. CodeCommit은 모든 Git 명령을 지원하며 기존 Git도구와 연동된다.

 

알림 및 사용자 정의 스크립트

리포지토리에 영향을 주는 이벤트에 대한 알림 (Amazon SNS 알림 형식)을 수신할 수 있다. 각 알림에는 상태 메시지와 함께, 해당 알림이 생성되도록 한 이벤트가 발생한 리소스의 링크가 포함된다.

또한, CodeCommit 리포지토리 트리거를 사용하면 Amazon SNS를 사용해 알림을 보내고 HTTP 웹훅스를 생성하거나 선택한 리포지토리 이벤트에 대한 응답으로 AWS Lambda 함수를 호출할 수 있다.

4. 정리

내가 생각하기에는 Git (Lab, Hub 모두 포함)의 기능과 별다를게 없어 보이지만, CodeCommit을 사용하면 AWS서비스를 사용할 경우, IAM 설정이나 S3, Amazon SNS 와 같은 AWS 서비스 추가가 가능하기 때문에 좀더 넓게 본다면 Git보다는 확장성이 높은 서비스 인거 같다. 여기에서 Amazon SNS를 사용할 수 있다는게 포인트!

LIST

'AWS > 기본 개념' 카테고리의 다른 글

AWS CodePipeline  (0) 2020.02.21
Amazon Kinesis Data Streams  (0) 2020.02.21
Amazon CloudWatch  (0) 2020.02.21
Amazon CloudFront  (0) 2020.02.20
Amazon DynamoDB Accelerator(DAX)  (0) 2020.02.20
Comments