개발자의 서재

Chapter.07 : AWS에 DB환경을 만들어보자 - AWS RDS 본문

SpringBootProject/SpringBoot_ Oauth_AWS

Chapter.07 : AWS에 DB환경을 만들어보자 - AWS RDS

ironmask431 2022. 2. 25. 18:56

"스프링부트와 AWS로 혼자 구현하는 웹 서비스" 라는 책을 바탕으로 학습목적의 프로젝트를 진행하고 있습니다. 

 

소스 : https://github.com/ironmask431/springboot_aws_01

 

Chapter.07 : AWS에 DB 환경을 만들어보자 - AWS RDS

AWS에서는 기본적인 데이터베이스 제공 및 모니터링, 알람,백업, HA구성등을 모두 지원하는 

관리형 데이터베이스 서비스인 RDS를 제공합니다. 

7.1 RDS 인스턴스 생성하기

 

검색창에 RDS 검색후 선택

 

데이터베이스 생성 클릭

 

MariaDB 선택, 버전 선택

 

DB인스턴스 식별자 , ID, PW 설정

 

 

퍼블릭 엑세스를 '예' 선택 (외부에서 디비접속 가능)

 

RDS생성완료

 

 

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

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

1.Time zone
2.Character Set
3.Max Connection
4.lower_case_table_name

 

왼쪽 메뉴 "파라미터 그룹" 파라미터 그룹 생성;

파라미터 그룹 패밀리는 생성한 마리아DB 버전과 같은 걸로 맞춰야 함. 

 

그룹 이름이름, 설명을 입력 후 생성함.

 

생성한 파라미터 그룹 클릭

 

파라미터 편집 클릭

1. time_zone > 서울로 설정

time_zone > 서울로 설정

2. character_set 설정

* utf8 과 utf8mb4 의 차이는 이모지 저장가능여부 

 

character_set 관련 항목 6개를 utf8mb4 로 수정

 

collation 관련항목 2개 utf8mb4_genaral_ci 로 변경

3. max_connections 설정

max_connections 를 150정도로 수정후 저장

 

4. lower_case_table_names 설정

테이블명 조회 시 대,소문자 구분 = 0

테이블명 조회 시 대,소문자 구분하지 않음 = 1  

lower_case_table_names = 1 로 설정 

 

성성한 RDS를 선택 후 수정

 

DB파라미터 그룹을 방금 생성한 그룹으로 수정

 

즉시적용 선택 후 DB인스턴스 수정 클릭

 

간혹 수정한 파라미터 그룹이 적용이 안될 때가 있어 재부팅 실행

 

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

로컬PC에서 RDS로 접근하기 위해 RDS의 보안그룹에 로컬PC의 IP추가 실행.

 

RDS의 보안그룹 클릭

 

보안그룹의 인바운드 규칙 탭 클릭

 

인바운드 규칙 편집 클릭

 

유형 : MYSQL (포트:3306)를 추가하고, EC2를 생성할 때 만든 보안그룹을 추가합니다. 

이렇게하면 EC2 서버 에서 RDS로 접근이 가능합니다. 

 

유형 MYSQL (포트:3306) 에서 EC2를 생성할때 만들었던 보안그룹 선택

유형 : MYSQL (포트:3306)를 추가하고 "내 IP" 를 선택하면 자동으로 IP추가됨. 

내 로컬PC에서 RDS로 접근을 허용 

 

DB 툴 설치 > DBeaver 로 설치함. 

(* 인텔리제이 DB plugin 을 설치해서 DB접속시 계속 실패... RDS의 방화벽 문제인줄알고 여러번 수정했지만 해결되지 않음. 다른 DB툴을 설치해서 (DBeaver) 접속 시도하자 정상 접속됨.  인텔리제이 DB plugin은 절대 안쓰는걸로...)

RDS의 엔드포인트 복사 (접속 url)

 

Server Host 에 엔드포인트를 복사, username 과 password 입력 후 연결

이전에 설정한 파라미터 그룹이 정상 적용되었는지 확인 

 

- charcter_set 확인

show variables like 'c%'

chracter, collation 항목들의 value가 적용된 것 확인

 

- 타임존 확인

select @@time_zone, now()

 

- 테이블 생성 후 insert, select 테스트 

쿼리 실행
한글 데이터도 정상입력 확인

 

7.3 EC2에서 RDS로 접근 확인 

putty 실행 > EC2 접속

 

EC2에 mysql client 설치

sudo yum install mysql

RDS에 접속 

mysql -u 계정 -p -h Host주소

접속 후 확인

show databases;

EC2에서 RDS 접속 정상 확인

Comments