[마소 394호] AWS EC2와 트래비스CI를 활용한 무중단 배포 서비스

입력 2018.10.29 10:00

소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 트래비스CI, 데브옵스, PaaS, 마이크로서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

CI/CD, 배포 자동화, 무중단 배포 등은 이미 널리 알려진 개념이다. 다만 이런 환경에서 개발하는 비율은 그렇지 않은 쪽이 더 많다고 한다. 이 글에서는 최소의 비용으로 무중단 배포 환경을 구축하는 과정을 소개한다. 아직 CI/CD 환경을 접하지 못한 독자, CI/CD 환경에서 혹은 개인 서비스를 준비하고 있는 독자에게 도움이 되길 바란다. 예제는 배포가 쉬운 스프링 부트(Spring Boot)를 기반으로 진행한다.

트래비스 CI는 이름 그대로 CI의 역할만 한다. 트래비스 CI는 푸시하면 프로젝트를 컴파일해 오류를 찾고, 전체 테스트를 하고, 프로젝트를 빌드해 배포 파일을 생성한다. 다만, 트래비스 CI는 EC2에 배포할 수 있는 기능이 없다. 그래서 트래비스 CI는 AWS에 배포를 담당하는 AWS 코드 디플로이(Code Deploy)에게 배포를 부탁해야만 한다.

한 가지 더 필요한 게 있다. AWS 코드 디플로이는 빌드기능이 없다. 빌드된 파일을 가져오려면 S3를 이용해야 한다.

트래비스 CI와 AWS 코드 디플로이가 연동된 시스템 구조. / 마이크로소프트웨어 394호 발췌
기존에 사용하는 EC2가 있다면 해당 EC2를 이용하고, 없으면 프리티어를 생성한 뒤 다음 과정을 진행하자. AWS IAM 페이지로 이동해 ‘AmazonEC2RoleforAWSCodeDeploy’ 정책을 가진 역할을 생성한다. 만약 기존에 사용하던 역할이 있으면 정책을 추가만 하면 된다. 생성한 혹은 수정한 IAM Role을 본인의 EC2에 할당한다. IAM Role 할당 후 EC2에 접속해서 코드 디플로이 ‘Agent’를 설치한다.

이제 트래비스 CI와 AWS 서비스를 연동하자. 이번 과정이 끝나면 깃허브에 푸시가 발생하면 트래비스 CI가 빌드하고, 빌드 파일을 S3와 코드 디플로이에 전달한다. 코드 디플로이가 성공적으로 실행됐다면, 트래비스 CI와 AWS 코드 디플로이를 이용한 배포 자동화 시스템 구축이 끝났다.

이동욱 필자의 ‘AWS EC2와 트래비스CI를 활용한 무중단 배포 서비스’에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.


키워드

관련기사를 더 보시려면,

[마소 394호] RxJava로 생각하기 오세용 기자
[마소 394호] 플라스크 효과적으로 사용하기 오세용 기자
[마소 394호] 스토리체인이 사이드체인을 선택하기까지 오세용 기자
[마소 394호] 모바일 앱 테스트 자동화용 디바이스팜 구축 오세용 기자
[마소 394호] 되돌아 보는 1만 개의 클라이언트 문제 오세용 기자
[마소 394호] 클릭만으로 도커 개발 환경을 완성시켜주는 애저 PaaS 오세용 기자
[마소 394호] DDD와 MSA로 쇼핑몰 구축하기 오세용 기자
[마소 394호] 이스티오 서비스 메시를 이용한 MSA 구축 오세용 기자
[마소 394호] 제대로 구성하는 마이크로서비스 아키텍처 오세용 기자
[마소 394호] 아마존 API 게이트웨이와 AWS 람다로 구성하는 다운로드 서버 오세용 기자
[마소 394호] 스타트업의 좌충우돌 CI/CD 구성 오세용 기자
[마소 394호] AWS 이메일 서비스 써보니 오세용 기자
[마소 394호] 클라우드의 성능 품질 이야기 오세용 기자
[마소 394호] 클라우드 시대 토종 호스팅 업체의 변신 오세용 기자
[마소 394호] 데이터베이스의 게임 체인저, 오라클 클라우드 오세용 기자
[마소 394호] 알아두면 쓸데없는 신비한 TLS 1.3 오세용 기자
[마소 394호] 다시 보는 PaaS, 어디서 와서 어디로 가는가 오세용 기자
[마소 394호] 코드로 관리하는 인프라스트럭처, 테라폼 오세용 기자
[마소 394호] 더 웨더 컴퍼니의 데브옵스 오세용 기자
[마소 394호] 사설 클라우드의 끝판왕 오픈스택 오세용 기자
[마소 394호] 개발운영 퀀텀 점프를 위한 도커 오세용 기자
[마소 394호] IT 서비스와 모니터링 역사 오세용 기자
[마소 394호] 오픈스택 커뮤니티 동고동락 오세용 기자
[마소 394호] 데브옵스를 꿈꾸는 개발자를 위한 안내서 오세용 기자