✏️ 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 보면서 스터디 한 내용을 정리하였습니다
https://www.yes24.com/product/goods/83849117
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 예스24
가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링
www.yes24.com
7장 AWS에 데이터베이스 환경을 만들어보자 - AWS RDS
웹 서비스의 백엔드를 다룬다고 했을 때 애플리케이션 코드를 작성하는 것만큼 중요한 것이 데이터베이스를 다루는 일이다. 이번 실습에선 데이터베이스를 구축하고 앞 장에서 만든 EC2 서버와 연동을 진행하는 것이 목표!
(다만 직접 데이터베이스를 설치하지 않는다.)
AWS에서는 관리형 서비스인 RDS를 제공한다
💠RDS란?
- 관리형 서비스
- AWS에서 지원하는 클라우드 기반 관계형 데이터베이스
💜RDS 인스턴스 생성하기
RDS 인스턴스 생성
- 다음과 같이 검색창에 rds를 입력해서 선택하고 RDS 대시보드에서 데이터베이스 생성 버튼을 클릭한다.

2. DBMS 선택 및 생성




💜RDS 운영환경에 맞는 파라미터 설정하기
RDS를 처음 생성하면 몇 가지 설정을 필수로 해야한다
우선 다음 3개의 설정을 차례로 진행
- 타임존
- Character Set
- Max Connection
- 파라미터 그룹 탭을 클릭해서 이동한 후 파라미터 그룹을 생성한다

2. 생생된 파라미터를 클릭하여 파라미터 편집하기로 들어간다
3. time_zone 속성을 변경한다

4. Character Set을 변경한다
5.utf와 utf8mb4 차이는 이모지 저장 가능 여부 차이다

6. Max Connection 수정 (150으로 수정해준다)

그 후 파라미터 그룹을 데이터베이스에 연결해준다
옵션 항목에서 DB 파라미터 그룹은 default로 되어있다 -> 방금 생성한 신규 파라미터로 변경

수정 후 바로 적용이 되게 하려면 반영시점을 즉시 적용을 선택해야한다
💜내 PC에서 RDS에 접속해 보기
로컬 pc에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가한다
RDS의 세부정보 페이지에서 보안 그룹 항목을 클릭한다.
- 보안 그룹 정보를 그대로 두고 ec2에 사용된 보안 그룹 ID를 복사한다

2. 복사된 그룹 id와 본인 ip를 rds 보안 그룹 인바운드로 추가한다
보안 그룹 첫번째 줄 : 현재 내 pc ip 등록
보안 그룹 두번째 줄: ec2의 보안 그룹을 추가
인바운드 규칙 추가는 다음 블로그를 참고하여 진행하였습니다🔽
https://loosie.tistory.com/m/413
[Spring 배포 #0-2] AWS RDS 인스턴스 생성하기 및 EC2와 연동하기
AWS RDS(MariaDB) 인스턴스 생성하기 웹 서비스의 백엔드를 다룬다고 했을 때 애플리케이션 코드를 작성하는 것 만큼 중요한 것이 데이터베이스를 다루는 일이다. 백엔드 개발자가 직접 데이터베이
loosie.tistory.com
3. Database 플러그인 설치
- Database Navigator를 설치한다

- RDS 엔드포인트와 아이디, 비밀번호를 참고하여 데이터베이스를 연결한다


🚨 트러블 슈팅 발생
여기까지의 과정에서 계속해서 데이터베이스가 연결되지 않는오류가 발생.... (약 5시간동안 헤맸다)
→ 따라서 인텔리제이 업그레이드 후 , RDS를 다시 생성한 후 연결 시도
인텔리제이 설치 방법은 다음 블로그를 참고하였습니다. 🔽
스프링부트 스터디 1주차. 1단원 인텔리제이 설치
1. 인텔리제이 설치 참고 사이트) [Spring Boot] 2. 나의 첫 스프링 부트 " data-og-host="hel-p.tistory.com" data-og-source-url="https://hel-p.tistory.com/26" data-og-url="https://hel-p.tistory.com/26" data-og-image="https://scrap.kakaocdn.
turtle0204.tistory.com
4. 성공적으로 연결된 것을 확인 후 Database를 이용하여 연결하였다
(view 탭 -> Tool windows -> Database 클릭)


5. 현재의 character_set, collaction 설정을 확인 후 수정한다
//character set 확인
show variables like 'c%'
//character set 변경
CREATE DATABASE my_database
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';

5. time_zone 을 확인해준다
select @@time_zone, now();

6. 테스트 테이블 생성 후 입력이 잘되는지 확인한다

💜ECS에서 RDS에서 접근확인
putty에서 EC2 접속을 진행한다 putty에서 만들어둔 EC2에 접속 후 Mysql 설치를 진행한다
설치는 다음과 같은 순서로 진행된다
sudo su
// MySQL 5.7 리포지터리 추가
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
// MySQL 8.0 리포지터리 비활성화하고 MySQL 5.7 리포지터리 활성화
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
// MySQL 5.7 설치
sudo yum install mysql-community-server

설치가 다 되었으면 로컬에서 접근하듯이 계정, 비밀번호, 호스트 주소를 사용해서 RDS에 접속한다
mysql -u 계정 -p -h Host주소
그 다음 명령어를 사용해 데이터베이스가 잘 생성 되었는지 확인한다
show databases;

'⚙️ Back-end > SpringBoot' 카테고리의 다른 글
[SpringBoot] 단방향, 양방향 연관관계 정리 (0) | 2025.05.15 |
---|---|
[Spring Boot] 3주차 스터디 : 6장 AWS 서버 환경을 만들어보자 - AWS EC2 (0) | 2025.01.24 |
[Spring Boot] 3주차 스터디 : 5장 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (1) | 2025.01.24 |
[Spring Boot] 2주차 스터디 : 4장 머스테치로 화면 구성하기 (0) | 2025.01.15 |
[Spring Boot] 2주차 스터디 : 3장 스프링 부트에서 JPA로 데이터 베이스를 다뤄보자 (1) | 2025.01.14 |