FastAPI와 AWS RDS를 연동하여 관계형 데이터베이스 사용하기

FastAPI는 Python으로 구축된 빠르고 현대적인 웹 프레임워크입니다. AWS (Amazon Web Services) RDS (Relational Database Service)는 관리형 관계형 데이터베이스 서비스입니다. 이 블로그 포스트에서는 FastAPI와 AWS RDS를 연동하여 관계형 데이터베이스를 사용하는 방법에 대해 알아보겠습니다.

AWS RDS 설정

  1. AWS Management Console에 로그인하고 RDS 서비스로 이동합니다.
  2. “데이터베이스 생성” 버튼을 클릭합니다.
  3. 데이터베이스 유형을 선택하고 필요한 구성을 설정한 후 데이터베이스를 생성합니다.
  4. 데이터베이스가 생성되면 엔드포인트 주소와 인증 정보를 기록해 둡니다.

FastAPI 프로젝트 설정

  1. FastAPI 프로젝트를 생성하고 필요한 라이브러리를 설치합니다.
    pip install fastapi
    pip install uvicorn
    pip install databases
    pip install sqlalchemy
    
  2. FastAPI 앱 파일(app.py)에 아래 코드를 추가합니다: ```python from fastapi import FastAPI from databases import Database from sqlalchemy import create_engine

app = FastAPI()

RDS 연결 정보

DATABASE_URL = “postgresql://:@:/"

DB 연결 설정

database = Database(DATABASE_URL) engine = create_engine(DATABASE_URL)

앱 시작 시 DB 연결

@app.on_event(“startup”) async def startup(): await database.connect()

앱 종료 시 DB 연결 해제

@app.on_event(“shutdown”) async def shutdown(): await database.disconnect()

루트 엔드포인트

@app.get(“/”) async def root(): query = “SELECT 1” result = await database.fetch_one(query) return { “status”: “success” }


3. 설정 파일(config.py)을 생성하고, 아래와 같이 RDS 연결 정보를 입력합니다:
```python
DATABASE_URL = "postgresql://<username>:<password>@<host>:<port>/<database>"

FastAPI 실행

  1. 터미널을 열고 다음 명령을 실행하여 FastAPI 서버를 실행합니다:
    uvicorn app:app --reload
    
  2. 브라우저에서 http://localhost:8000/로 접속하여 정상적으로 서버가 실행되는지 확인합니다.

마치며

이제 FastAPI와 AWS RDS를 연동하여 관계형 데이터베이스를 사용하는 방법에 대해 알아보았습니다. FastAPI와 AWS RDS를 함께 사용하면 안정적이고 확장 가능한 웹 애플리케이션을 구축할 수 있습니다. 추가적인 기능을 구현하거나 다른 데이터베이스와 함께 사용할 경우 해당 데이터베이스에 맞게 설정을 변경해야 합니다. #FastAPI #AWSRDS