이 글은 Meat-A-Eye 프로젝트 배포 단계에서 겪은 개인 스터디(메모)용 블로그 입니다.
1. AWS RDS 인스턴스 생성
가장 먼저 클라우드상에 데이터베이스 서버를 대여하는 단계입니다.
https://ap-northeast-2.console.aws.amazon.com/console/home?nc2=h_si®ion=ap-northeast-2&src=header-signin
ap-northeast-2.console.aws.amazon.com
- 리전 설정: 반드시 아시아 태평양(서울)으로 설정하여 물리적 거리에 따른 지연 시간을 최소화합니다.
- 엔진 및 템플릿: MySQL 엔진을 선택하고, 비용 방지를 위해 반드시 프리티어(Free Tier) 옵션을 활성화합니다.
- 설정: 마스터 사용자 이름(admin 등)과 암호를 설정합니다. (이 정보는 나중에 .env에 사용되므로 메모 필수!)
- 연결 섹션 (중요): 외부(내 컴퓨터, 배포 서버)에서 접속할 수 있도록 퍼블릭 액세스를 **'예(Yes)'**로 설정합니다.
2. 보안 그룹(방화벽) 설정: 인바운드 규칙 편집
RDS를 만들어도 기본적으로 외부 접속은 차단되어 있습니다. 이를 해결하기 위해 보안 그룹에서 '문'을 열어줘야 합니다.
- 인바운드 규칙 추가: RDS 인스턴스 상세 페이지에서 보안 그룹 링크를 클릭합니다.
- 규칙 설정:
- 유형: MySQL/Aurora (포트 3306)
- 소스: Anywhere-IPv4 (0.0.0.0/0)
- 주의사항: 규칙 저장 시 기존 시스템 규칙과 충돌이 발생하면, 기존 줄을 삭제하고 새로 규칙을 추가하여 저장합니다.
3. DB 관리 툴(MySQL Workbench) 연결
이제 내 컴퓨터에서 클라우드 DB로 접속을 시도합니다.
- Hostname: AWS RDS 상세 페이지의 '엔드포인트(Endpoint)' 주소를 복사하여 붙여넣습니다.
- Username/Password: RDS 생성 시 설정한 정보를 입력합니다.
- Troubleshooting: "No database selected" 또는 "Access Denied" 에러가 발생할 수 있습니다. 이는 시스템 DB인 mysql에 직접 테이블을 만들려 할 때 발생하므로, 전용 DB(Schema)를 먼저 생성해야 합니다.
4. 데이터베이스 및 테이블 초기화 (SQL 실행)
연결된 쿼리 창에서 프로젝트에 필요한 테이블 구조를 생성합니다.
SQL
-- 1. 전용 데이터베이스 생성
CREATE DATABASE IF NOT EXISTS `meat-a-eye-db`;
USE `meat-a-eye-db`;
-- 2. 프로젝트 테이블 생성 스크립트 실행
-- members, meat_info, recognition_logs 등 11개 테이블 생성
-- (준비된 init_all.sql 내용 실행)
💡 핵심 배움 포인트: > "시스템 전용 데이터베이스인 mysql에는 일반 사용자가 테이블을 직접 생성할 권한이 없다. 반드시 CREATE DATABASE 명령어로 나만의 방을 먼저 만들고 USE 명령어로 해당 방에 들어가서 작업을 진행해야 한다."
5. 백엔드 연동을 위한 .env 설정
마지막으로 FastAPI 백엔드 서버가 이 DB를 바라보도록 환경변수를 업데이트합니다.
DB_HOST=your-rds-endpoint.amazonaws.com
DB_PORT=3306
DB_USER=admin
DB_PASSWORD=your_password
DB_NAME=meat-a-eye-db
'3. 자습 & 메모(실전, 실습, 프로젝트) > 3-3 배포 실전 공부' 카테고리의 다른 글
| [배포] Meat-A-Eye 배포 및 트러블슈팅 진행 기록 (마지막) (0) | 2026.03.27 |
|---|---|
| [배포] 데이터베이스 연결, CORS, 외부 API 보안 연결 문제 (6) (0) | 2026.03.26 |
| [배포] AWS EC2 재가동 및 도커 배포 (4) (2) | 2026.03.24 |
| [Meat-A-Eye 배포] AWS EC2 서버 구축 및 AI 환경 세팅(3) (0) | 2026.03.13 |
| [개인 공부] "배포" 기본 개념 정리(1) (0) | 2026.03.07 |
