선릉역 1번 출구
[AWS] Elastic Beanstalk 본문
AWS Elastic Beanstalk
웹 어플리케이션/웹 서비스를 배포하고, 확장하고, 관리하는데 있어 쉽고 빠르게 할 수 있도록 돕는 완전 관리형 서비스
Q. AWS elastic beanstalk은 왜 써야 할까?
A1. 코드의 배포, 프로비저닝, 관리가 복잡함
A2. 서버, DB, LB, FW과 복잡한 네트워크를 구성하고 관리하는데 전문성과 시간이 필요함
A3. 어플리케이션의 Scale out/in을 어떤 식으로 자동화해야할지 고민
-> 코드에만 집중할 수 있게 하기 위해 나옴
방법에 따른 공수
On-premise 사용: 100%(공수)
AWS EC2 수동 구성: 50%(공수)
AWS Elastic Beanstalk: < 10%(공수)
아이디어나 프로토타입이 나왔을 때, 원-클릭 배포를 통해 테스트나 배포를 할 수 있음
=> AWS Elastic Beanstalk은 시간과 돈을 절약할 수 있는 솔루션임
(사용에 따른 추가 요금 발생 x, 사용되는 AWS 리소스에 대해서만 비용을 지불함)
어플리케이션 배포에 필요한 정보
- 코드
- 리전
- 스택 타입
(원하는 플랫폼 선택)
- 단일 인스턴스|오토스케일링 및 로드 밸런싱
- 데이터베이스(optional)
AWS CLI와 별도로 elastic beanstalk의 CLI를 설치해서 사용해야 함
Auto Scaling in Elastic beanstalk
설정
- Min/Max instances
- Availability Zones
- Scaling cooldown: Scale in을 할 때, cooldown 시간을 주는 것
활성화 방법
- Triggers based scaling
- TIme-based scaling
배포 정책
- All at once: 모든 인스턴스에 동시에 새 버전 배포, 중간에 아주 짧은 DOWN Time이 존재
- Rolling: 배치 단위로 새 버전 배포
- Rolling with additional batch: 배치 단위로 새 버전 배포, +1 추가 배치
- Immutable: 새로운 인스턴스 그룹에 배포, 기존의 환경안에서 새로운 그룹을 만드는 것
+Blue/Green
Rolling vs Rolling with additional batch
차이점
- Rolling의 경우 capacity가 100%이 될 수 없지만, Rolling with additional batch의 경우 업데이트 시 새로운 instance를 할당하여 capacity를 100%으로 만듦
공통점
- 둘은 버전을 순차적으로 업데이트하기 때문에 사용자에 따라 다른 버전을 볼 수 있음
Environment 타입 | 지원되는 배포 정책 |
단일 인스턴스 | All at once |
Immutable | |
로드밸런스/오토스케일 적용 | All at once |
Rolling | |
Rolling with additional batch | |
Immutable |
Immutable vs Blue/Green
- Immutable: 같은 환경안에 새로운 그룹을 만드는 것
- Blue/Green: 다른 환경에서 배포를 진행하는 것
- Clone Environment: 기존의 환경 복사
- All at once: 한번에 업데이트
- Swap Environment URLs: 기존의 DNS로 변경해줌(URL이 변경됨)
(46:10)
참고 동영상
https://www.youtube.com/watch?v=AfRnvsRxZ_0
참고 사이트
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/GettingStarted.Explore.html
'Computer > Cloud Computing' 카테고리의 다른 글
[AWS-실습] VPC and subnet 구축 (0) | 2023.02.25 |
---|---|
AWS VPC (0) | 2023.02.22 |
Cloud Native Application (0) | 2023.01.02 |
Cloud Security(2) (0) | 2022.12.01 |
Cloud Security(1) (0) | 2022.12.01 |