본문 바로가기
Cloud Native/AWS: Automation

2. CodeCommit

by jys275 2026. 3. 3.

1. Overview

 

개요 및 배경

  • 시간에 따른 코드 변경 이력을 추적하고 이전 상태로 롤백할 수 있는 버전 관리(Version Control) 기능을 제공함
  • Git 기반의 중앙 온라인 리포지토리로, 수많은 개발자가 코드를 백업하고 동시에 협업할 수 있도록 지원함
  • 서드파티 서비스(GitHub, GitLab 등) 대신 코드를 AWS 클라우드 내부에 유지하여 보안 및 규정 준수(Compliance)를 강화함

주요 리소스 및 기능

  1. AWS CodeCommit
    • 용량 제한이 없는 완전 관리형 프라이빗 Git 리포지토리
    • 표준 Git 명령어와 호환되며, 코드 리뷰를 위한 풀 리퀘스트(Pull Request) 기능을 지원함
    • CodeBuild, CodePipeline 등 다양한 AWS CI/CD 도구 및 Jenkins와 같은 산업 표준 도구와 원활하게 통합됨
  2. 보안 및 암호화 메커니즘
    • 인증(Authentication): SSH 키를 구성하거나 HTTPS(일반 로그인 및 암호 자격 증명)를 사용하여 접근함
    • 인가(Authorization): IAM 정책(Policies)을 사용하여 특정 리포지토리에 대한 사용자 및 역할의 권한을 정밀하게 제어함
    • 암호화(Encryption): 전송 중 데이터는 HTTPS/SSH로 암호화되며, 미사용 데이터(At rest)는 AWS KMS를 통해 암호화됨

헷갈리는 포인트 (Tips)

  • 교차 계정(Cross-Account) 접근 시, 사용자의 SSH 키나 자격 증명을 직접 공유하는 것은 심각한 보안 안티 패턴임. 반드시 대상 계정에 IAM 역할(Role)을 생성하고 STS AssumeRole API를 사용하여 임시 자격 증명을 발급받아야 함
  • GitHub와 기능적으로 유사(Pull Request, HTTPS 연동 등)하나, CodeCommit은 오직 AWS 환경에서 호스팅되며 IAM 연동에 특화되어 있다는 점을 구분해야 함

 


2. Advanced

 

개요 및 배경

  • CodeCommit 리포지토리의 이벤트 모니터링, 타 리포지토리 마이그레이션, 교차 리전 복제, 브랜치 보안 및 풀 리퀘스트 승인 규칙 등 고급 관리 기법이 필요함
  • Amazon EventBridge 연동을 통한 이벤트 기반 자동화 파이프라인 구축
  • IAM 정책(Policies)을 활용한 세밀한 브랜치 수준의 접근 제어 적용

주요 리소스 및 기능

  1. EventBridge 연동 및 마이그레이션
    • 풀 리퀘스트(PR) 생성/상태 변경, 새 브랜치(Reference) 생성, 댓글 작성 등의 이벤트를 Amazon EventBridge로 감지함
    • 이벤트 발생 시 SNS, Lambda, CodePipeline 등을 트리거하여 자동화 워크플로우 구현 가능
    • 외부 Git 서버(GitHub, GitLab 등)에서 마이그레이션 시, 로컬로 git clone 후 대상 CodeCommit URL로 git push를 수행함
  2. 교차 리전 복제 (Cross-Region Replication)
    • 글로벌 개발자의 지연 시간(Latency) 감소 및 리포지토리 백업 목적으로 구성함
    • 브랜치 푸시/생성/삭제 시 EventBridge에서 referenceCreated 또는 referenceUpdated 이벤트를 발생시킴
    • 해당 이벤트를 통해 ECS 태스크 또는 CodeBuild를 트리거하여 코드를 클론한 뒤 타겟 리전으로 복제함
  3. 브랜치 보안 (Branch Security)
    • 리포지토리 자체에 연결하는 리소스 기반 정책(Resource Policy)은 브랜치 제어 용도로 지원되지 않음
    • 특정 브랜치(예: main, prod)에 대한 푸시를 제한하려면, 사용자 또는 그룹 수준의 IAM 정책(Policies)을 사용하여 명시적 거부(Deny)를 설정해야 함
  4. 풀 리퀘스트 승인 규칙 (PR Approval Rules)
    • PR 병합(Merge) 전 일정 수 이상의 승인자가 코드를 리뷰하고 승인하도록 강제함
    • 승인자 풀은 IAM 보안 주체(Principals) (사용자, 역할, 그룹 등)로 지정 가능
    • 승인 규칙 템플릿(Approval Rule Templates)을 사용하여 특정 브랜치(dev, prod 등)에 생성되는 모든 PR에 승인 규칙을 자동 적용함

헷갈리는 포인트 (Tips)

  • 특정 사용자(예: 주니어 개발자)의 운영(Prod) 브랜치 접근을 제어할 때, CodeCommit 리포지토리가 아닌 IAM 정책(Policies)을 해당 사용자/그룹에 직접 연결하여 브랜치 조건을 제한해야 함
  • CodeCommit의 교차 리전 복제는 기본 내장(Native) 기능으로 제공되지 않으므로, 반드시 EventBridge와 컴퓨팅 리소스(ECS, CodeBuild 등)를 조합한 이벤트 기반 아키텍처로 구현해야 함

'Cloud Native > AWS: Automation' 카테고리의 다른 글

6. CodeArtifact  (0) 2026.03.03
5. CodeDeploy  (0) 2026.03.03
4. CodeBuild  (0) 2026.03.03
3. CodePipeline  (0) 2026.03.03
1. Introduction to CI/CD in AWS  (0) 2026.03.03