패스트캠퍼스 캐시백 챌린지 42일차
AWS CodeCommit과 CodeDeploy에 관한 클립들을 수강하는식으로 챌린지를 진행하였다. CodeCommit은 처음들어본 AWS서비스인데 github과 거의 유사한 git repository 제공서비스로 보였다. github에서 하던것처럼 git 명령어도 유사하게 사용하면되니 많이 편리하였던 것 같다. 다음 포스팅부터는 대규모 아키텍트 파트로 넘어가서 Microservice쪽을 중점적으로 다루며 포스팅을 하게 될 예정이다. 어느덧 6주차가 마무리되었는데 여태까지 하루도 안끊기고 포스팅한게 살짝 뿌듯해진다..ㅎㅎ
AWS CodeCommit
- Github과 유사한 코드 저장소 및 형상관리 서비스
- AWS CodeCommit은 git 기반의 리포지토리를 호스팅
- S3에 모든 코드를 암호화하여 저장(AWS KMS)
- IAM 인증을 통해 push/pull 에 대한 권한 관리
- 5명 미만까지는 무료
⇒ CodeCommit을 사용하기 위해서는 IAM 유저를 설정해주어야한다.
IAM에서 사용자를 추가하는 과정을 거쳐준다. 사용자이름을 설정하고 프로그래밍방식 엑세스를 선택해준다.
기존 정책 직접 연결에서 ‘codecommit’을 검색하고 AWSCodeCommitFullAccess 를 선택해준다.
사용자가 생성되었으면 해당 사용자로 들어와서 보안 자격증명 탭을 선택한다.
AWS CodeCommit에 대한 HTTPS Git 자격증명란에서 자격 증명생성을 생성해주어야한다.
생성해주면 사용자 이름과 패스워드를 csv 파일형태로 다운로드 받을 수 있다.
EC2를 새로 생성해주고, putty로 접속해준다.
그리고 다음과 같은 command를 입력해준다.
sudo apt update
sudo apt install awscli
aws configure
AWS Access Key ID: {IAM 사용자 생성시 표기된 ID}
AWS Secret Access Key: {IAM 사용자 생성시 표기된 Secret Key}
Default region Name: ap-northeast-2
(이때, 아까 다운받은 csv파일의 UserName과 Password는 push/pull 해줄때 필요한 것이고, aws configure할때에는 IAM 사용자 생성시에 표기된 내용들을 기입해주어야한다.)
Github처럼 pull을 해오려면 레포지토리를 생성해주어야한다. CodeCommit을 검색하고 레포지토리 생성페이지에 진입해준다.
레포지토리 이름을 설정해주고 생성버튼을 선택해준다.
URL 복제에서 HTTPS를 선택하면 레포지토리를 clone할 수 있는 주소가 복사된다.
복사된 주소를 활용해 git clone을 해주자.
git clone {https://복제한 주소...}
이때 Username과 Password를 요구하는 문구가 나올것인데, csv파일의 내용을 그대로 넣어주면 된다.
cd firstrepo
vi test.txt
tests.txt에 hello정도의 텍스트를 입력해준뒤 push를 해보자.
git config --local user.name {MY_NAME}
git config --local user.email {MY_EMAIL}
git init
git add .
git commit -m "test.txt"
git push -u origin
Github에서 쓰는 명령어와 사실상 거의 비슷하다. configuration을 해주고 commit을 추가해준뒤 push까지 해준다.
AWS CodeCommit의 레포지토리에 정상적으로 push가 이루어졌음을 확인할 수 있다.
AWS CodeDeploy
- AWS Codedeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances, serverless Lambda functions, or Amazon ECS services
(한편 lambda는 server가 실제하는데 없는것처럼 이용할 수 있는 서비스라고한다..)
- AWS CodeDeploy의 구성요소
⇒ Compute Platform :
(Amazon EC2 instances, on-premises instances, serverless Lambda functions, Amazon ECS services)
⇒ Deployment Types & Groups :
(여러개의 EC2를 모아놓은 그룹을 target group으로 했었는데, 여러개의 compute platform을 모아놓은 것을 group으로 함)
⇒ IAM & Service Roles
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.