Skip to main content
Python으로 작성된 FastAPI 애플리케이션 배포 가이드입니다.

준비 및 확인사항

지원 Python 버전

  • FastAPI는 최소 3.7 버전의 Python를 필요로 합니다.
프로젝트 설정 파일(requirements.txt 등)에 명시된 Python 버전과 배포 설정 시 선택한 버전이 일치하지 않으면 빌드 및 런타임 오류가 발생할 수 있습니다.

템플릿과 저장소 선택

대시보드의 또는 ⌘ + K 로 생성되는 배포창에서 Python 템플릿을 선택하고, 이어지는 드롭다운 메뉴에서 연동된 GitHub 계정의 저장소를 선택하거나 Git URL 탭에서 Git 저장소 URL을 입력하세요.

배포 설정값 입력

다음의 각 항목에 서비스를 배포하기 위한 설정값을 입력하세요.
  • 버전
  • 환경 변수
  • 포트번호: 8000(기본값)
  • Start Command: uvicorn main:app --host=0.0.0.0 --port=8000(기본값)
  • Health Check: 컨테이너 상태 검증 엔드포인트
Start Command에 명령어 입력 시, uvicorn 실행의 인자는 다음을 참고하여 소스에 맞게 수정하여 입력합니다.
uvicorn main:app --host=0.0.0.0 --port=8000

# [예시]
# main.py에서 myapi=FastAPI()로 객체 할당 
uvicorn main:myapi --host=0.0.0.0 --port=8000
  • Build Variables: 컨테이너 이미지 빌드 시 포함되어야 하는 변수
  • Embedded node.js: 프로젝트 내 빌드가 필요한 Node.js 버전
  • Install command: Python 패키지 설치 명령
  • Pre start Command: Start Command 실행 전 사전에 수행되어야 할 명령
  • Update strategy
    • Rolling Update: 새로운 버전의 서비스 배포 시점에 기존 파드 종료, 노드 가용자원 확보 필요
    • Recreate: 모든 서비스 종료후 새로운 버전의 서비스를 생성 및 구동하여 다운타임 발생

성능(리소스) 설정 및 배포

  • 리소스 유형 : 온디맨드 리소스와 스팟 리소스 중 선택
  • CPU : 서비스가 사용할 수 있는 vCPU 리소스의 최대값으로, ‘최소’ 선택 시 0.1 vCPU로 설정됩니다.
  • 메모리 : 서비스가 사용할 수 있는 메모리 리소스의 최대값
  • 동시실행(레플리카) : 설정한 수만큼 서비스가 수평확장되어 부하 분산 및 안정성 확보
  • 배포 : 배포하기 클릭
배포가 완료되면 프리뷰 도메인을 통해 브라우저로 웹 페이지를 조회하거나 API 툴을 사용해 요청을 보낼 수 있습니다.
리소스 제한으로 배포할 수 없는 경우 스페이스 및 리소스 관리 페이지를 참고해 스페이스에 리소스를 추가하세요.

FastAPI Docs
I