Super Kawaii Cute Cat Kaoani
본문 바로가기
⚙️ Back-end/SpringBoot

[Spring Boot] 3주차 스터디 : 7장 AWS에 데이터베이스 환경을 만들어보자 - AWS RDS

by wonee1 2025. 2. 4.
728x90

 

✏️ 스프링 부트와 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 인스턴스 생성

  1. 다음과 같이 검색창에 rds를 입력해서 선택하고 RDS 대시보드에서 데이터베이스 생성 버튼을 클릭한다.

 

 

2. DBMS 선택 및 생성

 

💜RDS 운영환경에 맞는 파라미터 설정하기


 

 

 

RDS를 처음 생성하면 몇 가지 설정을 필수로 해야한다

우선 다음 3개의 설정을 차례로 진행

 

  • 타임존
  • Character Set
  • Max Connection

 

  1. 파라미터 그룹 탭을 클릭해서 이동한 후 파라미터 그룹을 생성한다

  2. 생생된 파라미터를 클릭하여 파라미터 편집하기로 들어간다

 

  3. time_zone 속성을 변경한다

 

 

   4. Character Set을 변경한다

 

   5.utf와 utf8mb4 차이는 이모지 저장 가능 여부 차이다

 

 

 

 

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

 

 

그 후 파라미터 그룹을 데이터베이스에 연결해준다

옵션 항목에서 DB 파라미터 그룹은 default로 되어있다 -> 방금 생성한 신규 파라미터로 변경

 

 

 

수정 후 바로 적용이 되게 하려면 반영시점을 즉시 적용을 선택해야한다 

 

 

 

💜내 PC에서 RDS에 접속해 보기


 

 

 

로컬 pc에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가한다

RDS의 세부정보 페이지에서 보안 그룹 항목을 클릭한다. 

 

 

  1. 보안 그룹 정보를 그대로 두고 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를 다시 생성한 후 연결 시도 

 

인텔리제이 설치 방법은 다음 블로그를 참고하였습니다. 🔽

 

https://turtle0204.tistory.com/entry/2025%EB%85%84-1%EC%9B%94-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%8A%A4%ED%84%B0%EB%94%94-1%EC%A3%BC%EC%B0%A8-1%EB%8B%A8%EC%9B%90-%EC%9D%B8%ED%85%94%EB%A6%AC%EC%A0%9C%EC%9D%B4-%EC%84%A4%EC%B9%98

 

스프링부트 스터디 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;
생성 확인 완료

 

 

728x90