배포에 사용하기 위한 기본 서버 application
Amazon EC2를 통해 원하는 만큼 가상 서버를 구축하고 보안 및 네트워크 구성과 스토리지 관리가 가능하다.
EC2를 사용하기 위해서는 AWS에서 제공하는 컴퓨터(Instance: 가상 컴퓨팅 환경)를 임대하고
서버로 사용할 인스턴스에 git
을 이용해서 프로젝트를 업로드 한다.
Instance 시작을 통해 EC2 서비스를 시작한다.(ubuntu 18.04)
과금을 방지하기 위해 Free tier eligible
유형을 선택하고 인스턴스 시작/검토 클릭
보안그룹 구성을 나중에 추가해줘도 되지만 인스턴스 생성 시에 아래처럼 설정해준 뒤 검토 및 시작을 눌러 인스턴스를 생성했다.
임대할 ubuntu 컴퓨터에 접속하기 위한 private key 설정
원하는 키를 설정하고 Download Key Pair
- Launch Instances
한다.
.pem
파일이 생성되는데 이 Key를 잘 관리해야 한다.생성한 EC2컴퓨터에 접속하기 위해서는 Private IPv4 addresses
와 .pem
key가 필요한데
연결(Connect)버튼을 눌러 Connect to instance에 적힌 안내대로 따라하면 된다.
먼저 해야할 일은
생성하고 다운로드 한 .pem key를 /.ssh
디렉토리에 집어넣는 것이다.
리눅스 기반(ubuntu/ mac os) 컴퓨터는 기본적으로 루트 디렉토리에 .ssh라는 폴더가 있다. 만약 ls
해보거나 cd .ssh
해보았을 때 .ssh
폴더가 없다면 mkdir .ssh
명령어로 파일을 생성해준 후 들어가면 된다.
다운로드 폴더에 있는 key를 .ssh폴더로 이동시키는 명령어
mv ~/다운로드/cotats-server-deploy.pem ./
pem key가 .ssh로 이동되었다.
이제 .ssh디렉토리로 가져온 키에 권한을 부여해서 작동하도록 해야한다.
chmod 400 cotats-server-deploy.pem
ssh 프로토콜 다음 안내된 명령어를 입력한다.
ssh -i "cotats-server-deploy.pem" ubuntu@ec2-52-79-241-6.ap-northeast-2.compute.amazonaws.com
aws에서 임대한 ubuntu컴퓨터에 잘 접속된 것을 볼 수 있다.
EC2서비스로 대여한 이 우분투 컴퓨터는 git만 설치되어 있고, 아무것도 없는 상태로 npm/ node등 필요한 런타임 등을 설치하는 작업이 필요하다.
sudo apt update
sudo apt install nodejs
sudo apt install npm
npm i
) 프로젝트를 구동시키면 구현해둔 서버 배포 성공이다.EC2 인스턴스를 설치한 컴퓨터를 끄면 배포해둔 EC2서버도 같이 꺼진다.
이걸 계속 유지시키고 싶을 때 PM2 설치로 해결할 수 있다.
설치 sudo npm install -g pm2
PM2공식문서
과금주의