🔥 학습목표
- AWS EC2를 사용하여 백엔드 서버를 배포할 수 있다.
AWS에서 제공하는 클라우드 컴퓨팅 서비스. AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것.
사용한 만큼 비용을 지불한다.
사용자의 용도에 따라 다양한 운영체제, CPU, RAM, 용량 등을 구성할 수 있다.
빌린 컴퓨터는 데이터센터에 만들어져 있기 때문에, 결제하는 순간 네트워크(인터넷)를 통해 바로 컴퓨터를 제어할 수 있다.
AWS에서 빌리는 컴퓨터 1대를 의미하는 단위.
AWS를 통해 컴퓨터를 빌리는 것을 "인스턴스를 생성한다." 라고 말한다.
소프트웨어 구성이 기재된 템플릿
운영체제, 런타임 등 템플릿을 설정하여 자신의 인스턴스 PC 환경을 구성한다.
EC2 콘솔을 통해 EC2 인스턴스를 생성한다.
간단한 서버 애플리케이션을 생성하고 EC2 인스턴스 코드를 배포한다.
서버를 실행시키고 브라우저에서 서버에 접속한다.
제공받은 AWS IAM 계정으로 AWS에 로그인을 한다.
지역을 서울로 맞춘다.
(EC2는 미리 생성되어 있고) 검색창에 EC2를 검색해서 EC2대시보드로 이동한다.
아래 명령어를 사용하여 터미널을 bash로 변경한다.
$ bash
$ cd ~
$ sudo apt update
🎁 설치하는 방법
먼저 아래 명령어를 입력하여 nvm에 대한 install script를 다운 및 실행해야 한다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
그 다음 아래 명령어로 profile file을 만들어준다.
$ source ~/.bashrc
vi 편집기로 해당 파일에 들어간 뒤 nvm을 로드하는 아래 코드를 추가해준다. vi 편집기는 i 버튼으로 수정 모드에 들어가고, 수정을 완료한 뒤에는 esc
키를 눌러 모드를 나간 뒤 :wq
명령으로 저장 및 종료한다.
vi ~/.bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm 버전을 확인해보면 잘 설치되어있다는 걸 알 수 있다.
$ nvm -v
$ nvm install node
$ sudo apt install npm
CLI 환경에서 다른 PC에 접속하기 위해서는 사용자 인증이 필요하다. github은 ssh 공개키(비대칭키 중 하나)를 등록할 수 있다.
$ ssh-keygen
ssh-keygen
명령어는 경로 ~/.ssh./
에 두 개의 파일 id_rsa
와 id_rsa.pub
을 생성한다.
이 두 파일을 ssh 키 페어라고 하며
id_rsa.pub
은 누구에게나 공개해도 되는 공개키(Public Key)
id_rsa
는 개인만이 보관해야 하는 개인키(Private Key), 비밀키(Secret Key)라고 한다.
$ cat ~/.ssh/id_rsa.pub
Github > 상단 프로필 클릭 > Settings 진입
내비게이션 바에서 SSH and GPG keys 클릭
SSH keys에서 New SSH key
버튼 클릭.
SSH 공개키를 구분할 만한 타이틀을 작성하고 복사해둔 공개키를 붙여넣는다.
$ cd ~
$ git clone (SSH 링크)
$ ls
server
폴더로 이동한다.cd (프로젝트 폴더)/(서버 폴더)
$ npm install
1024
아래의 포트번호를 이용해서 서버를 실행하려면 관리자 권한이 필요하기 때문에 관리자 권한 명려어를 입력해야 한다.$ sudo npm start
생성한 인스턴스를 클릭하면 두 가지 형태의 주소를 확인 할 수 있다. 둘 다 형태만 다를 뿐 똑같은 주소지만 IPv4
DNS 주소를 사용하여 접속해본다.
정상적으로 작동한다면 아래 화면과 같이 GET 요청이 잘 이루어진 걸 볼 수 있다.