EC2 (Elastic Compute Cloud)

EC2는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스입니다.

개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계 되었습니다.

 

장점

탄력적인 웹 규모 컴퓨팅

Auto Scailing을 통한 자동 확장 및 축소

 

* Auto Scailing

Auto Scailing을 사용하면 애플리케이션 가용성을 유지하는데 도움이 되며,

사용자가 정의한 조건에 따라 자동으로 EC2 용량을 급격하게 확장 또는 축소 가능

EC2 인스턴스의 동적 조정을 위해 Auto Scailing을 사용하면 수요가 급증할 때는

EC2 인스턴스 수를 자동으로 늘려 성능을 유지하고 수요가 잠잠해지면 용량을 줄여 비용절감이 가능

 

완전 제어

CLI 제공

다양한 Command(API) 제공

 

유연한 클라우드 호스팅 서비스

다양한 OS 서버

메모리, CPU, 스토리지, 부팅 파티션 선택

 

통합

Storge, RDS, VCP 등과 통합 가능

 

 

 


 

EC2 인스턴스 만들기

 

 

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

부동산 Zillow, AWS를 활용하여 부동산 혁신 Zillow는 AWS 클라우드를 활용하여 부동산 산업을 온라인으로 이전해 주택 정보를 찾는 과정을 혁신했습니다. Zillow는 AWS를 통해 구매자, 판매자 및 세입자

aws.amazon.com

 

 

AWS 사이트에 접속하여 콘솔 로그인을 합니다.

 

 

 

 

로그인을 하시면 AWS Management Console 홈으로 이동이 되고

솔루션 구축에 EC2를 사용하여 가상 머신 시작을 클릭합니다.

 

 

 

 

다양한 OS가 많이 존재하지만 처음이니까 맨위에 있는 Amazon Linux 2 AMI 를 선택해봅시다.

 

 

 

우리는 프리 티어인 t2.micro를 선택합니다.

 

 

 

6. 보안 그룹 구성에서는 방화벽 설정하는 화면입니다.

이 화면에서 추가된 IP와 Port들만 개방할 수 있습니다.

 

우리는 서버에 접속하는 SSH 포트인 22번 포트만 사용해봅시다.

 

 

내 IP 선택 시 PC IP가 세팅되게 됩니다.

세팅이 완료되면 검토 및 시작 버튼을 클릭

마지막으로 7. 검토 단계에 넘어오게되고 시작하기 버튼을 눌러줍니다.

 

처음 생성하실때는 키 페어가 없기 때문에 새 키 페어 생성 선택 후 키 페어 이름을 입력해줍니다.

모두 진행이 되셧으면 키 페어 다운로드 버튼을 클릭합니다.

 

키 페어를 다운로드하면 작성한 키 페어 이름의 PEM 파일을 받을수 있게 됩니다.

해당 파일은 인스턴스에 SSH로 연결시 필요한 파일이므로 잘관리해야합니다.

 

키 페어 다운로드 후 인스턴스 시작 버튼이 활성화 되고

인스턴스 시작 버튼 클릭 시

 

인스턴스가 생성된것을 확인하실 수 있습니다.

 

 

PuTTY로 EC2 인스턴스에 접속하는 방법이 궁금하신 분들은 아래 링크를 참고해주세요.

 

 

 

PuTTY를 사용하여 Windows에서 EC2 인스턴스에 연결하기

Window에서 PuTTy 설치 및 키생성 PuTTY: a free SSH and Telnet client PuTTY: a free SSH and Telnet client Home | FAQ | Feedback | Licence | Updates | Mirrors | Keys | Links | Team Download: Stable &m..

laker.tistory.com

 

 

Express?

Node.js를 위한 웹 프레임워크로 간편하게 웹 애플리케이션을 만들 수 있습니다.

 

 

package.json 생성

npm init

위 명령어를 통해 package.json을 생성할 수 있습니다.

명령어 실행 시 위와 같이 여러 질문에 답하면 package.json 파일을 생성합니다.

 

 

package.json

package.json

package.json 은 프로젝트 정보와 의존성(dependencies)을 관리하는 문서입니다.

 

 

express 설치

npm install express

위 명령어 실행 시 express를 다운을 받게 됩니다.

다운로드 후 package.json을 확인해보면

 

package.json

dependencies에 express가 추가된 것을 확인하실 수 있습니다.

 

 

서버 실행

 

index.js 파일 생성

 

const express = require('express'),
      app     = express();
      
app.listen(3000, () => {
    console.log("Express server on port 3000 !");
});
 
app.get('/', (req, res) => {
    res.send('Hello NodeJS');
});

 

위 명령어 호출 시 서버가 기동 된 것을 확인할 수 있습니다.

 

 

웹브라우저에서 서버IP:3000 접속 시 Hello NodeJS가 출력되는 것을 확인할 수 있습니다.

 

저는 AWS에서 EC2 서버를 사용하여 테스트를 진행하였으니

로컬에서 테스트하시는 분들은 localhost:3000 력하시면 됩니다!

 

 

 

Express - Node.js 웹 애플리케이션 프레임워크

Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save

expressjs.com

 

'DEV > NodeJS' 카테고리의 다른 글

ES2015 - 나머지 매개변수(Rest Parameters)  (0) 2020.09.15
ES2015 - 화살표 함수 (Arrow Function)  (0) 2020.09.15
ES2015 - 변수 (let, const)  (0) 2020.09.14
npm  (0) 2020.05.12
NodeJS  (0) 2020.05.12

 

NPM (Node Package Manager)

" Node.js의 라이브러리를 관리해주는 도구 "

 

Node.js는 모든 것이 모듈화되어 있으므로 질 좋은 패키지 매니저가 필요해졌습니다.

이 목적 때문에 npm이 만들어졌습니다.

 

npm이 모든 프로그래밍 생태계에서 커뮤니티가 만든 커다란 패키지 선택권을

제공해 주므로 Node.js를 빠르고 쉽게 만들 수 있습니다.

 

 

 

npm | build amazing things

Build amazing things We're npm, Inc., the company behind Node package manager, the npm Registry, and npm CLI. We offer those to the community for free, but our day job is building and selling useful tools for developers like you. Take your JavaScript devel

www.npmjs.com

 

'DEV > NodeJS' 카테고리의 다른 글

ES2015 - 나머지 매개변수(Rest Parameters)  (0) 2020.09.15
ES2015 - 화살표 함수 (Arrow Function)  (0) 2020.09.15
ES2015 - 변수 (let, const)  (0) 2020.09.14
Express 모듈 설치 및 서버 실행  (0) 2020.05.13
NodeJS  (0) 2020.05.12

 

NodeJS ?

 

Chorem V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 (JavaScript로 서버 개발)

 

이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적

 

Node.js의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리

 

 

 

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

'DEV > NodeJS' 카테고리의 다른 글

ES2015 - 나머지 매개변수(Rest Parameters)  (0) 2020.09.15
ES2015 - 화살표 함수 (Arrow Function)  (0) 2020.09.15
ES2015 - 변수 (let, const)  (0) 2020.09.14
Express 모듈 설치 및 서버 실행  (0) 2020.05.13
npm  (0) 2020.05.12

Vue.js란?

사용자 인터페이스를 만들기 위한 프로그레시브 프레임워크

UI단에서 데이터(모델)을 관리하고 이를 처리하기 위한 프레임워크

 

특징

- SPA (Single Page Application)

- MVVM (Model View ViewModel Pattern) 패턴

- 화면구성 및 재사용성을 고려한 화면의 모듈(컴포넌트) 구성

 

장점

- 접근성 : 초기 학습 곡선이 완만함

- 유연성 : 라이브러리 사이즈가 작음

- 고성능 : 동작 속도가 빠름

 

 

 

 

Vue.js

Vue.js - 프로그레시브 자바스크립트 프레임워크

kr.vuejs.org

 

AWS (Amazon Web Service)

전통적으로 많은 기업들은 IDC라고 해서 직접 서버를 구매하고 운영하는 방식으로 서버 관리를 함
하지만 점차 클라우드의 데이터 센터가 커지고 속도가 향상되면서,
기업이 큰 자본을 들여서 서버를 관리해야하고 유지해야할 이유들이 점점 사라져감

그와 반면 아마존에서는 계속 데이터 센터를 확충하고 1시간 단위의 과금 구조를 채택함으로써
또한 서버를 빠르게 올리거나 내릴 수 있고 다양한 세팅들을 빠르게 할 수 있다는 매력이 커짐

물론 국내 호스팅들도 예전과 다르게 가격 경쟁력을 갖추어 가고 있고,
서버를 세팅하거나 분산 처리 기술도 확충되고 있긴 하지만, AWS는 많은 기업에서 채택하고 사용중

 

장점

탄력적인 웹 규모 컴퓨팅

작은 규모로 부터 작은 규모로 부터 시작할 수 있고 규모를 키워나가는데 용이
갑작스럽게 서비스가 성장하거나 할때 일반 호스팅으로는 대응에 한계가 있을수 있음
AWS는 이런 사태를 미연에 계획하여 통제할 수 있음

 

다양한 Command(API) 제공

맨땅에 헤딩하듯이 모든 기능들을 모두 세팅하고 늘려가는 것이 아니라,
필요한 부분이 있으면 때에 따라 추가하거나 붙이고 없애고 할 수 있음
즉 AWS 내에 있는 수많은 기능들을 돈만 내면 마음껏 쓸수 있다는 장점이 있음

 

통합

Storage, RDS, VCP 등과 통합이 가능
다른 가상서버의 경우 이것들이 혼재 되어 통합적으로 관리되고 있는 영역이 있기도 하지만,
AWS에서도 EC2를 비롯한 서버와 S3와 같은 스토리지 환경과 RDS 데이터 베이스, VCP 등 통합이 가능

 

안정성 / 보안

아마존에서 보안을 보증
개인적으로 설정을 하지 않는 경우 발생하는 트래픽과 무지막지한 비용들이 청구 되기도 하지만,
잘알고 설정하면 안전하게 서버를 보호 할 수 있게됨.

 

단점

베어메탈의 성능을 원할때

원하는 경우 그만큼의 IO에 대한 코드들이 필요
별개의 클라우드 서비스들을 각각 이용하는 비용보다, 하나의 시스템을 통해 구성할 경우 가성비가 높을때가 있음

 

 

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

부동산 Zillow, AWS를 활용하여 부동산 혁신 Zillow는 AWS 클라우드를 활용하여 부동산 산업을 온라인으로 이전해 주택 정보를 찾는 과정을 혁신했습니다. Zillow는 AWS를 통해 구매자, 판매자 및 세입자

aws.amazon.com

 

+ Recent posts