FastAPI는 Python으로 구축된 빠르고 현대적인 웹 프레임워크입니다. AWS (Amazon Web Services) RDS (Relational Database Service)는 관리형 관계형 데이터베이스 서비스입니다. 이 블로그 포스트에서는 FastAPI와 AWS RDS를 연동하여 관계형 데이터베이스를 사용하는 방법에 대해 알아보겠습니다.
AWS RDS 설정
- AWS Management Console에 로그인하고 RDS 서비스로 이동합니다.
- “데이터베이스 생성” 버튼을 클릭합니다.
- 데이터베이스 유형을 선택하고 필요한 구성을 설정한 후 데이터베이스를 생성합니다.
- 데이터베이스가 생성되면 엔드포인트 주소와 인증 정보를 기록해 둡니다.
FastAPI 프로젝트 설정
- FastAPI 프로젝트를 생성하고 필요한 라이브러리를 설치합니다.
pip install fastapi pip install uvicorn pip install databases pip install sqlalchemy
- 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 실행
- 터미널을 열고 다음 명령을 실행하여 FastAPI 서버를 실행합니다:
uvicorn app:app --reload
- 브라우저에서
http://localhost:8000/
로 접속하여 정상적으로 서버가 실행되는지 확인합니다.
마치며
이제 FastAPI와 AWS RDS를 연동하여 관계형 데이터베이스를 사용하는 방법에 대해 알아보았습니다. FastAPI와 AWS RDS를 함께 사용하면 안정적이고 확장 가능한 웹 애플리케이션을 구축할 수 있습니다. 추가적인 기능을 구현하거나 다른 데이터베이스와 함께 사용할 경우 해당 데이터베이스에 맞게 설정을 변경해야 합니다. #FastAPI #AWSRDS