선릉역 1번 출구

[AWS] Elastic Beanstalk 본문

Computer/Cloud Computing

[AWS] Elastic Beanstalk

choideu 2023. 2. 22. 10:24

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
Comments