Deploy FastAPI on Vercel: Complete Guide for Developers
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

FastAPI 앱을 Vercel에 배포하는 완전 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

FastAPI를 사용하여 웹 앱을 개발하고, 간단한 배포 솔루션을 찾는 개발자

난이도: 초보자~중급자(기본적인 Python 및 Git 지식 필요)

핵심 요약

  • Vercel은 복잡한 서버 설정 없이 FastAPI 앱을 쉽게 배포할 수 있는 플랫폼
  • requirements.txtvercel.json 파일이 필수(예: fastapi==0.104.1, uvicorn==0.24.0)
  • GitHub 연결 및 Vercel CLI 또는 대시보드를 통해 3단계 배포 가능

섹션별 세부 요약

1. FastAPI 앱 기본 예제 구성

  • main.py 파일에서 간단한 루트 엔드포인트("/")와 건강 상태 체크("/api/health") 정의
  • requirements.txt 생성: FastAPI와 uvicorn의 정확한 버전 명시
  • if __name__ == "__main__": 블록 추가하여 로컬 테스트 가능

2. Vercel 배포 준비

  • vercel.json 파일 생성:

```json

{"version":2,"builds":[{"src":"main.py","use":"@vercel/python"}],"routes":[{"src":"/(.*)","dest":"main.py"}]}

```

  • ASGI 호환을 위해 uvicorn.run() 명시

3. GitHub에 코드 업로드

  • git init, git add ., git commit, git push 순서로 GitHub 저장소 생성 및 코드 업로드
  • Vercel 대시보드에서 GitHub 저장소 연결자동 감지하여 배포

4. CLI로 배포 방법

  • npm install -g vercel 설치 후 vercel loginvercel 명령어로 3단계 배포 실행

5. 자동 배포 워크플로 설정

  • GitHub Actions YAML 파일에서 vercel-action 사용:

```yaml

- uses: amondnet/vercel-action@v3

with:

vercel-token: ${{ secrets.VERCEL_TOKEN }}

```

  • main 브랜치 변경 시 자동 배포

6. 배포 후 확인 사항

  • HTTPS 자동 제공, 환경 변수 관리, FastAPI 문서(/api 경로) 확인
  • /api 경로 사용 권장(프론트엔드+백엔드 동시 배포 시 호환성 향상)

결론

  • 패키지 버전 고정(예: fastapi==0.104.1)과 로컬 테스트를 통해 배포 문제 예방
  • vercel.json 구성 및 GitHub Actions 워크플로를 통해 CI/CD 자동화 가능
  • Vercel은 서버 관리 없이도 전 세계 서버에 앱 배포 가능하며, HTTPS 및 환경 변수 관리가 간편하다.