[공감병동 프로젝트] 프로젝트 배포 (Vercel, AWS)

ds-k.fe·2021년 12월 28일
0

공감병동 프로젝트

목록 보기
11/13
post-thumbnail

배포

배포 Overview

  1. 클라이언트, 즉 프론트 서버는 Next.js를 개발한 Vercel 도구를 사용하면 편하다고 해서 Vercel로 진행했다.
  2. 서버는 이전 프로젝트에서 했던 것처럼 AWS의 EC2를 활용해서 배포를 진행했다.
  3. DB는 이전 프로젝트 때 AWS RDS를 구성해 놓은 것이 있어서, 그 RDS에 DB 테이블을 생성함으로서 간단하게 마무리지었다.

DB

  • config/config.js

기존 RDS에 연결하는 것이였고, sequelize를 사용하고 있었기 때문에 서버 쪽 env파일만 수정해서 간단하게 연결을 하고, 생성 및 시드 데이터를 넣어주었다.

프론트 서버 - Vercel

Vercel은 너무나도 간단했다. 작업한 repository를 import하고 순차적으로 진행하니, 손쉽게 배포가 완료되었다. 순서대로 진행하고, AWS의 Route53에서 가비아에서 산 주소를 넣고, IP 주소를 입력해주니 커스텀 도메인까지도 손쉽게 배포되었다. 이후 자동으로 CI/CD 구성이 되어 main branch에 머지하는 것만으로 수정사항이 반영이 되어서 아주 만족스러웠다....
그러나, 결국은 버셀에서 진행했던 배포를 내리고, EC2로 하게 되었다.
관련 내용은 다른 글에서 자세하게 기록하도록 하겠다.

백 서버 - AWS(EC2, RDS)

프리티어로 인스턴스를 하나 생성하고, 그 안에서 git clone을 받은 뒤, pm2로 실행시켜 주었다.

EC2에서 8080포트로 실행되는 http로 타겟 그룹을 설정해주고, (80으로 하니 ES6 문법(??)을 못알아듣고 문법 오류가 나오는 현상이 지속되어서 해결 못하고, 8080번으로 열었다.

로드 밸런서로 https 연결이 가능하도록 해 주었다.

Route53을 이용해 가비아에서 구입한 도메인에 해당 로드 밸런서를 연결해주면서 서버 배포를 마무리했다.

배포 후기

사실 배포는 성공했지만, 각각의 기능을 그저 사용만 할 줄 알지 정확한 이해가 부족하다고 느꼈다. 지금은 구현을 목표로 했어서 빠르게 진행했지만, 기회 되면 AWS에 대해서도 정리하는 시간을 가지면 좋겠다.

0개의 댓글