이전 프로젝트와 동일한 환경의 EC2를 구축했다. 이번 프로젝트에 기한이 있어서 익숙한 환경에서 개발하고 싶었기 때문이다. 일단 AWS EC2 인스턴스 환경은 아래 링크와 동일한 방법을 사용했으므로 참고하면 될 것 같다. 

 

2021.07.16 - [Project/AWS로 Spring 웹페이지 배포하기] - Spring intializr(Gradle), IntelliJ, AWS EC2를 이용한 동적 웹페이지 만들기 - 5단계 배포하기(1)

 

내용대로 EC2 생성과 Putty를 이용한 기본적인 Ubuntu 설정이 끝났다면, 2단계에서는 배포를 위한 AWS RDS 설정을 하고자 한다. (나의 경우 현 시점에서 이미 생성은 했지만 배포시 문제가 일어날 경우, 실사용자에게 피해가 없도록 백업데이터를 위해 하나 더 개설했는데, 이 과정을 설명하고자 한다.)

 


1. 데이터베이스 생성하기

 

 

먼저 AWS에서 리전을 확인하고, 데이터베이스를 생성한다.

  • 데이터베이스 생성: 표준생성
  • 엔진옵션: MariaDB
  • 템플릿: 프리티어
  • 설정: DB 인스턴스 식별자를 구분이 쉽게 지정해주고, 마스터 사용자 설정 또한 동일하다. 마스터 사용자 이름과 암호는 후에 알고 있어야 RDS 연결할 수 있음으로 알고 있어야 한다.
  • 인스턴스 클래스, 스토리지: 초기설정값. 스토리지의 경우 이후에 변경하면 되니까 일단 초기값인 20으로 설정해두었다.
  • 연결: 퍼블릭 액세스를 제외하고 모두 초기값으로 두었다. BUT, 이후 과정에서 변경사항이 있다. 연결에 추가구성을 보면 데이터베이스 포트 설정이 있는데 기본값인 3306으로 되어있지만 경우에 따라 변경이 필요하다면 변경해주자.
    아마 RDS 처음 설정하는 경우 변경할 이유가 없을 것 같다. 만약 내가 EC2 서버에서 데이터베이스 연결포트로 3306을 이미 사용하고 있는 경우에는 말이다.
  • 추가구성: 데이터베이스 이름을 설정하고 나머지는 초기값으로 분다. 파라미터 그룹은 이후에 설정할 예정이다.

이렇게 하면 기본적인 데이터베이스 설정이 끝나고 생성 버튼을 눌러주면 된다. 생성 완료까지는 약간 시간이 소요된다. (나의 경우, 약 2~3분정도?)

 

이제 파라미터 그룹 설정을 할 차례이다.

파라미터 그룹은 RDS 데이터베이스에서 옵션값 지정을 위해 AWS에서 제공되는 기능이다.

 

 

오른쪽 메뉴에서 파라미터 그룹을 선택해 파라미터 그룹을 생성해주자. 처음 데이터베이스를 생성할 때와 동일한 파라미터 그룹 패밀리를 선택한다. 위와 동일하게 생성할 경우, 글 작성 시점 기준 mariadb 10.5이다. 그룹이름과 설명은 자유롭게 작성하고 생성을 클릭한다.

 

생성된 파라미터의 몇 가지 값을 변경했는데 일단 리전도 서울이고, 서비스 가동도 우리나라에서 이뤄지는 것으로 time_zone 설정값을 Asia/Seoul로 변경했다. 그리고 character_set으로 시작하는 설정값을 모두 utf8mb4로 설정했다. utf8mb4은 이모티콘 등 표현지원 확대를 위해 mysql, mariaDB에서 사용되는 파라미터 값이다.

 

 

수정이 됐다면 생성한 데이터베이스를 편집에서 추가구성의 파라미터 그룹을 초기값이 아닌 방금 생성한 그룹으로 지정해준다. 그리고 서비스에 운영되지 않는 데이터베이스이므로 바로 반영될 수 있도록 해준다.

 

이제 보안그룹 설정을 할 차례이다.

데이터베이스 개설시 우리는 퍼블릭 액세스를 허용으로 해두었는데, 인바운드 규칙에 EC2 보안그룹을 넣을 목적으로 그렇게 설정해 둔 것이다.

먼저, 인바운드 규칙을 추가해서 MYSQL/Aurora 유형으로 소스는 연결하고자 하는 EC2 보안그룹을 설정해준다. 그리고 인바운드 규칙을 하나 더 추가하여 모든 트래픽 조건에서 소스를 RDS 개설시의 보안그룹으로 지정해준다.

아웃바운드 규칙에 경우 변경사항이 없었다.

 


2. 데이터베이스 생성여부 확인하기

2-1. Putty 확인

RDS 연결이 바르게 되는지 확인하기 위해서는 먼저 Putty를 이용해서 확인할 수 있다. 해당 서버에로 연결된 Putty에서 아래와 같이 개설이 설정한 마스터 계정명과 RDS 엔드포인트를 입력해주면 된다. 그리고 마스터 암호 입력 후 mysql로 전환되어 쿼리 입력이 가능한 것을 확인할 수 있다.

mysql -u 마스터계정 -p -h RDS엔드포인트

 

2-2. IntelliJ Database 연결 확인

나의 경우에는 IntelliJ database를 이용해서 RDS 관리를 하는 편이다.

 

IntelliJ에서 왼쪽 사이드바에 Database를 클릭하고 추가버튼(+)을 클릭한다. Data Source > MariaDB 로 연결해준다.

 

두 번째 사진과 같이 새 창이 뜨면 name은 임의로 지정하고, host에는 엔드포인트를 입력하고, user와 password는 RDS 개설시의 마스터 이름과 비밀번호를 입력한다. port는 자기가 설정한 숫자 또는 기본 3306로 지정되어 있는지 확인하고 test connect를 한 뒤 생성을 완료하면 된다.

 

 

댓글