[AWS] CodeCommit (Private Git Repository) 세팅하는 방법

[AWS] CodeCommit (Private Git Repository) 세팅하는 방법

작년 Re:Invent에서 소개된 새로운 툴 중 하나 인 CodeCommit 의 설정과 사용 방법을 소개합니다.

대체적으로 Windows 계열보다는 Linux(Unix) 계열의 OS에서의 사용이 간편합니다.

그렇다고 Linux로 OS로 갈아타기 부담스럽다면 Windows 용 Git 클라이언트를 설치하면 Linux와 동일하게 사용 가능합니다. (Git – Bash라는 이름의 Bash 쉘이 포함되어 있기 때문입니다.)

그럼 Linux 기준으로 설명해드리겠습니다.

 

AWS IAM 계정 생성하기

링크 : https://console.aws.amazon.com/iam

CodeCommit 을 세팅하기 앞서 우선 계정을 생성해야 합니다.
1. “Create New Groups” 으로 계정 그룹 추가

– 사용할 그룹 이름을 지정하고 “Next Step” 클릭
– Attach Policy에서 “AWSCodeCommitFullAccess”와 “IAMUserSSHKeys” 를 선택하고 “Next Step” 클릭
– 지정 내용 확인 후 “Create Group” 클릭하여 그룹 생성 완료

2. “Create New Users” 로 계정 추가

– Enter User Names에 계정 입력. 사용할 계정을 하나 이상 입력하면 됩니다.

3. 좌측 Users 메뉴를 클릭하고 추가한 사용자 계정을 선택합니다.

4. Access Key는 HTTPS 방식으로 pull/push 하는 경우 사용됩니다. 여기에서는 SSH Key 인증 방식을 사용하기 때문에 Access Key 생성을 하지 않고 생략하겠습니다.

5. “Upload SSH public key”를 클릭한 후 공란에 public key(id_rsa.pub) 의 내용을 저장합니다.

* SSH Key는 ssh-keygen 명령을 통해 생성가능 합니다. 패스워드 없이 사용하고 싶은 경우 생성 시 패스워드 설정 없이 엔터만 입력하면 됩니다. Windows 계열의 경우 위에서 언급한 Git – Bash를 이용해 동일하게 생성 가능합니다. 생성되는 위치는 ~/.ssh 이며 Windows의 경우 C:\Users\계정\.ssh 입니다.

6. 업로드가 완료되었다면 SSH Key ID가 나타납니다. 메모장에 복사해둡니다.

7. ~/.ssh 디렉토리에 config 라는 이름의 파일(확장자 없음)을 생성하여 아래 내용을 입력하고 저장합니다. (퍼미션은 600을 권장합니다. Windows의 경우 무관)

Host git-codecommit.*.amazonaws.com
  User [메모장에 복사한 SSH Key ID]
  IdentityFile ~/.ssh/id_rsa

8. SSH 설정이 정상적으로 되었는지 테스트 합니다. 아래 명령을 쉘에 입력하고 실행합니다. (Windows의 경우 Git – Bash에서 가능)

$ ssh git-codecommit.us-east-1.amazonaws.com

9. 아래 문구가 출력되면 정상적으로 동작하는 것입니다.

You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.us-east-1.amazonaws.com closed by remote host.
Connection to git-codecommit.us-east-1.amazonaws.com closed.

10. 이것으로 CodeCommit 사용을 위한 계정과 SSH 설정은 완료 되었습니다.

 

AWS CodeCommit – Git Remote Repository 생성하기

1. 상단 Services에서 CodeCommit 을 선택합니다.

2. 현재(2016-01-19) 기준으로는 버지니아 리젼만 존재하기 때문에 다른 지역의 리젼인 경우 버지니아 리젼을 선택하라고 합니다. 버지니아 리젼 클릭.

3. “Create new repository” 클릭

4. 저장소 이름과 설명을 입력합니다. (설명은 생략 가능)

5. 생성하면 리스트에 표시되며 우측 URL 아이콘을 클릭하면 SSH와 HTTPS가 나타납니다. SSH 클릭

6. Git Repository 주소가 나타나며 복사합니다.

7. 쉘에서 아래와 같이 클론 받습니다.

$ git clone [Git repository 주소] [로컬디렉토리명]

8. 클론을 받으면 당연히 비어있습니다. 이 곳에 파일을 넣고 커밋 합니다.

$ git add .
$ git commit -m "init"

9. 마지막으로 CodeCommit 원격 저장소에 푸시 합니다.

$ git push origin master

10. CodeCommit 화면으로 돌아가서 저장소를 클릭해보면 푸시 된 내용들이 표시됩니다.

 

이렇게 CodeCommit 을 이용해 Git 원격 저장소를 세팅할 수 있습니다. 보시면 아시겠지만 과정의 70%이상이 AWS IAM 설정이 대부분이고 가장 중요한 부분입니다.

세팅 이후 개인이 구축한 Git 원격 저장소처럼 자유롭게 사용 할 수 있습니다. 물론 무료는 아니기 때문에 비용에 관련한 부분은 아래 관련 링크를 참고하시기 바랍니다.

 

관련 링크

AWS IAM 메뉴얼(국문)

AWS CodeCommit 메뉴얼(영문)

AWS CodeCommit 비용

%d 블로거가 이것을 좋아합니다: