스프링 부트 CKEditor
스프링 부트 CKEditor 9 - AWS RDS 스프링부트 연결
https://youtu.be/DG4qwH9bUYA?si=u9uKnPiBJp65xPAJ
스프링 부트 CKEditor 9 - AWS RDS 스프링부트 연결
- 스프링 부트 CKEditor 9 - AWS RDS 스프링부트 연결
Spring Boot + AWS RDS(MySQL) 연동하기 (CKEditor 데이터 저장 준비)
이번 글에서는 Spring Boot 애플리케이션과 Amazon Web Services 의 RDS(MySQL)를 연결하여 CKEditor로 작성한 데이터를 DB에 저장할 수 있는 기반을 만든다.
핵심은 한 줄이다.
“Spring Boot가 RDS에 접속할 수 있도록 네트워크 + 설정을 모두 맞춘다”
1. 전체 흐름 먼저 이해하기
이번 단계는 단순 연결이 아니라 데이터 흐름의 시작점이다.
CKEditor → Controller → Service → DB(RDS)
👉 지금 단계는 마지막 단계인 DB 연결 준비다.
2. 필요한 구성 요소
RDS 연결을 위해 필요한 것은 크게 3가지다.
1) Spring Boot 의존성
- Spring Data JPA
- MySQL Driver
2) AWS RDS MySQL 인스턴스
- 클라우드 DB 서버
- 실제 데이터 저장 위치
3) 네트워크 접근 설정 (보안 그룹)
👉 이게 가장 많이 막히는 부분
3. Spring Boot 의존성 설정
이미 프로젝트 생성 시 추가했을 가능성이 높다.
build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.mysql:mysql-connector-j'
}
👉 이 두 개가 핵심이다.
- JPA → ORM 처리
- MySQL Driver → DB 연결
4. AWS RDS MySQL 생성
개념 이해
RDS는:
“AWS에서 제공하는 관리형 데이터베이스 서비스”
특징
- 서버 설치 필요 없음
- 자동 백업
- 장애 대응 지원
👉 즉,
“DB를 직접 운영하지 않아도 된다”
5. RDS 보안 그룹 설정 (가장 중요)
여기서 90%가 막힌다.
문제
Spring Boot → RDS 연결 실패
원인
👉 RDS는 기본적으로 외부 접근 차단
해결 방법
RDS 보안 그룹에서:
- 포트: 3306 (MySQL)
- 인바운드 규칙 추가
예시
Type: MySQL/Aurora
Port: 3306
Source: EC2 또는 내 IP
👉 실무에서는:
- 0.0.0.0/0 ❌ (위험)
- 특정 서버만 허용 ✅
6. Spring Boot 설정 (핵심)
이제 실제 연결 설정을 한다.
application.properties
spring.datasource.url=jdbc:mysql://RDS엔드포인트:3306/DB이름
spring.datasource.username=유저명
spring.datasource.password=비밀번호
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
중요한 포인트
1) RDS 엔드포인트
xxx.ap-northeast-2.rds.amazonaws.com
👉 IP 대신 도메인 사용
2) ddl-auto
spring.jpa.hibernate.ddl-auto=update
- update: 테이블 자동 생성/수정
- create: 실행 시 초기화
3) show-sql
spring.jpa.show-sql=true
👉 콘솔에서 SQL 확인 가능
7. 연결 테스트
이제 서버를 실행한다.
성공 기준
- 에러 없음
- 콘솔에 Hibernate 로그 출력
실패 시 체크
1) Access denied
👉 ID / 비밀번호 확인
2) Connection timeout
👉 보안 그룹 문제
3) Unknown database
👉 DB 이름 확인
8. 지금 단계에서 중요한 것
이 단계는 단순 연결이 아니다.
핵심 이해 포인트
1. DB는 외부 서비스
- 네트워크 문제 항상 고려
2. 설정 = 연결의 전부
- URL
- 인증
- 포트
3. 로컬 vs 클라우드 차이
- 로컬: localhost
- RDS: 네트워크 필요
9. CKEditor와 연결되는 부분
이제 이 구조가 완성된다.
전체 흐름
CKEditor → DTO → Controller → DB(RDS)
👉 즉,
- title → DB 컬럼
- content → DB 컬럼 (HTML)
10. 다음 단계
이제 진짜 “저장”을 구현한다.
다음 작업
- Entity 생성
- Repository 생성
- Service 구현
- DB 저장 로직 완성
정리
이번 글의 핵심은 한 줄이다.
Spring Boot에서 DB 연결은 “설정 + 네트워크” 두 가지가 전부다
핵심 요약
- RDS = 클라우드 DB
- 보안 그룹 필수 설정
- application.properties로 연결
- JPA 설정 포함
- 연결 성공 후 DB 저장 가능