EC2나 S3는 익숙하실텐데 Elastic Beanstalk는 생소한 분들도 계실 것 같습니다.
AWS의 사용자 입장에서 웹 어플리케이션/ 웹 서비스를 손쉽게 배포, 운영, 관리할 수 있도록 도와주는 Paas (Platform as a Service) 서비스입니다.
⇒ Paas란?: 인프라, 플랫폼 등을 구축하거나 유지관리할 필요 없이 준비된 개발 및 배포 환경
EB (Elastic Beanstalk)는 AWS에서 제공하는 EC2, S3, RDS등의 패키지 상품 같은 개념이라고 보면 됩니다.
요금의 경우, EB내에서 사용하는 EC2, S3 등의 스펙과 규모로 측정됩니다. 만약 무료로 사용하고자 한다면, 신규 가입자에 한하여 1년동안 제공되는 Free Tier 규정내에서 사용해야 합니다. (저 역시 회사에서 웹앱을 프로토타입 형태로 빠르게 만들고자 할 때 Free Tier로 사용했었습니다.)
AWS에는 개발자로 하여금 개발과 운영에만 집중할 수 있도록 체계적인 인프라를 제공합니다. 하지만 AWS를 경험해보지 않은 상태에서 공식 사이트에 들어가면 너무 서비스가 많고 다양해서 무엇을 사용해야 할 지 감을 잡기 어렵습니다.
그게 바로 EB 같은 Paas를 사용하는 이유인데, 개발자가 일일이 어떤 서비스를 사용할지 고민할 필요성을 최소화해주고 개발환경을 잡아줍니다. 개발 팀은 그저 어플리케이션을 업로드하고 세팅된 개발환경을 니즈에 맞게 약간의 세팅만 해주면 됩니다.
정리하자면 장점은 다음과 같습니다.
배포하는 방식은 여러가지가 있습니다.
처음 사용해보고자 하신다면 아래 생활코딩 링크를 보고 따라해보시길 바랍니다.
추가적으로, Vue 프로젝트에서 Elastic Beanstalk를 사용하려고 할 때 참고했던 링크입니다.
Deploying a Vue and Node Application to AWS Elastic Beanstalk