Amazon Web Services 한국 블로그

Elastic Beanstalk – Java 및 Go 언어 지원

Abhishek Singh는 AWS Elastic Beanstalk의 신규 기능 업데이트 소식인 Java JAR 파일 및 Go 프로그래밍 언어 지원을 아래 글을 통해 알려드립니다.

Jeff;


AWS Elastic Beanstalk을 통해 Java, .NET, PHP, Ruby, Node.js 및 Docker 등 웹 응용 프로그램 및 서비스를 손쉽게 확장성 높은 AWS 클라우드로 배포 및 서비스가 가능합니다. 프로그램 코드를 업로드만 하면 Elastic Beanstalk이 자동으로 용량 프로비저닝, 로드 밸런싱, 오토 스케일링, 응용 프로그램의 상태 모니터링을 포함하여 배포 작업을 수행합니다. 또한, 응용 프로그램을 계속 서비스하기 위한 AWS 리소스 제어 또한 가능합니다.

이번에 Java와 Go 응용 프로그램에 대한 지원을 추가함으로써 Elastic Beanstalk를 더욱 유용하게 활용할 수 있게 되었습니다. 또한, 새로운 플랫폼에서는 Nginx 리버스 프록시를 구성하는 프로세스를 쉽게 가능합니다. Nginx 구성을 제어하려면 .ebextensions/nginx 폴더에 nginx.conf를 추가 할 수 있습니다. 또한 플랫폼에서 제공하는 Nginx 구성을 포함하려면, .ebextensions/nginx/conf.d 폴더에 설정 파일을 추가 할 수 있습니다. 자세한 내용은 역방향 프록시 구성 방법을 참조하십시오.

  1. .ebextensions/nginx/nginx.conf – Nginx 설정 재정의(Override)
  2. .ebextensions/nginx/conf.d – Nginx 설정 파일

자바 신규 지원

JettyPlay와 같은 개발 프레임웍을 사용하여 자바 앱을 배포하는 것이 가능합니다. Tomcat외에도 다양한 옵션이 제공됩니다.

Java 응용 프로그램을 Elastic Beanstalk에 배포하는 방법은 다음과 같습니다.

바로 시작해 보시려면, Elastic Beanstalk 시작 화면에서 샘플로 정의된 카테고리에 있는 Java 플랫폼을 선택하십시오. Java 7 및 Java 8 모두 지원됩니다.

Go 언어 신규 지원
AWS Elastic Beanstalk에서 Go language 응용 프로그램을 실행시킬 수 있습니다. 다음과 같은 방법으로 Elastic Beanstalk에 Go 응용 프로그램을 배포 할 수 있습니다.

  1. 응용 프로그램의 소스를 포함 아카이브를 업로드합니다. AWS Elastic Beanstalk은 자동으로 응용 프로그램을 빌드하고 실행시킵니다. (AWS Elastic Beanstalk은 application.go라는 파일에 main function이 있다고 가정합니다.)
  2. 응용 프로그램의 바이너리를 포함한 아카이브를 업로드합니다. 여기에 응용 프로그램을 동작 시키기 위해 필요한 추가 매개 변수를 정의하는 Procfile도 포함되어 있습니다. 자세한 내용은 Application Process Configuration (Procfile)를 참조하십시오.
  3. 응용 프로그램 소스 Buildfile 및 Procfile를 포함한 아카이브를 업로드합니다. 자세한 내용은 Building Applications On-Server (Buildfile)를 참조하십시오.Java 플랫폼처럼 Go 플랫폼은 Profile에 여러 프로세스를 정의하는 Procfile을 지원합니다.

새로운 플랫폼을 사용하려면, AWS Elastic Beanstalk Management Console 로그인 및 EB CLI를 이용하여 최적의 클라우드 서비스 플랫폼을 만들어 보시기 바랍니다.

Abhishek Singh, Senior Product Manager, AWS Elastic Beanstalk

이 글은 Elastic Beanstalk Update – Support for Java and Go의 한국어 번역입니다.