스프링 부트와 AWS로 혼자 구현하는 웹서비스 (프리렉, 이동욱 지음) 책에서 공부한 내용을 정리한 게시글입니다.

해당 시리즈의 소스코드는 이곳에서 확인할 수 있습니다.


목차

  1. RDS 인스턴스 생성
  2. RDS 운영황경에 맞는 파라미터 설정하기
  3. 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 항목은 utf8mb4collation항목은 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에 접속하기 위한 방법에는 여러 방법이있습니다. 대표적으로 두 가지는 아래와 같습니다.

  1. IntelliJ에 플러그인 설치 후 접근
  2. 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

References

  • 스프링 부트와 AWS로 혼자 구현하는 웹서비스 (프리렉, 이동욱 지음)