소개
FastAPI는 현대적인 웹 API를 빠르고 쉽게 개발할 수 있도록 돕는 파이썬 기반의 프레임워크입니다.
비동기 프로그래밍을 지원하여 높은 성능을 제공하며, 부트스트랩이 쉬운 문서화 지원이 특징입니다.
GCP(Google Cloud Platform)는 다양한 클라우드 서비스와 도구를 제공하는 구글의 플랫폼으로, FastAPI 애플리케이션을
배포하기에 적합한 환경입니다. 본 블로그 포스트에서는 FastAPI 서버를 개발하고 이를 GCP에 배포하기 위해 필요한
GCP 계정을 만드는 방법에 대해 자세히 설명합니다.
1. GCP 계정 생성하기
GCP 서비스를 사용하기 위해서는 먼저 Google 계정을 생성해야 하며, 이후 GCP에 로그인하여 계정을 생성할 수 있습니다.
Step 1: Google 계정 만들기
GCP에 접근하기 위해서는 Google 계정이 필요합니다. Google 계정이 없는 경우, [Google 계정 만들기](https://accounts.google.com/signup) 페이지를 방문하여 계정을 생성하세요.
계정 생성 후에는 이메일 인증을 완료해야 합니다.
Step 2: GCP에 로그인하기
Google 계정을 생성한 후, [GCP 콘솔](https://console.cloud.google.com/)에 로그인합니다.
GCP의 대시보드에 접근할 수 있습니다.
Step 3: GCP 프로젝트 생성하기
GCP 콘솔에 로그인한 후, 새로운 프로젝트를 생성해야 합니다. 상단의 드롭다운 메뉴에서 “프로젝트 만들기”를 클릭하여
프로젝트 이름을 입력하고 “만들기” 버튼을 클릭합니다.
Step 4: GCP 무료 사용 등록하기
GCP는 새 사용자에게 90일 동안 사용할 수 있는 무료 크레딧을 제공합니다.
이를 통해 다양한 GCP 서비스를 사용해 볼 수 있습니다. GCP에 가입할 때 무료 사용등록 절차를 따라야 합니다.
2. FastAPI 프로젝트 개발하기
GCP 계정을 생성하고 프로젝트를 만들었다면, 본격적으로 FastAPI 프로젝트를 시작해 보겠습니다.
FastAPI는 Python의 async/await 문법을 활용하여 비동기 처리를 지원합니다.
아래는 간단한 FastAPI 애플리케이션을 만드는 방법입니다.
Step 1: 환경 설정
FastAPI를 설치하기 위해서는 Python과 pip가 필요합니다. Python 3.6 이상이 설치되어 있어야 하며, 아래의 명령어로
FastAPI 및 Uvicorn 서버를 설치합니다.
pip install fastapi uvicorn
Step 2: FastAPI 애플리케이션 작성
간단한 Hello World API를 작성해 보겠습니다. 아래의 코드를 app.py 파일에 저장하세요.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
Step 3: 애플리케이션 실행하기
아래의 명령어를 통해 FastAPI 애플리케이션을 로컬에서 실행할 수 있습니다.
uvicorn app:app --reload
로컬에서 실행하면, http://127.0.0.1:8000/docs에서 Swagger UI를 통해 API를 테스트할 수 있습니다.
3. FastAPI 애플리케이션 GCP에 배포하기
이제 FastAPI 애플리케이션을 GCP에 배포하는 방법을 알아보겠습니다. GCP의 Cloud Run 서비스를 사용하여
컨테이너화된 FastAPI 애플리케이션을 쉽게 배포할 수 있습니다.
Step 1: Dockerfile 작성하기
FastAPI 애플리케이션을 Docker 이미지를 생성하기 위해 Dockerfile을 작성합니다. 아래의 내용을 가진 Dockerfile을 생성하세요.
# Dockerfile
FROM python:3.9
WORKDIR /app
COPY . .
RUN pip install fastapi uvicorn
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8080"]
Step 2: Docker 이미지 빌드하기
아래의 명령어를 통해 Docker 이미지를 빌드합니다.
docker build -t fastapi-gcp .
Step 3: Google Container Registry에 이미지 푸시하기
Google Container Registry에 로그인하고 빌드한 이미지를 푸시합니다.
docker tag fastapi-gcp gcr.io/[PROJECT-ID]/fastapi-gcp
docker push gcr.io/[PROJECT-ID]/fastapi-gcp
Step 4: Cloud Run을 통해 애플리케이션 배포하기
GCP 콘솔에서 Cloud Run을 선택하고 “배포”를 클릭합니다.
이미지 URL에 위의 GCR URL을 입력하고 배포를 완료합니다.
배포가 완료된 후 제공된 URL로 FastAPI 애플리케이션에 접근할 수 있습니다.
결론
본 포스트에서는 FastAPI 서버개발과 GCP 계정 작성, 그리고 이를 GCP에 배포하는 과정에 대해 알아보았습니다.
FastAPI를 사용하면 웹 API를 빠르고 쉽게 개발할 수 있으며, GCP는 이러한 애플리케이션을 클라우드에서 손쉽게 호스팅할 수 있는
강력한 플랫폼입니다. 여러분의 프로젝트에 FastAPI와 GCP를 활용해 보세요!