본문 바로가기

AWS

AWS EC2를 이용해서 백엔드 api 서버 만들기

요즘에는 정적 인터넷 웹페이지를 S3에 올리고 EC2를 백엔드 api로 활용하는 방식을 많이 쓰는 것 같다.

별도의 자동화 툴 없이도 S3에 변화된 내용을 바로 적용할 수 있어 개발하기 좋다.

 

S3는 이미 다뤘고 정적 웹사이트 호스팅 옵션만 검색해 만지면 되니

여기서는 EC2를 이용해 처음부터 끝까지 어떻게 api를 만드는지 다루겠다.

 

다음 두 링크를 참고해서 EC2를 생성하고

thinkforthink.tistory.com/274

EC2에 접속해서 소스 코드를 돌아가게 할 node js와 데이터베이스인 mysql을 설치하자.

thinkforthink.tistory.com/283

 

기본

1. 프로젝트 폴더를 만든다.

mkdir 이름

 

2. 프로젝트 폴더로 들어가 git을 생성한다.

cd 이름

git init

 

3. git을 이용해 remote 리파지토리에서 소스 코드를 EC2로 pull 하자.

git remote add origin 주소

git pull origin master

 

4. 필요한 노드 모듈을 설치한다.

npm i 

 

5. 소스 코드를 실행한다.

npm start

 

주의점

node express를 사용하는 경우 git repository의 root 경로에

앱을 실행하는 index.js(또는 app.js)가 위치해 있어야 Cannot GET 오류가 발생하지 않는다.

 

보안 설정

보안 탭의 보안 그룹 아래 링크를 클릭하고 인바운드 규칙 편집 버튼을 클릭하면

ec2 인스턴스에 접근할 수 있는 트래픽을 제어할 수 있다.

여기서 api 요청을 허가할 주소와 원격 접속을 위한 SSH 주소를 설정해야 한다.

잘 모르겠으면 일단 모든 접근이 가능하도록 설정하고 시작하자.

 

주소 설정

개발 환경의 백엔드 api URL은 다음과 같은 형태였다. 

http://localhost:3000/

http://localhost:3000/api/user

 

배포 환경에서는 EC2를 쓸 것이니 EC2의 URL로 바꿔야 한다.

네트워킹 탭의 퍼블릭 IPv4 주소로 바꿔주면 된다.

 

 

필자의 경우 소스 코드의 포트를 3001로 했으니

위 주소에 :3001을 붙여 첫 번째 주소를 두 번째로 바꿨다.

http://localhost:3000 

http://54.XXX.XX.X:3001