본문 바로가기
비트캠프(AI아카데미)/TIL&WIL

[비트캠프 - 클라우드 기반 AlaaS 개발자 과정] 23.01.26.(DAY-74) TIL - AWS와FastAPI

by 그냥_살자 2023. 1. 27.

*** AWS랑 FastAPI 연결하기 ***

 

조건

1. AWS(아마존웹서비스) 계정 있음

2. FastAPI 환경설정(install fastapi, uvicorn 등)과 데이터베이스(mysql, mariadb 이런 거로 만든) 불러올 줄 앎

3. HeidiSQL툴에서 쿼리문 좀 칠줄 앎. (고수는 FastAPI에서 바로 해도 됨)

 

FastAPI 환경설정

requirements 설정 추가

fastapi==0.63.0
uvicorn==0.13.4
# mangum==0.11.0

 

main에 mangum 추가

# from mangum import Mangum

# 이건 지금 말고 나중에 싸먹을 거

 

compose

version: "3.7"

services:
  fastapi:
    image: fastapi
    command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
    ports:
      - 8000:8000
    volumes:
      - .:/app

 

env

import pymysql
from sqlalchemy import create_engine

USERNAME = "안"
PASSWORD = "보"
HOSTNAME = "여"
DATABASE = "줄"
PORT = 거
CHARSET = "utf8mb4"
DB_URL = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}"
engine = create_engine(DB_URL, encoding="utf-8", echo=True)

 

AWS 데이터베이스 생성

1. rds 서비스로 이동해서 데이터생성 버튼 클릭

 

2. 생성할 옵션 선택

(맘대로 = 기본설정 or 재량  / 확인 = 버전, 포트확인 / 주의 = 똑같이 안하면 안되거나 돈나감)

 

- 데이터베이스선택

 

- 엔진옵션

 

- 템플릿

 

- 설정

 

- 인스턴스 구성

 

- 연결

 

- 연결2

 

- 그 외 3개

 

AWS 데이터베이스 설정

1. 보안그룹 편집

2. 파라미터그룹 편집

3. 설정저장

 

데이터베이스 연결

1. 하이디로 데이터베이스 확인 및 db&table 생성

## db&table 생성용 쿼리문 작성

SHOW DATABASES;
CREATE DATABASE mydb; #mydb -> 이름 맘대로
USE mydb;
SHOW TABLES;

 

2. fastapi에서 db 연결

 

써먹기

docker build -t fastapi .
docker-compose up

# FastAPI의 데이터베이스 화면에 AWS의 db가 들어오면 성공

댓글