지금껏 Node.js를 사용하여 진행했던 프로젝트는 서버를 로컬에서만 돌려보거나 Heroku 같은 PaaS를 사용해서 서버를 올렸다.
하지만 이번에는 AWS에서 리눅스에 Node.js 환경을 구축함으로써 클라우드 컴퓨팅을 경험해보고 리눅스에도 익숙해질 수 있는 프로젝트를 진행하려고 한다.
이번 프로젝트는 특별한 기능을 개발하는것보다는 현업에서 많이 사용된다는 기술에 대해 경험을 해보는 것을 목표로 잡았다. 따라서 프로젝트의 주제는 Todolist 웹사이트로 비교적 간단한 CRUD를 수행할 수 있는 웹사이트로 정했다.
SPA 방식으로 제작할 것이기 때문에 React + Node.js를 사용하고, NGINX를 사용하여 React를 배포 및 Express 서버와 연동해볼 것이며, 데이터베이스는 MySQL을 사용할것이다.
CentOS와 Ubuntu 둘 중 어느 것으로 할 지 고민하다가 어느 블로그글에서 본 점유율 그래프를 보고 우분투를 사용하기로 했다.
우분투 CentOS 비교 / Compare Ubuntu CentOS
출처: https://coconuts.tistory.com/175 [PiloTest]
Ubuntu Server 18.04 LTS 선택
그 외에도 검색을 해봤더니 우분투는 개인용도로 많이 사용하며 문서나 커뮤니티가 풍부하다는 글이 많았다.
인스턴스 유형은 프리티어계정사용가능이 하나 있는걸로 선택
보안그룹은 다음과 같이 추가해주었다.
그 뒤에 키페어를 다운로드해서 잘 보관해주면 EC2 인스턴스 생성은 완료
인스턴스를 생성해줬으니 PuTTY를 사용해 원격으로 접속해야한다.
먼저 PuTTYgen을 실행해서 방금 다운로드 받은 키페어로 private key file을 만들어준다.
Load를 누른뒤 키파일 생성
다음은 PuTTY에서
방금 만든 키파일을 불러와주면 설정 끝
이제 PuTTY에 인스턴스의 퍼블릭 IPv4주소와 ssh용 포트번호를 입력하고 접속하면 된다.