일반

Q: AWS CodeCommit는 무엇입니까?

AWS CodeCommit은 팀의 코드 협업을 수월하게 하는 안전하고 확장성이 뛰어난 관리형 소스 제어 서비스입니다. AWS CodeCommit을 사용하면 자체 소스 제어 시스템을 운영하거나 인프라 조정을 염려할 필요가 없어집니다. AWS CodeCommit을 사용하여 소스 코드부터 바이너리까지 무엇이든 안전하게 저장할 수 있으며 기존 Git 도구와도 원활하게 연동됩니다.

Q: Git란 무엇입니까?

Git는 오픈 소스 배포 버전 제어 시스템입니다. Git CLI(명령줄 인터페이스) 또는 사용 가능한 Git 클라이언트를 통해 AWS CodeCommit 리포지토리를 사용할 수 있습니다. Git에 대해 자세히 알아보려면 Git 설명서를 참조하십시오. Git와 함께 AWS CodeCommit을 사용하는 것에 대해 자세히 알아보려면 AWS CodeCommit 시작하기를 참조하십시오.
Q: AWS CodeCommit은 어떤 사용자에게 적합합니까?

AWS CodeCommit은 코드 저장 및 버전 관리를 위한 안전하고 안정적이며 확장 가능한 소스 제어 시스템을 필요로 하는 소프트웨어 개발자를 위해 설계되었습니다. 또한, AWS CodeCommit은 사용이 편리하고 버전 관리 기능을 제공하는 완전관리형 데이터 스토어를 원하는 사용자도 사용할 수 있습니다. 예를 들어 IT 관리자는 AWS CodeCommit을 사용하여 스크립트와 구성을 저장할 수 있으며 웹 디자이너는 AWS CodeCommit을 사용하여 HTML 페이지와 이미지를 저장할 수 있습니다.
Q: AWS CodeCommit과 다른 Git 기반 소스 제어 시스템의 차이점은 무엇입니까?
 
AWS CodeCommit은 Git 소스 제어 시스템이 제공하지 않는 여러 가지 기능을 제공합니다.
  • 완전관리형 – CodeCommit을 사용하면 자체적으로 소스 제어 서버를 호스팅하고, 유지 관리하고, 백업하고, 확장할 필요가 없어집니다.
  • 보안 – AWS CodeCommit은 전송 중이거나 상주 중인 파일을 자동으로 암호화합니다. AWS CodeCommit은 AWS Identity and Access Management(IAM)와 통합되어 사용자가 리포지토리에 사용자별 권한을 할당할 수 있게 합니다.
  • 고가용성 – AWS CodeCommit은 Amazon S3, Amazon DynamoDB와 같은 확장성과 내구성이 뛰어난 중복 AWS 서비스에 구축됩니다.
  • 확장성 – AWS CodeCommit을 사용하면 파일을 몇 개든 저장할 수 있으며 리포지토리 크기 제한도 없습니다.
  • 개발 수명 주기 단축 – AWS CodeCommit은 AWS 클라우드의 구축, 스테이징 및 프로덕션 환경 가까이에 리포지토리를 유지합니다. 이를 통해 개발 수명 주기의 속도와 빈도를 높일 수 있습니다.
Q: AWS CodeCommit과 버전 관리되는 S3 버킷을 비교하면 어떻습니까?

AWS CodeCommit은 협업 소프트웨어 개발을 위해 설계되었습니다. AWS CodeCommit은 다양한 파일 간의 변경 사항 배치를 관리하고, 병렬 분기 생성 기능을 제공하며, 버전 비교(diff라고 함)를 포함합니다. 비교해 보자면, Amazon S3 버전 관리는 개별 파일의 이전 버전 복구를 지원하지만 다양한 파일 간 일괄 처리된 변경 사항을 추적하거나 협업 소프트웨어 개발에 필요한 다른 기능은 지원하지 않습니다.

AWS CodeCommit 사용

Q: AWS CodeCommit을 시작하려면 어떻게 해야 합니까?
 
AWS Management Console에 로그인하여 리포지토리를 생성하고 Git를 통해 리포지토리를 사용할 수 있습니다. 서비스에 대한 소개가 필요한 경우 단계별 자습서가 포함된 시작하기를 참조하십시오.
Q: 리포지토리는 어떻게 생성합니까?

AWS Management Console 또는 AWS CLI(AWS 명령줄 인터페이스), AWS SDK, AWS CodeCommit API를 사용하여 리포지토리를 생성할 수 있습니다.
Q: 리포지토리의 파일을 어떻게 업데이트합니까?

CodeCommit 콘솔에서 직접 파일을 편집하거나 Git를 사용하여 리포지토리 작업을 수행할 수 있습니다. 예를 들어 Git 명령의 경우 git clone 명령을 사용하여 AWS CodeCommit 리포지토리의 로컬 복사본을 만들 수 있습니다. 로컬 파일을 변경한 다음 변경 사항을 저장할 준비가 되면 git commit 명령을 사용합니다. 마지막으로 git push 명령을 사용하여 AWS CodeCommit 리포지토리에 변경 사항을 업로드합니다. 단계별 지침은 AWS CodeCommit 시작하기를 참조하세요.
Q: 기존 리포지토리를 AWS CodeCommit로 가져오려면 어떻게 해야 합니까?

Git를 사용하여 원하는 기존 Git 리포지토리를 AWS CodeCommit로 가져올 수 있습니다. Subversion 및 Perforce 같은 기타 리포지토리의 경우 먼저 Git 가져오기 도구를 사용하여 Git 리포지토리에 해당 리포지토리를 마이그레이션합니다. Git 리포지토리 가져오기에 대한 단계별 지침은 AWS CodeCommit로 기존 리포지토리 마이그레이션을 참조하십시오. 로컬 또는 버전이 지정되지 않은 콘텐츠의 마이그레이션에 대한 단계별 지침은 Git 마이그레이션 설명서를 참조하십시오.
Q: 현재 AWS CodeCommit에서 지원되는 Git 작업은 무엇입니까?
 
AWS CodeCommit은 현재 clone, pull, push, fetch 명령을 지원합니다.
Q: AWS CodeCommit은 Git 하위 모듈을 지원합니까?

예. AWS CodeCommit은 하위 모듈을 포함하고 있는 Git 리포지토리와 함께 사용할 수 있습니다.
Q: AWS CodeCommit을 사용할 때 어떤 서비스 제한이 있습니까?

서비스 제한에 대한 자세한 내용은 제한 페이지를 참조하십시오.
Q: CodeCommit에 저장할 수 있는 단일 파일의 최대 크기는 어떻게 됩니까?

리포지토리의 단일 파일 크기는 2GB를 초과할 수 없습니다.
Q: 리포지토리를 어떻게 백업합니까?

전체 git clone을 실행하여 리포지토리의 로컬 복사본을 보유하고 있는 경우 해당 리포지토리를 사용하여 데이터를 복원할 수 있습니다. 추가 백업을 원할 경우 다양한 방법이 있습니다. 백업 서버에 Git를 설치한 다음 git clone 명령을 사용하여 정기적으로 스냅샷을 생성하는 예약 작업을 실행하는 방법이 있습니다. 변경된 부분만 복사하려는 경우 git clone 대신 git pull 명령을 사용할 수 있습니다. 이러한 작업은 백업 서버 설정 방법 및 폴링 빈도에 따라 추가 사용자 및/또는 요청으로 인한 청구 금액이 발생할 수 있음에 유의하시기 바랍니다.
Q: 삭제된 AWS CodeCommit 리포지토리를 복원하려면 어떻게 해야 합니까?

AWS CodeCommit 리포지토리를 삭제하는 것은 안전하지 않은 단방향 작업으로 실행 취소할 수 없습니다. 삭제된 리포지토리를 복원하려면 리포지토리를 다시 생성한 다음 전체 복제를 통한 백업 또는 로컬 복사본을 사용하여 데이터를 업로드해야 합니다. 리포지토리를 삭제할 수 있는 사용자를 제한하기 위해 MFA 보호와 함께 IAM 정책을 사용하는 것이 좋습니다. 자세한 내용은 FAQ 보안 섹션에 있는 AWS Identity and Access Management(IAM)를 사용하여 Amazon CodeCommit에 대한 액세스를 관리할 수 있습니까?라는 질문을 참조하십시오.
Q: AWS CodeCommit로 코드 검토를 관리하려면 어떻게 해야 합니까?

CodeCommit은 코드 검토를 지원하며 코드 분기에 대한 권한을 설정할 수 있는 기능을 제공합니다. 코드 검토 또는 분기 수준 권한에 대한 도움말은 설명서를 참조하십시오.

Q: 내 지속적 통합 시스템과 AWS CodeCommit을 통합하려면 어떻게 해야 합니까?

Git를 사용하여 AWS CodeCommit에서 코드를 가져오도록 CI(지속적 통합) 시스템을 구성할 수 있습니다. AWS CodeCommit과 함께 CI 시스템을 사용하는 예는 AWS CodeCommit과 Jenkins의 통합에 대한 AWS 블로그 게시물을 참조하십시오.
Q: AWS CodeCommit을 사용하여 Webhook을 생성하려면 어떻게 해야 합니까?

Amazon SNS 콘솔에서 HTTP 엔드포인트와 Webhook용으로 원하는 URL을 지정하여 주제를 생성할 수 있습니다. 그런 다음 AWS CodeCommit 콘솔에서 해당 SNS 주제를 트리거로 사용하는 리포지토리 이벤트로 구성할 수 있습니다. 또한 AWS Chatbot을 사용하는 고객은 Slack 채널 또는 Amazon Chime 채팅방으로 알림이 전송되도록 구성할 수 있습니다. 자세한 내용은 여기를 참조하십시오.
Q: 보안 분석 및 운영 문제 해결 목적으로 내 계정에서 이루어진 AWS CodeCommit Git 작업 및 API 호출 기록을 받을 수 있습니까?

예. AWS CloudTrail 콘솔에서 Git 작업 및 API 호출을 비롯한 최근 CodeCommit 이벤트를 검토할 수 있습니다. Amazon S3 버킷에서 추적 및 로그 이벤트를 생성하면 이벤트를 지속적으로 기록할 수 있습니다. 자세한 내용은 AWS CloudTrail을 이용한 AWS CodeCommit API 호출 로깅을 참조하십시오.

보안

Q: AWS Identity and Access Management(IAM)를 사용하여 Amazon CodeCommit에 대한 액세스를 관리할 수 있습니까?

예. AWS CodeCommit은 리소스 수준 권한을 지원합니다. 각 AWS CodeCommit 리포지토리에 대해 어떤 사용자가 어떤 작업을 수행 가능한지 지정할 수 있습니다. 또한, CodeCommit 작업에 대해 AWS Multi-Factor Authentication(MFA)를 지정할 수 있습니다. 이렇게 하면 리포지토리 삭제와 같은 안전하지 않은 작업에 대한 추가적인 보호 기능이 제공됩니다. AWS CodeCommit API에 더하여 git pullgit push를 작업으로 지정하여 Git 클라이언트에서 액세스를 제어할 수 있습니다. 예를 들어 특정 사용자가 리포지토리에 대해 git pull에는 액세스할 수 있지만 git push에는 액세스할 수 없도록 지정하여 읽기 전용 사용자를 생성할 수 있습니다. AWS CodeCommit에서 IAM을 사용하는 방법에 대한 자세한 내용은 AWS CodeCommit에 대한 인증 및 액세스 제어를 참조하세요. MFA를 사용한 API 액세스 인증에 대한 자세한 내용은 MFA 보호 API 액세스 구성을 참조하세요.
Q: AWS CodeCommit가 지원하는 통신 프로토콜은 무엇입니까?

HTTPS나 SSH 프로토콜 또는 두 프로토콜 모두를 사용하여 AWS CodeCommit과 통신할 수 있습니다. HTTPS를 사용하려면 먼저 AWS CLI를 설치합니다. AWS CLI는 AWS 자격 증명으로 구성할 수 있는 Git 자격 증명 헬퍼를 설치합니다. 이 헬퍼는 서명 버전 4 서명 사양을 사용하여 AWS CodeCommit로의 모든 HTTPS 요청을 자동으로 서명합니다. SSH를 사용하려면 사용자가 자체 퍼블릭-프라이빗 키 페어를 생성한 다음 퍼블릭 키를 IAM 사용자에게 추가합니다. 프라이빗 키는 AWS CodeCommit로 통신을 암호화합니다. HTTPS 및 SSH 액세스 설정에 대한 단계별 지침은 AWS CodeCommit 설정 페이지를 참조하십시오.
Q: AWS CodeCommit에 액세스하기 위해 방화벽에서 개방해야 할 포트는 무엇입니까?

포트 22(SSH) 또는 포트 443(HTTPS)에서 AWS CodeCommit 서비스 엔드포인트에 대한 아웃바운드 액세스를 개방해야 합니다.
Q: AWS CodeCommit에서 리포지토리를 암호화하려면 어떻게 해야 합니까?

리포지토리는 상주 중에 자동으로 암호화됩니다. 고객 작업은 필요하지 않습니다. AWS CodeCommit은 AWS Key Management Service(KMS)를 사용하여 리포지토리를 암호화합니다. 첫 번째 리포지토리를 생성하면 AWS가 관리하는 CodeCommit 키가 AWS 계정에 생성됩니다. 자세한 내용은 AWS CodeCommit 리포지토리에 대한 암호화를 참조하십시오.
Q: 리포지토리에 교차 계정 액세스를 활성화할 수 있습니까?

예. AWS 계정에서 IAM 역할을 생성하여 다른 AWS 계정의 IAM 사용자에게 리포지토리에 대한 액세스를 위임할 수 있습니다. 해당 IAM 사용자는 자신의 AWS CLI를 구성하여 AWS Security Token Service(STS)를 사용하고 명령 실행 시 역할을 담당할 수 있습니다. 자세한 내용은 AWS CLI 설명서의 역할 수행을 참조하십시오.

리전

Q: 어떤 리전에서 AWS CodeCommit를 지원합니까?

CodeCommit의 리전별 가용성에 대한 자세한 정보는 리전별 제품 및 서비스를 참조하십시오.

결제

Q: AWS CodeCommit 사용료는 얼마입니까?

AWS CodeCommit의 사용료는 매달 활성 사용자당 1 USD입니다. 모든 활성 사용자에 대해 계정에 매월 10GB 스토리지와 Git 요청 2,000건이 추가로 제공됩니다. 사용하지 않은 스토리지 및 Git 요청 허용량은 다음 달로 이월되지 않습니다. 사용자를 위해 더 많은 스토리지 또는 Git 요청이 필요한 경우, 추가 사용량에 대해 매월 1GB당 0.06 USD, Git 요청당 0.001 USD가 부과됩니다. 사용자는 Git 리포지토리를 원하는 만큼 저장할 수 있습니다. 사용량은 매달 전체 리전에 대해 계산되고 자동으로 청구서에 적용됩니다. 자세한 내용은 요금 페이지를 참조하십시오.
Q: AWS CodeCommit에서 활성 사용자의 정의는 무엇입니까?

활성 사용자는 해당 달에 Git 요청을 통해 또는 AWS Management Console을 사용해 AWS CodeCommit 리포지토리에 액세스한 고유 AWS 자격 증명(IAM 사용자/역할, 연동 사용자 또는 루트 계정)입니다. 고유 AWS 자격 증명을 사용하여 CodeCommit에 액세스한 서버는 활성 사용자로 간주합니다.
Q: 월별 허용량에 포함되는 Git 요청은 무엇입니까?

Git 요청은 리포지토리 객체를 전송하는 모든 push 또는 pull 요청을 포함합니다. 로컬 및 원격 지점의 상태가 최신이어서 객체 전송이 없는 경우 해당 요청은 Git 요청 허용량에 포함되지 않습니다.

AWS CodeCommit 요금에 대해 자세히 알아보기

요금 페이지로 이동하기
구축할 준비가 되셨습니까?
AWS CodeCommit 시작하기
추가 질문이 있으십니까?
AWS에 문의