본문 바로가기
Skills/DevOps

#0 AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - 배포 프로세스

by Hoseok 2023. 5. 22.
728x90
반응형

 

Architecture

 

Github

 

Github Repository Main 브랜치에 Push.

 

Github Actions

 

Github Actions는 deploy.yml 파일을 읽고, 배포환경과 같은 환경을 가진 테스트 서버에서 Build한다.

Build가 성공한다면, JAR 파일이 만들어질 것이다.

 

AWS S3

 

CI툴을 이용하여 Build가 성공한다면,

Github Actions는 미리 만들고 설정해준 IAM 권한을 통해,

AWS CLI(Command Line Interface)를 사용하여 S3 버킷에 JAR파일을 업로드한다.

 

S3 버킷의 객체 URL을 기반으로 Elastic Beastalk 배포가 수행될 것이다.

 

AWS Elastic Beanstalk

 

Elastic Beanstalk 환경 설정

 

Elastic Beanstalk에는 환경 설정, EC2 인스턴스 유형, 로드 밸런서, 오토 스케일링에 대한 옵션들이 정의되어 있다.

이를 토대로 Elastic Beanstalk은 배포될 애플리케이션을 실행할 EC2 인스턴스를 자동으로 프로비저닝, 관리하게 된다.

 

*프로비저닝(Provisioning)

용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가,

필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것.

 

배포

 

배포 그룹 내의 EC2 인스턴스에 JAR 파일을 배포하게 된다.

이때 블루 - 그린 방식을 사용하여 배포를 진행할 것이다.

 

실행 

 

EC2 인스턴스에 배포된 애플리케이션 실행.

Elastic Beanstalk은 실행된 애플리케이션의 상태를 모니터링하고 관리한다.

 

 

 

728x90
반응형