ElasticBeanstalk - 웹서버를 배포해주는 환경 자동 생성

 

ElasticBeanstalk이란 무엇인가?

1. web 어플리케이션과 서비스들을 배포와 스케일링을 쉽게 해주는 서비스

(사용자가 실제로 할 것은 서비스에 필요한 코드를 만드는 것)

(나머지 서버와 관련된 것은 ElasticBeanstalk가 해줌)

2. 사용자가 업로드를 하면, EB가 Capacity Provisioning(서버 용량 준비), Load Balancing, Auto Scaling, Health Monitoring 등의 모든 배포를 자동으로 관리

3. EB는 애플리케이션을 쉽게 배포할 수 있고 운영 및 관리를 지원하는 AWS 서비스

4. EB는 프로비저닝(서비스를 제공하기 운하 자원들을 준비하는 것)의 결정체

5. Application을 저장/실행하는 데 필요한 자원에 대한 비용만 지불

 

ElasticBeanstalk의 장점

1. 시작하기에 간단하고 빠르다.(간단한 배포)

(Infrastructure나 resource configuration을 하지 않아도 됨)

2. 개발 생산성 극대화

(application을 실행하는 platform을 최신으로 유지시켜 서버에 대한 신경 쓸 필요를 없게 함)

3. 완벽한 리소스 관리

 

ElasticBeanstalk의 특징 - AS와 LB를 지원

 

ElasticBeanstalk 기초

1. Application - Project Folder: 배포에 필요한 파일들이 존재하고, 이것을 배포할 때 환경이 만들어짐, 이 환경은 여러 개가 될 수 있음, EB applicatoin 내에서 실행되지 않으며, 배포되고 환경안에서 실행됨.

2. Environment - EB application 내에서 만듦, Application의 서로 다른 실행 버전을 관리(여러 개의 환경이 존재할 수 있음)

3. Environment tier

Web Server tier - Http(s) request를 다룸

Worker tier - Background Process를 다룸

4. Environment Health

- green - Good

- gray - 환경이 변하는 중, 잠시 사용할 수 없다.

- yellow - 경고, 문제가 있을 수 있다.

- red - 문제가 있어서 application이 실행 x

5. EB 사용 도구

- Management Console

- EB -ElasticBeanstalk CLI

- Web API - 프로그래밍을 할 때 사용하는 함수

6. EB Architecture

- CNAME - environment에 대한 human-readable URL

(url형식의 CNAME을 통해 traffic이 전달되고, CNAME 다음 단계에서 LB가 트래픽을 분산시킴)

- Load Balancer - traffic을 multiple instance로 보냄

- Auto Scaling group: traffic을 처리할 instance를 선정하고 instance 개수 증가 및 감소를 시킴

 

 

 

 

 

 

 

+ Recent posts