AWS RDS MySQL 인스턴스 설정 방법

1. 목표
이 단계에서는 AWS 콘솔에서 RDS MySQL 인스턴스를 직접 생성하는 방법을 배웁니다.
- AWS 콘솔에서 RDS 서비스로 이동
- 표준(Standard) 방식으로 DB 생성
- MySQL 엔진 + Free Tier 템플릿 선택
- DB 인스턴스 이름 / 계정 / 비밀번호 설정
- 용량(스토리지), 퍼블릭 접근, 포트 설정
- 생성된 후 엔드포인트(Endpoint)와 포트 확인
이 값들이 나중에 PySide6 + MySQL 연결 코드에서 사용될 핵심 설정값입니다.
2. RDS 콘솔 접속 및 데이터베이스 생성 진입

브라우저에서 AWS 콘솔 접속 (👉 https://console.aws.amazon.com/)


상단 검색창에 “RDS” 입력 후, Auroara And RDS 대시보드로 이동

대시보드 하단의 "데이터베이스 생성" 또는, 왼쪽 메뉴에서 Databases → Create database 클릭

이제 새 데이터베이스를 생성하는 화면으로 들어가게 됩니다.
3. [생성 1단계] Database creation method 선택

RDS는 두 가지 생성 방법을 제공합니다.
| 옵션 |
설명 |
| Standard create | 모든 설정을 직접 선택. 학습/설정 연습에 적합 |
| Easy create | AWS 추천 기본값으로 빠르게 생성. 설정 변경 제약 |
👉 Standard create 를 사용합니다.
왜냐하면 엔진 버전, 인스턴스 클래스, 스토리지, 퍼블릭 접근 등 세부 항목을 직접 설정하는 연습을 해야 하기 때문입니다.
4. [생성 2단계] Engine options >> MySQL 선택

Engine options 섹션에서:
- MySQL 선택
- MariaDB, PostgreSQL, Oracle, SQL Server 등도 있지만
이 프로젝트는 MySQL RDS + PySide6 연동이 목표입니다.

버전 선택 (MySQL version)
- 기본(Default)으로 제안되는 최신 MySQL 버전 선택
- 예전 MySQL 5.6 버전은 Deprecated(지원 종료) 상태이므로 사용하지 않습니다.
5. [생성 3단계] Templates – Free tier 선택

Templates 섹션에서:
- Free tier 선택

템플릿에 따라 사용할 수 있는 기능이 달라집니다.
- Production 선택 시: 고가용성, Multi-AZ 등 옵션 가능(하지만 비용↑)
- Free tier 선택 시:
- 인스턴스 클래스, 스토리지 등 일부 옵션이 자동으로 제한/고정
- 되지만 12개월 무료로 테스트용 DB 사용 가능
6. [생성 4단계] Settings – DB 인스턴스 이름 / 계정 정보 설정

1) DB instance identifier
- DB의 이름(DB 사용시 호출용 식별자)
- 예) mydb-tutorial

2) Master username
- 기본값: admin
- 변경 가능하지만, 학습용으로는 admin 그대로 사용해도 무방
3) Master password / Confirm password
- 비밀번호 규칙:
- 8자 이상
- 대문자 + 소문자 + 숫자 + 특수문자 포함
- 예) Test1234!
이 정보는 PySide6에서 MySQL 연결할 때 꼭 필요하므로 잘 기록해 둡니다.
7. [생성 5단계] DB instance class – 성능 등급 선택

DB instance class는 CPU/메모리 성능을 결정합니다.
Free Tier 기준으로는 보통:
- db.t3.micro 또는 db.t4.micro 정도가 자동 선택/고정됩니다.
“Free tier에서는 하나의 클래스만 사용 가능하고, 다른 옵션은 비활성화” 된 상태를 확인할 수 있습니다.
8. [생성 6단계] Storage – 스토리지 유형 및 용량 설정

Storage type 선택:
| 타입 | 설명 |
| General Purpose SSD (gp2/gp3) | 기본 SSD. 대부분 상황에서 충분 |
| Provisioned IOPS | 고성능 I/O용. 비용↑, Free Tier 제한 |
| Magnetic | 오래된 방식. 일반적으로 사용하지 않음 |
👉 General Purpose SSD(gp2/gp3) 선택 (기본값)
Allocated storage (GB)
- 최소 20GB → 20 입력
Storage autoscaling
- 데이터가 꽉 차면 자동으로 스토리지를 늘리는 기능
- 학습 초기에는 끄는 것(비활성화)을 추천
(예상치 못한 과금 방지)
9. [생성 7단계] Connectivity – VPC, Public access, Port 설정

VPC (Virtual Private Cloud)
- 기본 VPC 사용 (Default VPC)
- 아직 네트워크를 깊게 다루지 않을 것이므로, 기본값 그대로 둡니다.

Public access
PySide6 앱에서 PC로 RDS에 접속해야 하므로:
👉 Public access: Yes 로 설정
10. [생성 8단계] 나머지 옵션은 기본값 유지 → Create database

백업, 모니터링, 암호화, 유지관리(maintenance) 등의 섹션은 초급 학습 단계에서는 기본값 그대로 둡니다.
마지막으로 Create database 버튼 클릭하면 상단에 알림이 나오고, 데이터베이스 목록 화면으로 이동합니다.
11. [생성 9단계] 생성 상태 확인 – “Creating” → “Available”


RDS → Databases 목록에서 방금 만든 DB 인스턴스를 확인합니다.
- 초기 상태: Creating
- 몇 분 후: Available

목록에서 해당 인스턴스를 클릭하면 상세 정보 페이지로 들어갑니다.
여기에서 중요한 값이 바로:
- Endpoint (엔드포인트)
- Port (포트)
12. [생성 10단계] Monitoring / Logs / Configuration / Backups 확인

| 탭 | 내용 |
| Summary | 상태, 엔진, 버전, 인스턴스 클래스, 스토리지 등 요약 |
| Connectivity & security | Endpoint, VPC, Subnet, 보안 그룹, 포트 정보 |
| Monitoring | CPU, 메모리, 스토리지, 커넥션 수 |
| Logs & events | 에러, 경고, 연결 로그 등 |
| Configuration | 세부 설정 정보 (클래스, 엔진 버전 등) |
| Maintenance & backups | 자동 패치, 백업 설정 |