개념

보통의 웹 서비스를 배포하는 과정,,

EC2 생성 → 미들웨어 설치 및 설정 → Database 설치 및 설정 그리고 구축 → 신뢰성을 위한 서버 확장 및 부하분산을 위한 로드밸런싱

하지만, Elastic Beanstalk을 사용하면 사용자가 개발에만 집중할 수 있고 인프라 구축을 알아서 해줍니다.

AWS Elastic Beanstalk이란?

Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, Passenger, IIS와 같은 친숙한 서버에게 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있는 서비스입니다.

코드를 업로드하기만 하면 EB가 용량 프로비저닝, 로드밸런싱, 오토스케일링부터 시작하여 애플리케이션 상태 모니터링에 이르기까지 배포를 자동으로 처리합니다.

이점

AWS 콘솔, Git레포지토리 또는 Eclipse나 Visual Studio Code와 같은 IDE를 통해 애플리케이션을 업로드하기만 하면 EB가 배포 정보를 자동으로 처리합니다.

Auto Scaling설정을 사용하여 애플리케이션의 특정 요건에 따라 자동으로 애플리케이션을 확장하거나 축소할 수 있습니다.

사용자 대신 인프라를 프로비저닝하고 운영할 뿐만 아니라 애플리케이션 스택(플랫폼)을 관리해주므로, 사용자는 시간을 따로 들이거나 익숙해지기 위해 애쓸 필요가 없게 됩니다.

또한, 애플리케이션이 실행되는 기본 플랫폼을 최신 패치와 업데이트를 통해 최신상태로 유지시켜 줍니다.

비용

AWS Elastic Beanstalk을 사용하는 비용은 따로 들지 않는다. 하지만 인프라 구축 시 사용되는 AWS서비스들(ex. EC2, RDS, VPC etc)에 대한 과금은 이루어집니다.

Hands-On (1) - PHP 올리기