티스토리 뷰

배포

AWS RDS 사용하기

도라지보다더덕 2020. 8. 28. 01:58

 

 

AWS RDS

 

 

이전에 AWS EC2 인스턴스를 생성하고 여러 설정들을 했습니다. 이제 데이터 베이스 서버를 설정할 차례입니다. 데이터 베이스 서버는 AWS 관계형 데이터 베이스 서비스인 RDS를 사용해 구축합니다. 프리티어로 사용할 경우 EC2와 마찬가지로 무료이기 때문에 학습용으로 적합합니다.

 

 

 

1. RDS 생성

 

콘솔로 로그인하여 검색창에 RDS를 검색하고 클릭하면 다음과 같은 화면이 나옵니다. 화면 아래부분에 있는 데이터베이스 생성을 클릭해주세요.

 

 

클릭하고 엔진 옵션을 보면 여러 엔진이 있습니다. 저는 MariaDB를 사용하겠습니다. 무료로 사용하기 위해 프리 티어로 선택해주세요.

 

아래는 설정란입니다. 식별자는 본인 프로젝트 이름을 써주시고 나머지를 모두 작성하고 기억해주세요. 나중에 디비에 접속 시 필요합니다.

 

 

 

연결 탭에서 퍼블릭 액세스 가능에 '예'를 체크해주세요. 나중에 보안 그룹 설정에서 다시 설정할 예정입니다.

 

 

 

데이터 베이스 이름을 설정해주세요. 그리고 파라미터 그룹을 디폴트로 설정한 다음 데이터 베이스를 생성해주세요.

 

 

데이터 베이스를 생성했으면 몇 가지 설정을 해야합니다. 이 때 파라미터 그룹을 사용하면 쉽게 설정할 수 있습니다. 

아래 세가지를 먼저 설정하겠습니다.

  • 타임존
  • Character set
  • max connection

좌측 메뉴에서 파라미터 그룹을 클릭하고 파라미터 그룹 생성하기를 눌러주세요. 다음과 같은 화면이 나옵니다.

이 때 파라미터 그룹 패밀리는 위에서 생성한 디비 버전과 일치하게 해주세요.

 

 

 

 

 

생성된 파라미터 그룹을 클릭하고 편집하기를 눌러주세요. 그 후 검색창에 time_zone을 검색하시면 다음과 같이 나옵니다.

Asia/Seoul로 설정해주세요.

 

 

 

 

마찬가지로 character을 검색하시고 아래 5가지 항목을 utf8mb4로 바꿔주세요. 

 

 

 

 

 

 

설정을 완료했으면 다시 데이터베이스로 돌아가 DB 파라미터 그룹을 방금 생성한 파라미터 그룹으로 설정해주세요. 

 

 

적용 시 즉시 적용을 눌러 바로 적용되도록 하고 서버 재부팅을 한번 진행해 주세요.

 

 

 

2. 보안설정

 

파라미터 설정을 마쳤으면 다음은 보안그룹 설정입니다. 데이터베이스로 돌아가 아래 화면 보안그룹을 클릭해주세요.

 

 

 

 

 

인바운드 규칙 추가를 하여 내 iP 주소와 EC2 인스턴스의 보안그룹 Id를 추가해주세요.

(EC2 인스턴스의 보안그룹 Id를 추가해야 EC2에서 RDS로 접근 가능합니다)

 

 

 

3. 로컬환경에서 접속

위 과정을 모두 했으면 IDE로 돌아와 connection Test를 해봅니다.

 

저는 intellij 플러그인인 Database Navigator가 다운받아져있으므로 없으신 분들을 다운받은 뒤 Action 검색을 통해 

Database Browser를 실행해주세요. 

 

 

 

그 후 New Connection을 하여 MySQL로 생성해주세요. (MariaDB는 MySQL 기반이라 MySQL로 선택했습니다)

 

클릭 후 생성 창에서 Host에 RDS의 엔드포인트를 적고 마스터 사용자 id와 비밀번호를 적은 뒤 Test Connection을 진행해보세요.

(엔드 포인트는 RDS 세부정보에 있습니다.)

 

 

성공적으로 test connection이 연결되었다면 console을 생성해주세요.

 

 

 

 

생성한 콘솔에서 다음과 같은 쿼리를 날려줄겁니다.

 

 

use springboot2_davinci_webservice;  #데이터 베이스를 선택합니다.

show variables like 'c%'; 			#Character Set을 보여줍니다.

ALTER DATABASE springboot2_davinci_webservice		#설정이 안된 character set을 직접 변경해줍니다.
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';

CREATE TABLE test (						#테이블 생성
    id bigint(20) NOT NULL AUTO_INCREMENT,
    content varchar(255) DEFAULT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB;

insert into test(content) values('테스트');	#한글 입력

select * from test;						#결과 화면

 

 

 

다음과 같이 한글입력이 제대로 됨을 볼 수 있습니다.



 

 

4. EC2에서 RDS 접속

 

 

마지막으로 EC2 인스턴스에서 RDS로 접근해보겠습니다. 이전에 ssh로 접속했던 것처럼 접속해주시고 mysql을 설치해주세요.

 

 

설치과 완료됐으면 다음과 같이 연결을 시도해봅니다. 비밀번호를 입력하라고하면 입력해주세요.

 

 

연결 성공 시 show databases;를 통해 데이터베이스를 확인해봅시다.

 

 

 

 

😎성공적

 

 

 

 

 

 

 

 

 

reference


 

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

 

 

 

 

 

 

 

 

 

 

 

'배포' 카테고리의 다른 글

CI/CD 적용하기  (0) 2020.09.04
EC2에 배포하기  (0) 2020.09.01
AWS 사용하기  (0) 2020.08.26
클라우드 서비스  (0) 2020.08.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함