*** 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가 들어오면 성공
'비트캠프(AI아카데미) > TIL&WIL' 카테고리의 다른 글
[비트캠프 - 클라우드 기반 AlaaS 개발자 과정] 23.01.30.(DAY-76) TIL (0) | 2023.01.31 |
---|---|
[비트캠프 - 클라우드 기반 AlaaS 개발자 과정] 23.01.27.(DAY-75) TIL - AWS와 IAM 계정 만들기 + AWS Lambda 프롤로그 (3) | 2023.01.30 |
[비트캠프 - 클라우드 기반 AlaaS 개발자 과정] 그냥 함 (0) | 2023.01.26 |
[비트캠프 - 클라우드 기반 AlaaS 개발자 과정] 13주차 - 깃허브액션 초간단 감잡기 (0) | 2023.01.16 |
[비트캠프 - 클라우드 기반 AlaaS 개발자 과정] 23.01.10~11(DAY-62, 63) TIL (0) | 2023.01.11 |
댓글