AWS Elastic Beanstalk을 사용하면 가장 빠르고 간단하게 AWS에서 애플리케이션을 시작하고 구동할 수 있습니다. 개발자가 애플리케이션 코드를 업로드하기만 하면 AWS Elastic Beanstalk에서 제공하는 서비스에서 리소스 프로비저닝, 로드 밸런싱, 자동 크기 조정 및 모니터링 같은 모든 세부 정보를 자동으로 처리합니다. Elastic Beanstalk은 데이터베이스가 있는 앱 서버에서 실행할 수 있는 표준 PHP, Java, Python, Ruby, Node.js, .NET, Go 또는 Docker 애플리케이션이 있는 경우 매우 유용합니다. Elastic Beanstalk은 Auto Scaling 및 Elastic Load Balancing을 사용하여 변동이 심한 트래픽량을 손쉽게 지원합니다. 적은 용량으로 시작하여 확장할 수 있습니다.

무료로 AWS 시작하기

무료 계정 생성
또는 콘솔에 로그인

12개월 동안 AWS 프리 티어에 액세스하여 연중무휴 24시간 고객 서비스, 지원 포럼 등을 비롯한 AWS Basic Support 기능을 사용해 보십시오.

ElasticBeanstalk_ProductPage_Banner

애플리케이션이 실행되면 Elastic Beanstalk는 다음과 같은 여러 관리 기능을 제공합니다.

  • 다양한 배포 옵션을 사용하여 새로운 애플리케이션 버전을 실행 환경에 쉽게 배포(또는 이전 버전으로 롤백)할 수 있습니다.
  • 평균 CPU 사용률, 요청 개수, 평균 지연 시간 등 내장된 CloudWatch 모니터링 지표에 액세스할 수 있습니다.
  • 애플리케이션 상태가 바뀌거나 애플리케이션 서버가 추가 또는 제거되면 Amazon Simple Notification Service(Amazon SNS)를 통해 이메일 알림을 받을 수 있습니다.
  • 애플리케이션 서버에 로그인하지 않고도 서버 로그 파일에 액세스할 수 있습니다.
  • 한 번의 명령으로 모든 Amazon EC2 인스턴스에 있는 애플리케이션 서버를 빠르게 재시작할 수 있습니다.
  • 애플리케이션을 실행하는 기본 플랫폼(AMI, 운영 체제, 언어 및 프레임워크, 애플리케이션 또는 프록시 서버)에 정기적인 자동 업데이트를 수행할 수 있습니다. 

개발자는 Elastic Beanstalk를 통해 애플리케이션을 구동하는 AWS 리소스에 대해 완벽한 통제력을 그대로 유지하면서 Elastic Beanstalk 관리 콘솔에서 기본 구성 설정을 조정하는 것만으로 다음과 같은 다양한 기능을 수행할 수 있습니다.

  • 애플리케이션의 CPU와 메모리 요구 사항에 일치하는 가장 적합한 Amazon EC2 인스턴스 유형을 선택
  • Amazon RDS, Amazon DynamoDB, Microsoft SQL Server, Oracle, IBM DB2 또는 Informix와 같은 다양한 데이터베이스 및 스토리지 옵션에서 선택
  • 즉각적이고 직접적인 문제 해결을 위해 Amazon EC2 인스턴스에 대한 로그인 액세스 활성화
  • 애플리케이션을 둘 이상의 가용 영역에서 실행하여 안정성을 빠르게 향상
  • 로드 밸런서에서 HTTPS 프로토콜을 사용하여 애플리케이션 보안을 강화
  • 애플리케이션 서버 설정(예: JVM 설정)을 조정하고 환경 변수 전달
  • 메모리 캐싱 서비스와 같은 다른 애플리케이션 구성 요소를 Amazon EC2에서 병렬로 실행
  • Auto Scaling 설정을 조정하여 환경에서 인스턴스를 추가하거나 제거하는 시기를 결정할 때 사용하는 지표와 임계값 제어

Elastic Beanstalk를 이용하면 기본 인프라에 대해 원하는 만큼의 제어력을 유지하면서 애플리케이션을 신속하게 배포할 수 있습니다. 사용자가 Amazon S3에 저장한 애플리케이션의 배포용 코드에 릴리스마다 레이블을 지정(예: "버전 1.5")한 것이 애플리케이션 버전이며, 사용자는 이러한 애플리케이션 버전을 생성하여 배포를 시작하게 됩니다. 예를 들면 애플리케이션 버전은 PHP 애플리케이션의 특정 Git 배포를 가리킵니다. Elastic Beanstalk는 AWS Management Console, Git 배포 및 명령줄 인터페이스, AWS Toolkit for Visual StudioAWS Toolkit for Eclipse를 비롯하여 애플리케이션 버전을 쉽게 만들 수 있는 여러 도구를 제공합니다. 애플리케이션 버전을 생성한 다음에는, 배포하고자 하는 애플리케이션 버전을 지정하고 환경에서 이를 시작합니다. 여기서 환경이란 애플리케이션을 실행하기 위해 특별히 생성된 AWS 리소스(로드 밸런서, Auto Scaling 그룹, EC2 인스턴스)를 뜻합니다. 환경을 시작할 때 환경 내의 리소스의 크기나 유형을 지정하지 않아도 Elastic Beanstalk에서 용량 프로비저닝, Load Balancing, Auto Scaling의 배포 세부 정보, 애플리케이션 상태 모니터링을 자동으로 처리하고, 환경이 시작되고 나면 이를 알려줍니다. 또한, 사용자가 배포하고자 하는 코드의 최신 버전을 갖고 있다거나 이전 버전으로 복귀하고자 하는 경우, 실행 중인 환경에 다양한 애플리케이션 버전을 배포할 수 있습니다.

기본 설정을 사용하는 환경은 단일 Amazon EC2 마이크로 인스턴스(애플리케이션 서버)와 Elastic Load Balancer를 실행합니다. EC2 인스턴스는 Auto Scaling을 구성하며, 이는 워크로드나 트래픽의 피크를 처리하기 위해 추가 인스턴스가 자동으로 더해진다는 뜻입니다. 트래픽이 진정되면 자동으로 더해진 인스턴스는 폐기됩니다. Elastic Beanstalk는 사용자의 애플리케이션에 URL(예: http://myapp.elasticbeanstalk.com)을 제공합니다. 이를 웹 브라우저에 입력하면 실행 중인 애플리케이션을 확인할 수 있습니다. 또한, 로드 밸런서는 애플리케이션이 확대 및 축소됨에 따라 입력 트래픽을 다수의 Amazon EC2 인스턴스 전체에 분산시킵니다. 또한 입력 트래픽을 정상적인 인스턴스로만 자동으로 라우팅하여 애플리케이션에 안정적인 환경을 제공합니다. 각 Amazon EC2 인스턴스는 서버의 새 인스턴스를 생성하는 데 필요한 모든 정보가 포함된 Amazon 머신 이미지(AMI)로부터 생성됩니다. Elastic Beanstalk는 기본적으로 Amazon Linux AMI 또는 Windows Server 2012 R2 AMI를 사용합니다. 이 AMI에는 웹 서버와 애플리케이션 서버의 두 가지 역할을 하는 소프트웨어가 모두 포함되어 있습니다(예: Linux, Apache, PHP). 10개 이상의 환경을 실행하거나, 500개 이상의 애플리케이션 버전을 업로드하거나, 20개 이상의 Amazon EC2 인스턴스를 시작하고자 하는 경우 AWS Elastic Beanstalk 한도 요청 양식을 작성해 주시면 Amazon에서 해당 요청에 대해 즉시 평가하도록 하겠습니다.

이 서비스 사용은 Amazon Web Services 고객 계약에 따릅니다.