Elastic Beanstalk를 배포하는데 있어서 다음과 같은 전력이 가능하다.
- All at Once :
모든 인스턴스를 한번에 배포하나 Downtime발생
추가 자원이 필요하지는 않음
개발환경이 가벼워 금방 업데이트 된다면 괜찮은 방법 - Rolling :
한번에 몇개의 인스턴스만 Rolling Update
업데이트 대상 인스턴스 갯수 지정가능
동시간에 v1 v2 모두 혼재
추가 자원이 필요하지는 않음
All at Once방식보다 시간이 더 걸림 - Rolling with additional batches :
Rolling 방식과 유사하나, 추가적으로 v2자원을 할당하고 개발이 완료된 후에 삭제하는 방식
Prod환경에 적합
적은 양의 추가 리소스 필요
업데이트 대상 인스턴스 갯수 지정가능
동시간에 v1 v2 모두 혼재
All at Once방식보다 시간이 더 걸림
- Immutable :
다운타임 없음
v2가 임시 ASG에 생성
두배의 자원 소모
빠른 롤백이 가능(단지 v2 ASG를 종료시키면 됨)
All at Once방식보다 시간이 더 걸림
Prod환경에 적합
공식적이지 않은 배포 Feature는 이러한 것이 있다.
- Blue/Green
다운타임 없음
v2가 배포된 Stage 버전을 생성
빠른 롤백이 가능(단지 서비스 커넥션을 v1으로 이동시키면 됨)
Route53의 가중치 트래픽관리 기능을 통해 카나리 배포와 같이 트래픽을 점진적으로 v2로 증가시킬수 있음
관련문서
Elastic Beanstalk 환경에 애플리케이션 배포 - AWS Elastic Beanstalk
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
사용방법
1. 작업코자 하는 ElasticBeanstalk로 생성된 어플리케이션 상세정보로 들어갑니다.
2. [Configuration]메뉴를 클릭합니다.
3. 상세환경설정 정보에서 "Rolling updates and deployments" 란의 "Modify" 버튼을 클릭합니다.
4. 기본적으로 배포 정책이 "All at Once"로 선택되어 있을 것이다. 필자는 "Immutable"로 진행해보려 한다. "Application Deployments" 영역의 Deployment Policy를 "Immutable"로 선택한다.
5. "Configuration Updates"에서는 Rolling Update Type을 아무거나 선택한다.
6. "Deployment preferences"는 기본 설정으로 둔다.
7. "Apply" 버튼을 눌러 적용한다.
8. 어플리케이션을 새로운 버전으로 업데이트 한다. EB CLI(ep deploy)를 통해 업데이트 변경 사항을 ElasticBeanstalk에 반영한다.
Swap URL 사용법
1. 기존 EB 어플리케이션 config를 save한다.
2. save한 config로 새로운 EB 어플리케이션을 생성한다.
3. 어플리케이션 상세페이지로 가서 오른쪽 상단의 "Action"-"Swap URL"을 클릭한다.
4. Swap사항을 확인후에 적용하면 새로운 EB어플리케이션이 대외적으로 서비스 됨을 확인할 수 있다.
'IaaS > 퍼블릭클라우드' 카테고리의 다른 글
(AWS) Lambda Alias란? (0) | 2022.02.15 |
---|---|
(AWS) Lambda 에 대해서 (0) | 2022.02.07 |
(AWS) Elastic Beanstalk란? (0) | 2022.02.07 |
(AWS) CloudFormation Stack Policy란? (0) | 2022.02.06 |
(AWS) cfn-signal, cfn-get-metadata, cfn-hup 이란? (0) | 2022.02.06 |