이 글은 책 「스프링 부트와 AWS로 혼자 구현하는 웹 서비스」를 공부하고 정리한 글입니다.
오늘은 AWS의 데이터베이스 서비스인 RDS를 생성하고 설정해보도록 하겠다.
웹 서비스의 백엔드를 다룬다고 했을 때 애플리케이션 코드를 작성하는 것만큼 중요한 것이 데이터베이스를 다루는 것이다.
오늘은 데이터베이스를 구축하고 지난 시간에 만든 EC2 서버와 연동해보자!
하지만 직접 데이터베이스를 설치하는 것은 아니다. 직접 데이터베이스를 설치해서 다루게 되면 모니터링, 알람, 백업, HA 구성 등을 모두 직접 해야하므로 처음 구축할 때 며칠이 걸릴 수도 있기 때문이다.
AWS에서는 앞에서 언급한 작업을 모두 지원하는 관리형 서비스인 RDS(Relational Database Service)
를 제공한다. RDS는 AWS에서 지원하는 클라우드 기반 관계형 데이터베이스로, 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스이다.
추가로 조정 가능한 용량을 지원하여 예상치 못한 양의 데이터가 쌓여도 비용만 추가로 내면 정상적으로 서비스가 가능하다는 장점도 있다. 이러한 RDS를 이용하여 나만의 데이터베이스 환경을 구축해보자!
[데이터베이스 생성]
선택하기MariaDB
선택하기📌 MariaDB를 추천하는 이유는 다음과 같다.
Amazon Aurora
는 AWS에서 MySQL과 PostgreSQL을 클라우드 기반에 맞게 재구성한 데이터베이스이다.정리하자면, Amazon Aurora를 처음부터 시작하는 것보다는 Amazon Aurora로 교체가 가능하고 가격도 저렴한 MariaDB로 시작하는 것이 더 좋기 때문이다.
✅ 참고 | MariaDB란?
MariaDB
는 MySQL을 기반으로 만들어졌기 때문에 쿼리를 비롯한 전반적인 사용법이 MySQL과 유사하다.
MariaDB는 MySQL 대비 다음과 같은 장점이 있다.
- 동일 하드웨어 사양으로 MySQL보다 향상된 성능
- 좀 더 활성화된 커뮤니티
- 다양한 기능
- 다양한 스토리지 엔진
이어서 설정을 마무리 해보자.
DB 인스턴스
와 마스터 사용자 정보
등록하기퍼블릭 액세스 가능
체크하기RDS를 처음 생성하면 몇 가지 설정을 필수로 해야 한다.
- 타임존
- Character Set
- Max Connection
RDS 대시보드 왼쪽 카테고리에서 파라미터 그룹
선택
파라미터 그룹 생성
클릭
생성한 MariaDB와 같은 버전으로 DB 엔진 선택 후 생성
클릭하기
생성 완료 후 해당 파라미터 그룹 클릭하기
오른쪽 상단에 파라미터 편집
클릭해서 편집 모드로 전환
하기
다음과 같이 나타난다.
time_zone
검색 후 Asia/Seoul
선택하기
character
항목들은 utf8mb4
로, collation
항목은 utf8mb4_general_ci
로 변경하기
character_set_client
character_set_connection
character_set_database
character_set_filesystem
character_set_results
character_set_server
collation_connection
collation_server
utf8
은 이모지를 저장할 수 없지만,utf8mb4
는 이모지를 저장할 수 있어서 보편적으로utf8mb4
를 많이 사용한다.
RDS의 Max Connection
은 인스턴스 사양에 따라 자동으로 정해진다. 현재 프리티어 사양으로는 약 60개의 커넥션만 가능해서 좀 더 넉넉한 값인 150
으로 늘려준다.
모든 설정을 끝낸 뒤 오른쪽 상단의 변경 사항 저장
을 클릭하면 된다.
수정
클릭하기default
로 설정되어 있다.)즉시 적용
으로 바꾼 뒤 저장하면 끝!