일하는/Cloud, Web

[AWS] AWS CodeCommit

김논리 2021. 6. 7. 10:14

AWS CodeCommit은 클라우드에서 자산(예: 문서, 소스 코드, 바이너리 파일)을 비공개로 저장하여 관리할 수 있도록 Amazon Web Services에서 호스팅되는 버전 관리 서비스이다. CodeCommit과 관련된 자세한 내용은 아래 공식 페이지 및 문서 참조!

https://aws.amazon.com/ko/codecommit/

 

AWS CodeCommit | 관리형 소스 제어 서비스

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

aws.amazon.com

 

CodeCommit은 프라이빗 Git 리포지토리를 호스팅하는 안전하고 확장성이 뛰어난 관리형 소스 제어 서비스입니다. CodeCommit는 자체 소스 제어 시스템을 관리하거나 인프라 확장을 걱정할 필요가 없습니다. CodeCommit을 사용하여 코드와 바이너리 등을 저장할 수 있습니다. 또한 Git의 표준 기능을 지원하므로 기존 Git 기반 도구와도 원활하게 연동됩니다.

AWS 가 대신 git server를 만들어 주고 운영해 줍니다 ^^ 그것도 아주 저렴하게..

프로젝트에서 AWS를 사용하고 있는데, 별도의 형상 관리 툴이 없고 private으로 repository를 운영하고 싶을 때 한번 쯤 사용해 볼만 한 것 같다. 대신 UI가 좀 구림...
  • 최초 5명의 활성 사용자: 0.00 USD
    • 무제한 repository
    • 매달 50GB의 storage
    • 매달 10,000건의 git request
  • 최초 5명 이후 추가되는 활성 사용자당: 매달 1.00 USD
    • 무제한 repository
    • 활성 사용자당 매달 10GB의 storage
    • 활성 사용자당 매달 2,000회의 git request

실제 동작은 아래와 같이 이루어진다.

출처: https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html

 

IAM 정책 연결

AWS IAM Console에 접속하여 AWS CodeCommit 에 대한 Access 정책이 연결되어 있는지 확인해 보자.

또한 인증을 위한 Access Key 및 Secret Key를 확인 한다. (사용자  보안 자격 증명 에서 확인 가능)

 

Repository 생성

AWS CodeCommit Console에 접속하여 새로운 Repository를 생성한다. (AWS CLI를 이용해서도 가능) 생성이 완료되면, 아래와 같이 Repository dashboard에서 확인할 수 있다.

 

Repository 연결

AWS CodeCommit은 3가지 연결 방법을 지원한다.

  • HTTPS
  • SSH
  • HTTPS(GRC)

본 페이지에서는 HTTPS 와 SSH 연결 방법에 대해 안내하며, 모든 경우 local machine에 git이 설치되어 있어야 한다.

 

HTTPS

AWS IAM Console 에 접속하여 사용자 → 원하는 사용자 선택 후 → 보안 자격 증명 탭으로 이동한다. "AWS CodeCommit에 대한 HTTPS Git 자격 증명" 의 자격 증명 생성 선택! 생성되는 자격증명 파일을 다운로드 하여 아이디와 비밀번호를 확인한다.

local에서 아래 명령을 수행한다.

$ git clone https://git-codecommit.*.amazonaws.com/v1/repo/YourRepositoryName

사용자 이름과 암호 입력 창이 발생하면, 생성된 자격 증명의 이름과 암호를 입력한다.

 

SSH

ssh-keygen 을 이용하여 local에 ssh public-private key pair가 생성되어 있어야 한다.

 

AWS IAM Console 에 접속하여 사용자 → 원하는 사용자 선택 후 → 보안 자격 증명 탭으로 이동한다. "AWS CodeCommit에 대한 SSH 키" 의 SSH 퍼블릭키 업로드를 선택하여 ssh public key 내용을 붙여넣기 한다.

 

매번 key 파일을 입력하지 않으려면, local의 ~/.ssh/config 파일을 다음과 같이 수정하여 사용하면 된다.

Host git-codecommit.*.amazonaws.com
    User Your-IAM-SSH-Key-ID-Here
    IdentityFile ~/.ssh/Your-Private-Key-File-Name-Here

User에는 IAM Console에 저장된 SSH Key ID 를 입력하고, IdentityFile에는 ssh private key 경로를 입력한다.

local에서 아래 명령을 수행한다.

$ git clone ssh://git-codecommit.*.amazonaws.com/v1/repos/YourRepositoryName

코드가 다운로드되면, repository 연결이 정상적으로 완료 된 것!!

 

'일하는 > Cloud, Web' 카테고리의 다른 글

Django REST Framework API Key 사용법  (0) 2021.06.25
[AWS] EC2 인스턴스에서 CodeCommit 사용 설정하기  (0) 2021.06.07
Node.js  (0) 2021.06.03
Fast API  (0) 2021.02.03
Django REST Framework : (6) ViewSets & Routers  (0) 2020.11.09