AWS #1 프로젝트 배포하기 #
#2026-02-07
StudyNote/
├── backend/ # FastAPI 서버
├── frontend/ # React + Vite
├── docs/ # 노트북 및 마크다운 문서
└── data/ # 노트북 실행용 데이터
위 구조로 1) 학습 코드를 ipynb 파일로 업로드하면 2) ui는 블로그 형식으로 보여지면서 구글 colab처럼 코드 실행도 할수있는 StudyNote라는 프로젝트를 만들었다.
깃허브에 push했고 local로 띄워볼수있게 만들었는데 local이 아닌 실제 url로 볼수있게 배포해보려고한다.
#
일단 추천받은 방법 3개는 다음과 같다
- 백엔드 (render.com) / 프론트엔드 (Vercel 또는 Netlify)
# 백엔드: render.yaml (프로젝트 루트에 생성)
services:
- type: web
name: studynote-backend
runtime: python
rootDir: backend
buildCommand: pip install -r requirements.txt
startCommand: uvicorn main:app --host 0.0.0.0 --port $PORT
# 프론트엔드: Vercel로 배포
cd frontend
npm install -g vercel
vercel
- WS EC2 (직접 관리)
# EC2 인스턴스에서
git clone https://github.com/yshghid/StudyNote.git
cd StudyNote
# 백엔드
cd backend
pip install -r requirements.txt
nohup uvicorn main:app --host 0.0.0.0 --port 8000 &
# 프론트엔드 빌드 후 nginx로 서빙
cd ../frontend
npm install && npm run build
sudo cp -r dist/* /var/www/html/
- Docker + AWS: Dockerfile 작성 후 AWS ECS 또는 EC2에 배포
#
이중에 고민하다가 Docker + AWS로 해보기로 했다.