스프링 부트 CKEditor

스프링 부트 CKEditor 9 - AWS RDS 스프링부트 연결

https://youtu.be/DG4qwH9bUYA?si=u9uKnPiBJp65xPAJ

스프링 부트 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. 다음 단계

이제 진짜 “저장”을 구현한다.


다음 작업

  1. Entity 생성
  2. Repository 생성
  3. Service 구현
  4. DB 저장 로직 완성

정리

이번 글의 핵심은 한 줄이다.

Spring Boot에서 DB 연결은 “설정 + 네트워크” 두 가지가 전부다


핵심 요약

  • RDS = 클라우드 DB
  • 보안 그룹 필수 설정
  • application.properties로 연결
  • JPA 설정 포함
  • 연결 성공 후 DB 저장 가능


© 2020. All rights reserved.

SIKSIK