[Spring Boot] Chap 7.AWS RDS 생성하기
by me
스프링 부트와 AWS로 혼자 구현하는 웹서비스 (프리렉, 이동욱 지음) 책에서 공부한 내용을 정리한 게시글입니다.
해당 시리즈의 소스코드는 이곳에서 확인할 수 있습니다.
목차
- RDS 인스턴스 생성
- RDS 운영황경에 맞는 파라미터 설정하기
- RDS 접속하기
RDS(Relational DataBase Service) 는 AWS에서 지원하는 클라우드 기반 관계형 데이터베이스로 모니터링, 알람, 백업, HA 구성 등을 지원하는 관리형 서비스 입니다. 또한, 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원합니다.
RDS 인스턴스 생성
AWS 접속 > 서비스 > RDS > 데이터베이스 생성
- 데이터베이스 생성 방식 선택: 표준 생성
- 엔진 옵션
- 엔진 유형: MariaDB
- 버전: 10.2.21
- 템플릿: 프리 티어
- 설정
- 본인이 원하는 식별자, 자격 증명 설정(마스터 사용자 이름) 작성
- 암호는 추후 RDS 접속시 필요한 정보 입니다.
- DB 인스턴스 크기: 버스터블 클래스 - db.t2.micro
- 스토리지
- 유형: 범용(SSD)
- 할당된 스토리지: 20 GiB
- 연결 > 추가 연결 구성
- 퍼블릭 엑세스 가능: 예
- 데이터베이스 포트: 3306
- 추가 구성
- 초기 데이터베이스 이름 작성
- DB 파라미터 그룹: default.mariadb 10.2
- 옵션 그룹: default:mariadb-10-2
위 내용을 작성하고 RDS 인스턴스를 생성을 클릭한다.
RDS 운영황경에 맞는 파라미터 설정하기
RDS를 처음 생성하면 몇 가지 설정을 필수로 해야 합니다.
- 타임존
- Character Set
- Max Connection
RDS > 파라미터 그룹 > 파라미터 그룹 생성 > 파라미터 편집
time_zone
검색 > Asia/Seoul 선택
character
검색 > character 항목은 utf8mb4 로 collation항목은 utf8mb4_general_ci 로 변경
- character_set_client - utf8mb4
- character_set_connection - utf8mb4
- character_set_database - utf8mb4
- character_set_filesystem - utf8mb4
- character_set_results - utf8mb4
- collation_connection - utf8mb4_general_ci
- collation_server - utf8mb4_general_ci
utf8과 utf8mb4 차이
이모지 저장 가능 여부 입니다. utf8은 이모지를 저장할 수 없지만, utf8mb4는 이모지를 저장할 수 있어 보편적으로 utf8mb4를 많이 사용합니다.
max_connections
검색 > 150 으로 변경
RDS의 Max Connection은 인스턴스 사양에 따라 자동 으로 정해집니다. 설정을 저장하고 생성된 파라미터 그룹을 데이터베이스에 연결하겠습니다.
데이터베이스 > DB 식별자 선택 > 선택 > DB 파라미터 그룹 선택 > 수정 사항 요약: 즉시 적용
즉시 적용 하는 이유는 변경된 내용이 예약된 다음 유지 시간으로 하면 지금 하지 않고, 새벽 시간대에 진행하게 됩니다. 이 수정사항이 반영되는 동안 데이터베이스가 작동하지 않을 수 있으므로 예약 시간을 걸어 두라는 의미입니다.
RDS 접속하기
RDS에 접속하기 위해서 RDS의 보안 그룹에 본인 PC IP를 추가 해야합니다.
RDS 인스턴스 선택 > 보안 그룹 선택 아래 내용 추가
MySQL/Aurora | TCP | 3306 | 내 IP |
MySQL/Aurora | TCP | 3306 | 사용자 지정: EC2 보안 그룹 ID |
이렇게 하면 EC2와 RDS 간에 접근이 가능 합니다. PC에서 RDS에 접속하기 위한 방법에는 여러 방법이있습니다. 대표적으로 두 가지는 아래와 같습니다.
- IntelliJ에 플러그인 설치 후 접근
- Putty EC2 서버에 MySQL를 설치하여 콘솔에서 접근
위의 방법이 아니여도 Workbench 등 으로 접속할 수 있습니다.
RDS 데이터베이스에 접속 하였다면 현재의 character_set, collation 설정 을 확인합니다.
show variables like '%c';
쿼리 결과를 보면 다른 필드들은 모두 utf8mb4가 잘 적용되었는데 일부가 변경 안됨을 볼 수 있습니다.
ALTER DATABASE 데이터베이스명
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';
위의 쿼리를 입력하여 변경해줍니다.
이것으로 RDS 인스턴스 생성과 환경 설정은 끝이 났습니다. 다음 게시글은 EC2 서버에 프로젝트를 배포하는 방법을 설명하겠습니다.
Related Posts
- Chap 1.스프링 부트 시작하기
- Chap 2.테스트 코드 작성하기
- Chap 3.스프링 부트에서 JPA사용하기
- Chap 4.Mustache로 화면 구성하기
- Chap 5.스프링 시큐리티와 OAuth2.0
- Chap 6.AWS EC2 서버 환경 구축하기
- Chap 7.AWS RDS 생성하기 - Now
- Chap 8.EC2 서버에 프로젝트 배포하기
- Chap 9.Travis CI 배포 자동화
- Chap 10.Nginx를 이용한 무중단 배포
References
- 스프링 부트와 AWS로 혼자 구현하는 웹서비스 (프리렉, 이동욱 지음)