23B. AWS ์ฝ์์์ Elastic Beanstalk Node.js ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌํ๊ธฐ
23B. AWS ์ฝ์์์ Elastic Beanstalk Node.js ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌํ๊ธฐ ๊ด๋ จ
AWS ์ฝ์์์ Elastic Beanstalk node.js ์ ํ๋ฆฌ์ผ์ด์ ์ 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
์ผ๋ก ์์ถํ์ต๋๋ค.
์ ๋ก๋ ๋ฐ ๋ฐฐํฌ ์ฐฝ์ด ํ์๋ฉ๋๋ค.
ํ์ผ์ ์ด๋ฉด Version label์ ํ์ผ๋ช
์ด ๊ทธ๋๋ก ์
๋ ฅ๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ ์
๋ก๋ํ ๋๋ง๋ค Version label์ด ๋ฌ๋ผ์ ธ์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ exampleapp1
์ ์
๋ ฅํฉ๋๋ค(๋ค์ ๋ฒ์๋ exampleapp2
exampleapp3
๋ฑ์ผ๋ก ์
๋ ฅํฉ๋๋ค).
์ ์ ๊ธฐ๋ค๋ฆฌ๋ฉด Health๊ฐ Updating์์ Green์ผ๋ก ๋ฐ๋๊ณ , Elastic Beanstalk ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๊ฐ ์๋ฃ๋ฉ๋๋ค.
์ด์ฒ๋ผ AWS ์ฝ์์์ Elastic Beanstalk ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋จํ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.