1. RDS 생성


직접 서버에 DB를 설치해서 다루게 되면 모니터링, 알람, 백업, HA 구성 등을 모두 직접 해야한다.

AWS의 RDS를 이용하면 위 작업들을 손쉽게 관리할 수 있다. RDS를 사용하면 하드웨어 프로비저닝, DB 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 해준다. 추가로 스토리지 용량을 유동적으로 조정할 수 있기 때문에 예상치 못한 양의 데이터가 쌓여도 비용만 추가로 내면 정상적으로 서비스가 가능하다는 장점도 있다.

 

DB 엔진은 MariaDB를 선택한다.

  1. 가격
    RDS의 가격은 라이센스 영향을 받기 때문에 상용 DB인 오라클, MSSQL보다 오픈소스인 MySQL, MariaDB, PostgreSQL이 동일한 사양 대비 가격이 더 저렴하다.
  2. 추후 Amazon Aurora로 교체가 용이하다.
    Amazon Aurora는 AWS에서 MySQL과 PostgreSQL을 클라우드 기반에 맞게 재구성한 DB다.
    단, 프리티어 대상이 아니기 때문에 시작은 MariaDB로 선택한다.

 

 

MariaDB 인스턴스 생성에 관한 AWS 공식 문서

 

 

 

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


RDS 인스턴스를 처음 생성한 후에는 몇 가지 설정을 해줘야 한다.

  1. TimeZone 설정
  2. Character Set 설정
  3. Max Connection 설정

 

 

먼저 새로운 파라미터 그룹을 생성한다.

 

아래의 그림과 같은 화면이 나올텐데, 그룹 패밀리에는 RDS의 DB 엔진 버전과 맞춰줘야한다. (아래의 경우 MariaDB 10.4.x 버전대)

그 아래 그룹 이름과 설명은 원하는대로 입력한 후 생성 버튼을 누른다.

 

생성된 파라미터를 클릭한다.

 

그 후, 파라미터 편집 버튼을 누른 후, 파라미터 값들을 수정한다.

 

수정할 파라미터 목록은 아래와 같다.

  1. time_zone : Asia/Seoul
  2. character-set 관련 항목 모두 : Utf8mb4
  3. collation_ 관련 항목 모두 : Utf8mb4_general_ci
  4. max_connections : 150 (프리티어는 60개의 커넥션을 지원한다.)

 

utf8과 utf8mb4의 차이는 emoji(이모티콘) 저장 가능 여부다. utf8mb4는 emoji를 저장할 수 있어서 많이 사용된다.

 

이제 위에서 생성한 파라미터 그룹을 RDS 인스턴스와 연결하자.

먼저, RDS 인스턴스를 선택하고, 수정 버튼을 누른다.

 

아래 그림처럼 DB 파라미터 그룹의 값을 변경한다.

 

그런 다음 하단에 [변경] 버튼을 누르면 아래 그림처럼 [수정 사항 요약]이 나오는데 여기서 [즉시 적용]을 선택한다.

 

 

 

3. RDS에 접속하기


생성한 RDS 인스턴스 항목을 클릭하면 아래 그림과 같은 세부 정보가 나타난다.

 

위 그림에서 엔드포인트 정보가 해당 RDS의 접속 URL이다.

이 값을 가지고 IntelliJ의 Database 도구에서 연결 테스트를 하면 정상적으로 연결이 되는 것을 확인할 수 있다.

 

 

 

참고자료


[1] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스_이동욱 저