AWS CodeCommit은 클라우드에서 자산(예: 문서, 소스 코드, 바이너리 파일)을 비공개로 저장하여 관리할 수 있도록 Amazon Web Services에서 호스팅되는 버전 관리 서비스이다. CodeCommit과 관련된 자세한 내용은 아래 공식 페이지 및 문서 참조!
https://aws.amazon.com/ko/codecommit/
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
실제 동작은 아래와 같이 이루어진다.
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 |