[AWS] 7. AWS에 데이터베이스 환경을 만들어보자 - AWS RDS (2)

경운·2일 전
0
post-thumbnail

🐣 내 PC에서 RDS에 접속해 보기

로컬 PC에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가해야 함

EC2에 사용된 보안 그룹의 ID를 RDS 보안 그룹 인바운드로 추가

  • 유형 -> MySQL/Aurora를 선택하면 자동으로 3306 포트 설정
  • 소스 -> 사용자 지정 및 내 IP
  • 주소 -> 본인이 EC2에 사용한 보안 그룹의 ID

🐣 Database 플러그인 설치

1. RDS 정보 페이지에서 엔트 포인트 확인

이 엔드 포인트가 접근 가능한 URL이므로 잘 저장해놓자

2. Database Navigator 설치

설치가 다 되었다면 인텔리제이 재시작 한 뒤 Action 검색으로 Database Browser를 실행
(윈도우 단축키 - ctrl + shift + a)

MariaDB는 MySQL 기반이므로 MySQL을 사용하면 된다

  • Host : RDS의 엔드 포인트
  • User, Password : RDS 데이터베이스의 설정한 마스터 계정 id와 password

등록 후, Test Connection을 클릭해 연결 테스트 진행

성공이 뜬다면 Apply -> Ok 순으로 진행

3. 콘솔 생성

Open SQL Console -> New SQL Console 순서대로 진행

새로 생성될 콘솔창의 이름

4. SQL 실행

use (AWS RDS 웹 콘솔에서 지정한 데이터베이스명);

위 사진 처럼 메시지가 뜨면 쿼리가 정상적으로 수행된 것이다!

5. character_set, collation 설정 확인

show variables like 'c%';

제대로 적용되지 않은 부분 MariaDB에서만 RDS 파라미터 그룹으로 변경이 안된다
그래서 직접 변경해야한다 (character_set_database, collation_database) 변경해보자

ALTER DATABASE freelec_springboot2_webservice
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci'

정상적으로 변경되었다

6. 타임존 확인

SHOW VARIABLES LIKE '%time_zone%';

책과 약관 변경되었다. 참고하도록 하자

RDS 파라미터 그룹에서 설정한 타임존이 잘 적용된 것을 확인

7. 한글 확인

간단한 테이블 생성과 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와 잘 연동되는 지 확인해보자


🐣 EC2에서 RDS에서 접근 확인

6장에서 진행한 대로 EC2에 ssh 접속 진행
윈도우에선 putty.exe 깔았던거 실행!

한 번 노트북을 끄고 다른 장소에서 할 경우
Network error: Connection timed out 이라는 오류가 발생할 것이다
AWS 보안 그룹에서 설정해놓은 IP주소와 현재 나의 IP 주소가 달려져서 오류 날 확률이 높다
현재 IP주소를 복사해 규칙 수정해주자!

1. Mariadb 설치

앞서 말했듯이 MariaDB는 MySQL을 기반으로 만들어졌기 떄문에
MySQL CLI를 설치하여 테스트 진행하겠다
책에는 이렇게 되어있지만 sudo yum install mysql

Amazon Linux 2023 버전부터는 패키지 설치 방식과 이름이 변경되었다

새로운 명령어 sudo dnf install -y mariadb105-server 로 실행 해주자

2. RDS에 접속

mysql -u [사용자이름] -p -h [RDS 엔드포인트 주소]

우리가 생성했던 freelec_springboot2_webservice라는 데이터베이스 있는 것을 확인하였다


이제는 실제로 스프링 부트 프로젝트를 EC2에 배포하고 RDS에 접근하는 방법을 진행하고 개선해보자

0개의 댓글