계발하는 개발자

[AWS] AWS EC2를 이용해 배포하기 (3) - EC2 탄력적 IP 주소 할당 + Node.js, PM2, Nginx 설치/실행 본문

🌎 Cloud & Infra/AWS

[AWS] AWS EC2를 이용해 배포하기 (3) - EC2 탄력적 IP 주소 할당 + Node.js, PM2, Nginx 설치/실행

dev_genie 2023. 10. 20. 19:13

목차

  • AWS EC2 탄력적 IP 주소란?
  • 탄력적 IP 주소 할당
  • Node.js, PM2, Nginx 설치
  • Nginx 구동 테스트

AWS EC2 탄력적 IP 주소란?

동적 클라우드 컴퓨팅을 위해 고안된 정적 IPv4 주소를 말한다.
AWS EC2 인스턴스를 생성하면 AWS에서 해당 인스턴스에 대한 Public IP를 할당해주는데,
이 Public IP는 유동적이어서 인스턴스를 중지했다가 다시 시작하면 새로운 Public IP가 할당된다.

=> 이때, 탄력적 IP(줄여서 EIP)는 유동적인 IP를 가진 인스턴스에 고정 IP를 연결해주어 안정적으로 서버를 운영할 수 있도록 한다. 

 

탄력적 IP 주소 할당

* 탄력적 IP 주소 할당 전 참고사항

  • 새로 생성된 인스턴스에는 탄력적 IP 1개는 무료로 사용 가능
  • 탄력적 IP 주소의 효율적인 사용 보장을 위해 다음의 상황에서는 소액의 시간당 요금을 부과한다.
    • 인스턴스에 추가적으로 탄력적 IP를 할당한 경우
    • 탄력적 IP를 받고 어떤 인스턴스에도 연결하지 않는 경우
    • 인스턴스에 연결해놓고 해당 인스턴스를 중지시키거나 삭제하여 탄력적 IP가 붕 뜨는 경우
    • 프리티어가 아닌 유료 인스턴스에 연결하는 경우

1. EC2 서비스에서 [탄력적 IP] 탭 > [탄력적 IP 주소 할당] 클릭 

 

2. 탄력적 IP 주소 설정 & 태그 설정

  • Default 설정값으로 두고 오른쪽 아래 [할당] 클릭
  • 탄력적 주소 IP가 여러 개인 경우 태그 설정으로 식별할 수 있는 Name을 설정할 수 있다.

 

3. 탄력적 IP 주소 연결

생성된 탄력적 IP 주소를 확인하고 [작업] > [탄력적 IP 주소 연결] 메뉴 선택

 

고정 IP로 설정할 EC2 인스턴스를 선택하고 [연결] 클릭

 

  • "탄력적 IP 주소가 연결되었습니다" 메시지 확인
  • 다시 EC2 인스턴스 대시보드로 이동

 

위와 같이 기존 IP 주소에 탄력적 IP 주소가 할당됐다.

 

4. EC2 인스턴스 SSH 키 재접속

기존 IP 주소가 탄력적 IP 주소로 재할당됨에 따라,

변경된 SSH 키로 EC2 인스턴스를 재접속 해줘야한다. (기존 키로 접속하려고 하면 접속 안됨!)

 

Node.js, PM2, Nginx 설치

① Node 설치

// nvm 설치스크립트 다운로드
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash 

// nvm 버전 확인
$ nvm --verion

// node & npm 설치
$ nvm install 10.16.3

node와 npm 설치를 위해 위 명령어를 입력한다.

 

혹시 위처럼 nvm command not found가 뜨면 ubuntu에서 exit 했다가 다시 접속해주면 된다.

아래는 ubuntu 재접속후 다시 nvm --version 명령 입력한 모습이다.

 

node와 npm이 설치된 것을 아래 버전확인 명령어로 확인할수 있다.

 

② PM2 설치

또한 PM2를 전역으로 설치해준다.

PM2란?
프로세스 매니저로, node 서버가 갑자기 꺼져버려도 자동으로 재구동도 가능하며
로컬에 있는 CLI를 끄더라도 EC2상의 node 프로세스는 강제 종료되지 않도록 해준다.(항상 실행)
$ npm install pm2 -g

 

③ Nginx 설치

아래의 코드를 입력하여 Nginx를 설치해준다.

$ sudo apt-get update  // apt-get의 새로운 버전이 있는지 확인
$ sudo apt-get upgrade // apt-get을 새로운 버전으로 upgrade
$ sudo apt-get install nginx // nginx 설치

$ sudo service nginx start // nginx 시작
$ sudo service nginx status // nginx 상태 확인 (실행여부)

$ sudo service nginx stop // nginx 종료

최초 설치시 Nginx 상태는 비활성화(inactive) 상태이다.

nginx start 명령으로 서비스 시작을 해주고나서 status를 체크해야 active 상태가 나온다.

 

EC2 Public IP로 접속한다.

위 빨간 박스의 개방 주소를 복사하여 url 창에 붙여넣는다.

 

Nginx 구동 테스트

위와 같이 뜨면 성공이다!

LIST
profile

dev_genie

@dev_genie

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!