본문으로 바로가기
728x90

Chapter 07

AWS에 데이터베이스 환경을 만들어보자 - AWS RDS

 

RDS란? AWS에 지원하는 관리형 서비스로 클라우드 기반 관계형 데이터베이스

          하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 개발자가 개발에

          집중할 수 있게 지원하는 서비스

 

 

RDS 인스턴스 생성하기

 

AWS 검색창에 rds -> 데이터베이스 생성 -> 엔진 유형 : Maria DB 선택 / 템플릿 : 프리 티어

 

나머지는 아래와 동일하게 작성

 

 

이후, DB를 생성하면 된다.

 

 

RDS 운영환경에 맞는 파라미터 설정

 

왼쪽 탭에서 파라미터 그룹 -> 파라미터 그룹 생성 -> freelec-springboot2-webservice 이름으로 생성

-> 생성된 파라미터 그룹 선택 -> 파라미터 편집

 

- time_zone 변경

 

-Charcter Set  6개의 항목 utf8mb4로 변경

 

 

-collation 2개 항목 utf8mb4_general_ci로 변경

 

 

-Max Connection 수정

 

 

파라미터 그룹을 데이터베이스에 연결하기

 

데이터베이스 탭에서 해당 db를 선택한 후 수정을 누른다.

 

이후 설정을 아래와 같이 변경한다.

 

 

정상 적용을 위해 재부팅까지 진행한다.

 

 

 

내 PC에서 RDS에 접속해 보기

 

- RDS의 보안 그룹에 본인 PC의 IP 추가

 

RDS의 세부정보 -> 보안 그룹 클릭 -> 보안 그룹 목록 중 EC2에서 사용된 보안 그룹 ID 복사

 

아래와 같이 EC2 보안 그룹의 인바운드로 추가

 

 

Database 플러그인 설치

 

AWS의 홈페이지 -> RDS 이동 -> 엔드포인트 확인(메모장에 복사해두기) 

인텔리제이에서 database 플러그인 검색해 Database Navigator 설치

 

설치 이후, Action -> Database Browser 실행

 

+를 눌러 MySQL을 선택한다. MariaDB는 MySQL 기반으므로 사용가능

 

Host에 방금 전 복사한 RDS의 엔드포인트를 등록 -> Test Connection -> Apply/Ok

 

 

오른쪽에서 3번째에 위치해 있는 Open SQL Console -> New SQL Console 클릭

 

 

아래와 같이 sql문을 삽입 후 실행

 

다음으로 아래의 명령어로 character_set, collation 설정을 확인 후

latin1으로 되어있는 값을 변경하기로 한다.

show variables like 'c%';

 

아래의 명령어를 입력 후 다시 확인해보면 성공적으로 변경된 것을 확인할 수 있다.

alter database freelec_springboot_webservice
character set='utf8mb4'
collate='utf8mb4_general_ci';

 

- 타임존 확인

select @@time_zone, now();

 

- 한글 테스트

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;

 

EC2에서 RDS에서 접근 확인

 

6장에서 진행한 대로 EC2에 ssh에 접속

 

끊임없는 아래와 같은 오류로 이틀간 삽질을 했다.

 

결국은 인스턴스를 새로 만들어서 겨우 작동하게 되었다.

 

-먼저 MySQL CLI 설치

sudo yum install mysql

 

- 계정, 비밀번호, 호스트주소를 사용해 RDS에 접속 (intellij에서 DB Browser에서의 정보)

 

 

이제 간단한 쿼리로 데이터베이스의 목록을 확인할 수 있다.

 

728x90