이번 포스팅에서는 AWS RDS 인스턴스를 생성하여, IntelliJ 내 프로젝트와 연동하는 과정에 대해 알아보자.
사용할 DB는 mariaDB입니다.
DB 선택 이유는 이전 포스팅에서 확인해주세요~
(이번 포스팅에서 RDS를 EC2 서버와 연결하는 것은 다루지 않습니다!)
1. AWS RDS에 접속하기
AWS 링크 👉🏻 https://ap-northeast-2.console.aws.amazon.com/
2. RDS 인스턴스 생성하기
(1) 데이터베이스 생성 버튼을 클릭한다.
(2) 데이터 생성 방식 선택 - [표준 생성] 선택
(3) 엔진 옵션 - [MariaDB] 선택
(4) 템플릿 - [프리티어] 선택
(5) 상세설정
- DM 인스턴스 클래스 : db.t2.micro -1 vCPU, 1 GIB RAM
- 할당된 스토리지 : 20
(6) 상세설정
- DB 인스턴스 식별자 : 본인의 DB 인스턴스 이름 등록
- 자격 증명 설정 : 이 정보로 실제 데이터베이스에 접근함 🙃
(7) 네트워크
- 퍼블릭 엑세스 [예]로 변경 : 보안 그룹에서 지정된 IP만 접근가능하도록 설정
(8) 데이터베이스 옵션
- 초기 데이터베이스 이름 설정
- 이외 기본값으로 설정 -> 생성 이후, 파라미터 그룹 변경을 진행할 예정입니다.
(9) 인스턴스 생성 후, 세부정보 화면 일부
3. RDS 운영환경에 맞는 파라미터 설정하기
RDS 처음 생성 시, 필수로 해야하는 설정들에 대해 알아보겠습니다.
- 타임존
- Charater Set
- Max Connection
(1) 파라미터 그룹 생성하기
(2) 파라미터 그룹 세부 정보 설정
- 파라미터 그룹 패밀리 : 위에서 생성한 Maria DB와 같은 버전으로 설정해야합니다.
(3) 파라미터 편집
- 검색을 통해 아래와 같이 변경합니다.
- 참고
utf8mb4 : utf8과 달리, 이모지 저장 가능하므로 보편적으로 많이 사용합니다.
- Max Connection을 수정합니다.
RDS 의 Max Connection은 인스턴스 사양에 따라 자동으로 정해집니다.
현재 프리티어 사양으로는 약 60개의 커넥션이 가능하기때문에 더 큰 값으로 지정해놓고, 이 후 사양을 높이면 다시 지정합니다.
(3) 생성한 파라미터 그룹을 데이터베이스에 연결합니다.
- 데이터베이스에서 수정버튼을 클릭합니다.
- 데이터베이스 옵션의 DB 파라미터 그룹을 기본값에서 변경합니다.
(4) 재부팅을 진행합니다.
4. 내 PC에서 RDS에 접속하기
RDS의 보안 그룹에 내 PC의 IP를 추가합니다.
(1) 인스턴스 상세 페이지에서 보안 그룹을 선택합니다.
(2) 보안 그룹을 생성합니다.
- 보안 그룹 이름을 설정합니다.
- 인바인드 규칙 : 접근하고자 하는 내 IP를 등록하고, 포트는 3306을 등록합니다. (MariaDB의 기본포트가 3306이기 때문입니다.)
5. IntelliJ에 Database 플러그인 설치하기
MySQL의 GUI 클라이언트로 많이 사용하는 Workbench,, 를 사용해도 상관없습니다.
여기서는 IntelliJ에 Database 플러그인을 설치해서 진행합니다.
(1) IntelliJ에서 Command+Shift+A를 통한 Action 검색에서 plugins를 검색합니다.
- Database Navigator를 검색해서 install합니다.
(2) IntelliJ 재시작을 한 뒤, Action 검색으로 Database Browser를 실행합니다.
(3) 왼쪽 사이드바에 노출된 DB Browser를 클릭합니다.
(4) + 버튼에서 MySQL을 선택합니다 : MariaDB는 MySQL 기반이기 때문입니다.
(5) RDS 접속 정보 등록하기
Host : RDS 상세정보페이지에서 엔드포인트 정보를 복사하여 사용합니다.
Port : 3306을 입력합니다. (기본값)
User/Password : RDS의 상세설정에서 입력했던 자격 증명 정보를 입력합니다.
6. 새로운 콘솔창을 만들어서 쿼리가 정상적으로 수행되는지 테스트해보자.
(1) New SQL console .. 에서 sea2 콘솔 생성
(2) use [AWS RDS 데이터베이스명];
7. 데이터베이스가 선택된 상태에서 현재의 설정을 확인 후, 변경사항 적용하기.
-RDS 파라미터 그룹으로는 변경이 안되는 값들이 있습니다.
MariaDB에서 character_set_database, collation_connection 항목의 기본값이 latin1로 설정됩니다.
그래서 직접 변경해주는 쿼리를 작성합니다.
// 데이터베이스 선택
use [AWS RDS 데이터베이스명];
// 현재 character_set, collation 설정 확인
show variables like 'c%';
// 변경 사항 적용
alter database [AWS RDS 데이터베이스명]
character set = 'utf8mb4'
collate = 'utf8mb4_general_ci';
// 타임존 확인
select @@time_zone, now();
8. 인코딩 설정 내용 테스트하기
- 한글 설정이 잘 되었는지 확인합니다.
- 테이블 생성은 인코딩 설정 변경 전에 생성되면 안됩니다.
만약, 변경 전에 테이블이 생성되면, 만들어질 당시의 설정값을 그대로 유지하고 있기 때문에, 강제로 변경해야하기 때문입니다.
이번 포스팅에서는 내 PC 에서 RDS 접속하는 상세설정에 대한 부분을 알아보았습니다.
Reference
📘 스프링부트와 AWS로 혼자 구현하는 웹 서비스
'Infra & Tools > AWS' 카테고리의 다른 글
AWS EC2, RDS, S3에 대해 알아보자. (0) | 2020.07.25 |
---|---|
클라우드 컴퓨팅에 대해 알아보자. (0) | 2020.07.23 |
호스팅 서비스가 뭘까? (feat. 웹호스팅과 서버호스팅) (0) | 2020.07.23 |