코드를 Elastic beanstalk에 보내면 모든것을 처리해주는데 예를 들면 ELB직접 셋업해주고 EC2 인스턴스도 만들어주고 S3Bucket도 만들어준다. DB까지 만들어준다. 클라우드 워치도 사용이 되어지는데 모니터링을하고 웹 어플리케이션에 문제가 생겼을때 처리 할 수 있기때문이다. 그리고 자체적으로 헬스 대쉬보드를 갖고 있는데 클라우드 워치에서도 볼 수없는 상세 정보들을 이 대쉬보드에서 확인 할 수 있다.(X-Ray)
Elastic beanstalk는 기본적인 인프라구축을 해주기 때문에 개발자는 완전 코드에만 집중하면 된다.
Elastic beanstalk 배포 방법
All At Once : 한번에 모든것을 배포
현재 EB에 의해서 EC2인스턴스들이 돌아가고 있는데 All at once방식은 현재 돌아가고 있는 인스턴스 전부 업데이트하고 배포하는 과정을 말하는데 버전1 에서 버전2로 넘어갈때 모든 인스턴스들이 셧다운 될것이며 배포가 종료되어야 어플리케이션 사용이 가능하다.
이런 특징 때문에 매순간 돌아가야하는 웹서비스에는 적합한 방법이 아니다. (운영X 개발이나 테스트 환경에서 사용)
RollBack : 배치 형태로 천천히 배포
배치 형태로 배포를 진행하는데 각각의 배치가 배포를 할때 그 배치만 셧다운이 되며 나머지들은 정상적으로 돌아간다.
그림에서 첫번째 네모칸 안에 있는 인스턴스들을 업데이트를 하고 두번째 네모칸 안에 있는 인스턴스들을 업데이트해주면 배포가 완료된다.
이런식으로 각각 진행이 되다보니 배포가 진행되는 상황에서도 어플리케이션이 다운되는 현상은 없다. 그래도 두개의 인스턴스가 셧다운이 되니 어느정도 성능이 떨어진다.
Immutable : 배포 전 인스턴스를 삭제하기전에 새로운 인스턴스를 생성하고 그 인스턴스에 배포하는 방법
기존에 있던 인스턴스는 건들지 않고 새로운 인스턴스를 만들어서 새로운버전을 담는다. 만약 새로 만들어진 인스턴스들이 헬스체크에 모두 통과한다면 기존의 인스턴스들은 삭제가 된다.
'AWS' 카테고리의 다른 글
ECR (0) | 2023.01.03 |
---|---|
ECS (0) | 2023.01.03 |
Code Deploy Life Cycle Event Hooks (0) | 2023.01.01 |
Elasticbeanstalk로 생성된 S3 버킷 삭제 실패 (0) | 2022.12.23 |
만든 프로젝트 aws배포 (0) | 2022.12.20 |