로컬 PC에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가해야 함
EC2에 사용된 보안 그룹의 ID를 RDS 보안 그룹 인바운드로 추가
이 엔드 포인트가 접근 가능한 URL이므로 잘 저장해놓자
설치가 다 되었다면 인텔리제이 재시작 한 뒤 Action 검색으로 Database Browser를 실행
(윈도우 단축키 - ctrl + shift + a)
MariaDB는 MySQL 기반이므로 MySQL을 사용하면 된다
등록 후, Test Connection을 클릭해 연결 테스트 진행
성공이 뜬다면 Apply -> Ok 순으로 진행
Open SQL Console
-> New SQL Console
순서대로 진행
새로 생성될 콘솔창의 이름
use (AWS RDS 웹 콘솔에서 지정한 데이터베이스명);
위 사진 처럼 메시지가 뜨면 쿼리가 정상적으로 수행된 것이다!
show variables like 'c%';
제대로 적용되지 않은 부분 MariaDB에서만 RDS 파라미터 그룹으로 변경이 안된다
그래서 직접 변경해야한다 (character_set_database, collation_database) 변경해보자
ALTER DATABASE freelec_springboot2_webservice
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci'
정상적으로 변경되었다
SHOW VARIABLES LIKE '%time_zone%';
책과 약관 변경되었다. 참고하도록 하자
RDS 파라미터 그룹에서 설정한 타임존이 잘 적용된 것을 확인
간단한 테이블 생성과 insert 쿼리 실행
CREATE TABLE test (
id bigint(20) NOT NULL AUTO_INCREMENT,
content varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
insert test(content) values ('테스트');
select * from test;
한글 데이터도 잘 등록되는 것을 확인하였다
RDS에 대한 모든 설정이 끝났다
설정된 RDS가 EC2와 잘 연동되는 지 확인해보자
6장에서 진행한 대로 EC2에 ssh 접속 진행
윈도우에선 putty.exe 깔았던거 실행!
한 번 노트북을 끄고 다른 장소에서 할 경우
Network error: Connection timed out 이라는 오류가 발생할 것이다
AWS 보안 그룹에서 설정해놓은 IP주소와 현재 나의 IP 주소가 달려져서 오류 날 확률이 높다
현재 IP주소를 복사해 규칙 수정해주자!
앞서 말했듯이 MariaDB는 MySQL을 기반으로 만들어졌기 떄문에
MySQL CLI를 설치하여 테스트 진행하겠다
책에는 이렇게 되어있지만 sudo yum install mysql
Amazon Linux 2023 버전부터는 패키지 설치 방식과 이름이 변경되었다
새로운 명령어 sudo dnf install -y mariadb105-server
로 실행 해주자
mysql -u [사용자이름] -p -h [RDS 엔드포인트 주소]
우리가 생성했던 freelec_springboot2_webservice라는 데이터베이스 있는 것을 확인하였다
이제는 실제로 스프링 부트 프로젝트를 EC2에 배포하고 RDS에 접근하는 방법을 진행하고 개선해보자