패시브 스킬

<AWS> EC2를 활용한 서버 돌리기 (배포)

디벅잉 2022. 4. 14. 18:04
728x90

 

🎯

 

AWS EC2란?

AWS에서 서버 컴퓨터를 대여해주는 서비스입니다.

EC2에서 가상의 컴퓨터를 빌려 서버를 실행시킬 수 있습니다.

 

EC2로 서버를 돌리기 위한 큰 흐름

EC2 인스턴스 생성 및 접속 => 서버 설치 및 실행

인스턴스란 EC2에서 제공하는 서버 컴퓨터 하나하나를 구분하는 명칭입니다.

 

단계별 절차

1. EC2 인스턴스 생성

AWS EC2 페이지에 접속하여 인스턴스를 생성합니다.

운영체제로 우분투, 윈도우 등을 선택할 수 있고, 용량 등 서버 컴퓨터의 성능을 설정할 수 있습니다.

키 페어를 다운로드 해 둡니다.

키 페어란 비밀번호를 파일형태로 저장하는 개념입니다.

2. EC2 인스턴스 접속

AWS에서 인스턴스로 바로 연결하는 방법, SSH 클라이언트를 활용하는 방법 등이 있습니다.

3. SSH 클라이언트로 인스턴스 접속

키페어와 퍼블릭DNS를 활용하여 인스턴스에 접속할 수 있습니다. (SSH 연결)

4. 서비스를 위한 프로그램 설치 및 서버 실행

노드를 설치하고, 몽고DB는 설치 후 실행도 합니다.

깃헙으로부터 서버 코드를 클론합니다.

npm install 명령어로 패키지들을 설치합니다.

node app.js 명령어로 서버를 실행합니다.

5. public IPv4 주소로 서버에 접속 (방화벽 설정 필요)

설정없이 접속하면 접속이 불가합니다.

인바운드 규칙 편집에서 포트를 열어줘야 합니다.

HTTP 유형의 80번 포트를 열어줍니다.

서버를 3000번 포트로 실행했을 경우 접속이 안됩니다.

우분투(리눅스) 운영체제의 iptables 설정을 변경합니다.

서버를 3000번 포트로 돌린다면 80번 포트를 3000번 포트로 연결해 줍니다.

성공적으로 접속이 가능하게 될 것입니다. (서버 실행 확인)

6. 서버가 계속 돌아가도록 pm2 활용

pm2를 인스턴스에 설치합니다. (npm install -g pm2)

pm2 명령어를 통해 서버를 실행하면 서버가 계속 돌아갑니다. (pm2 start app.js)

7. 서버 프로그램 재배포

git pull 명령어를 통해 새로운 코드를 받아 옵니다.

pm2 restart app 명령어를 통해 서버를 재시작합니다.

8. EC2 인스턴스 중지, 종료

인스턴스를 중지하면 서버는 멈추지만 저장된 데이터는 유지되고(저장 비용 발생), 재시작할 수있습니다. 

인스턴스를 종료하면 다시 돌이킬 수 없습니다.

9. 과금 구조

예약 인스턴스는 정액 할인권을 구매하는 것과 같습니다.

온디맨드는 사용하는 만큼 비용을 지불합니다.

 

728x90