Group Study (2024-2025)/Spring 입문

[Spring 입문] 5주차 - AWS 서버 환경을 만들어보자 - AWS RDS (7장)

hyeonseo7643 2024. 11. 5. 00:21

데이터베이스를 다루는 것은 코드를 작성하는 것만큼이나 중요하다.

-> 작은 서비스에서는 개발자가 데이터베이스를 다뤄야하기 때문

※ 따라서 이번장에서는 데이터베이스를 설치하지 않고 RDS를 활용하여 데이터베이스를 다룰 예정이다.


실습

1. RDS 인스턴스 생성하기

검색창에 rds 검색
RDS 대시보드 > 데이터베이스에서 "데이터베이스 생성"

 

1-1 엔진 옵션

MariaDB 선택

 

1-2 설정

인스턴스 식별자 / 마스터 사용자 이름 작성

마스터 암호 설정 -> 기억해두어야 함

 

1-3 스토리지

범용 SSD / 20 로 설정

 

1-4 연결

퍼블릭 엑세스 - 예 / 추가 구성 -> 데이터베이스 포트 설정

나머지는 기본 설정으로 유지

 

1-5 추가 구성

교재에서는 데이터베이스 옵션으로 되어있는데 현재에는 추가 구성에서 설정 할 수 있다.

데이터베이스 이름 설정

설정이 끝나면 데이터베이스 생성 버튼 클릭하기

 

 

2. RDS 운영환경에 맞는 파라미터 설정하기

 

 2-1. 좌측 메뉴에서 파라미터 그룹으로 이동

 

2-2. 파라미터 그룹 생성

파라미터 그룹 이름 / 설명 작성

엔진 유형 -> MariaDB

파라미터 그룹 패밀리 -> mariadb10.11 ( 이전에 선택했던 버전으로 )

 

 2-3. 파라미터 편집

- time_zone  :  Asia/Seoul

- character_set  :  urf8mb4

- max_connection  :  150

으로 설정한 뒤 변경 사항 저장

 

 2-3. 데이터베이스 > freelec-springboot2-webservice 선택 > 수정

추가 구성 > DB 파라미터 그룹 > freelec-springboot2-webservice 설정 후

즉시 적용 -> DB 인스턴스 수정

상태 표시가 수정중 -> 사용가능 되면 상단에 작업 > 재부팅

 

3. 내 PC에서 RDS 접속해 보기

3-1. 데이터베이스 상세에서 보안 > 보안 그룹

3-2. EC2에 사용된 보안 그룹의 그룹 ID 복사 ( freelec-springboot2-webservice-ec2 의 ID )

 

3-3 default 보안 그룹에서 인바운드 규칙 편집

복사한 ID / 내 ID 규칙 추가

 

3-4. Database 플러그인 설치

인텔리제이 -> 플러그인

Marketplace에서 "Database Navigator" 다운 후 재부팅

 

3-5. RDS 접속 정보 등록

DB Browser에서  "+" 버튼을 통해 생성

Name / Description 작성

Host는 데이터베이스 " 엔드포인트" 붙여넣기

Test  Connection 후 성공하면 OK눌러 생성

 

3-6. RDS 스키마 노출 후 콘솔창 생성

새로운 콘솔 생성

 

3-7. 데이터베이스 확인

use [AWS RDS에서 설정한 데이터베이스명];
>> 교재 : use freelec-springboot2-webservice;

3-8. 현재 character_set, collation 설정 확인

show variable like 'c%'

** 문장 드래그 후 실행 

character_set_database / collation_connection 항목이 latin1 인 것을 확인 가능

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

수정 후 다시 설정 확인

변경 완료

 

3-8. 타임존 확인

select @@time_zone, now();

 

3-9. 테스트 쿼리 작성

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에서 접근 확인

4-1. EC2에 mysql 설치 

// MySQL 레포지토리 지정
sudo yum install -y https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
// MySQL 서버 설치
sudo yum install -y mysql-community-server

// MySQL 서버 시작
sudo systemctl enable mysqld
sudo systemctl start mysqld

>> 버전에 따라 코드 수정

 

4-2. RDS 접속

mysql -u 'RDS계정' -p -h 'RDS엔드포인트'

비밀번호 입력 후 Enter

-> 접속 완료

 

4-3. 실제 생성 RDS 확인

show databases;