아마존 웹 서비스를 다루는 기술 23장 - 2. AWS 콘솔에서 Elastic Beanstalk Node.js 애플리케이션 배포하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

간편하게 사용하는 애플리케이션 플랫폼 서비스 Elastic Beanstalk

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

AWS 콘솔에서 Elastic Beanstalk Node.js 애플리케이션 배포하기

AWS 콘솔에서 Elastic Beanstalk node.js 애플리케이션을 Elastic Beanstalk 환경에 배포해보겠습니다.

그림 23-17 AWS 콘솔에서 Elastic Beanstalk 작업 흐름

간단한 웹 페이지를 작성합니다. 메모장이나 기타 텍스트 편집기를 열고 아래와 같이 작성한 뒤 app.js로 저장합니다.

app.js
var express = require('express')
  , http = require('http')
  , app = express();

app.get(['/', '/index.html'], function (req, res){
    res.send('Hello Elastic Beanstalk');
});

http.createServer(app).listen(process.env.PORT || 3000);

Node.js npm 패키지 사용을 위해 아래와 같이 작성한 뒤 package.json로 저장합니다.

package.json
{
  "name": "hello",
  "description": "Hello Elastic Beanstalk",
  "version": "0.0.1",
  "dependencies": {
    "express": "4.4.x"
  }
}

app.js 파일과 package.json 파일을 zip으로 압축합니다. 저는 exampleapp.zip으로 압축했습니다. Elastic Beanstalk 메인 페이지에 애플리케이션과 환경 목록이 표시됩니다. 방금 생성한 Elastic Beanstalk 환경(exampleapp-env)을 클릭합니다.

그림 23-18 Elastic Beanstalk 애플리케이션 및 환경 목록

Elastic Beanstalk 환경 페이지에서 Upload and Deploy 버튼을 클릭합니다.

그림 23-19 Elastic Beanstalk 환경 페이지

업로드 및 배포 창이 표시됩니다. 파일 선택 버튼을 클릭합니다.

그림 23-20 Elastic Beanstalk 배포

파일 열기 창에서 방금 압축했던 exampleapp.zip 파일을 선택하고 열기 버튼을 클릭합니다.

그림 23-21 Elastic Beanstalk 배포할 파일 선택

파일을 열면 Version label에 파일명이 그대로 입력됩니다. 애플리케이션을 업로드할 때마다 Version label이 달라져야 합니다. 여기서는 exampleapp1을 입력합니다(다음 번에는 exampleapp2 exampleapp3 등으로 입력합니다). 설정이 완료되었으면 Deploy 버튼을 클릭합니다.

그림 23-22 Elastic Beanstalk 배포

잠시 기다리면 Health가 Updating에서 Green으로 바뀌고, Elastic Beanstalk 애플리케이션 배포가 완료됩니다. 이제 위쪽 <환경 이름>.elasticbeanstalk.com 링크를 클릭합니다.

그림 23-23 Elastic Beanstalk 애플리케이션 배포 완료

웹 브라우저에서 Elastic Beanstalk 환경 URL에 접속하면 app.js의 내용이 표시됩니다.

그림 23-24 Elastic Beanstalk 애플리케이션에 접속

이처럼 AWS 콘솔에서 Elastic Beanstalk 애플리케이션을 간단하게 배포할 수 있습니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.