AWS RDS 구축(따라해보고 테스트)
데이터베이스의 분리
AWS에 들어가서 우선 RDS 서비스를 선택하고 데이터 베이스를 생성합니다.

필자는 표준 생성으로 MySQL 8.0.20 버전을 이용하였습니다.

우선 프리 티어로 선택을 합니다. ( 이미 rds가 있다면 두 번째 인스턴스부터는 프리 티어 설정 못함)

DB 인스턴스 식별자를 자유롭게 정해주고, 데이터베이스 마스터 사용자 계정을 생성합니다.
프리티어는 버스터블 클래스밖에 선택하지 못합니다.

AWS의 RDS는 표준, 메모리 최적화 및 버스트 성능의 3가지 인스턴스 클래스 유형을 지원합니다.
( 버스트 : 특정 기준에 따라 한 단위로서 취급되는 연속된 신호나 데이터의 모임 )
그중 db.t2는 CPU 사용률을 최대로 버스트할 수 있는 기능을 통해 기준 성능 수준을 제공하는 현재 세대 인스턴스 클래스입니다.
다른 클래스에 대한 설명 링크는 다음과 같습니다.
docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
프리티어의 스토리지 최대 할당량은 20GB라고 합니다.

외부에서 데이터베이스에 접속할 수 있도록 퍼블릭 액세스 가능을 '예'로 설정합니다.
필자는 'luminVpC'라는 VPC 보안 그룹을 새로 만들었습니다.

필자는 데이터 베이스 인증을 암호 인증으로 선택했습니다.

추가 구성을 꼭 하는것을 권장합니다.
그 이유는 초기 데이터베이스 이름을 지정해야 하기 때문입니다.

이제 데이터 베이스 생성을 누르고 생성되는 동안 기다립니다.

생성되는데 약간의 시간이 걸립니다.
다음과 같이 사용가능 표시가 나오면 데이터 베이스 구축이 완료된 것입니다.

RDS를 처음 생성하면 몇 가지 설정을 필수로 해야 합니다.
파라미터 그룹 탭 선택 후 파리미터 그룹 생성
파라미터 생성 완료
파라미터 편집
타임존 수정
Charcater Set utf8mb4 설정
utf8은 이모지를 저장할 수 없지만, utf8mb4는 이모지를 저장할 수 있다.
collation_server utf8mb4_general_ci 설정
max_connections 설정
RDS 사양에 따라 변경하면 된다.
데이터베이스 수정
데이터베이스 옵션 변경
수정 사항 즉시 적용
수정 적용 후 DB 인스턴스 재부팅 실행
로컬 PC에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가하겠습니다.
VPC 보안 그룹 설정
EC2의 보안 그룹 복사
RDS 보안 그룹 인바운드 수정
- EC2의 보안 그룹 추가
- EC2와 RDS 간에 접근 가능
- 현재 내 PC의 IP를 등록
인텔리제이 Database 플로그인로 로컬 접속을 해보겠습니다.
Database 플러그인 설치
RDS 접속 정보 등록
데이터베이스 확인
설정 확인use springboot_webservice; show variables like 'c%';
- character_set_database, collation_connection 2가지 항목이 Iatin1로 되어있습니다.직접 변경해야한다.
ALTER DATABASE springboot_webservice CHARACTER SET = 'utf8mb4' COLLATE = 'utf8mb4_general_ci';
character set 변경 성공
타임존 확인select @@time_zone, now();
테스트 테이블 생성CREATE TABLE test ( id bigint(20) NOT NULL AUTO_INCREMENT, content varchar(255) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB;
로컬에서 RDS와 잘 연결되는지 확인했습니다.