데이터베이스를 다루는 것은 코드를 작성하는 것만큼이나 중요하다.
-> 작은 서비스에서는 개발자가 데이터베이스를 다뤄야하기 때문
※ 따라서 이번장에서는 데이터베이스를 설치하지 않고 RDS를 활용하여 데이터베이스를 다룰 예정이다.
실습
1. RDS 인스턴스 생성하기
1-1 엔진 옵션
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;
'Group Study (2024-2025) > Spring 입문' 카테고리의 다른 글
[Spring 입문] Toy Project - Team 하와수 (1) | 2024.12.04 |
---|---|
[Spring 입문] 6주차 - EC2 서버에 프로젝트를 배포해 보자 (3) | 2024.11.10 |
[Spring 입문] 5주차 - AWS 서버 환경을 만들어보자 - AWS EC2 (4) | 2024.11.03 |
[Spring 입문] 4주차 - 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (1) (2) | 2024.10.29 |
[Spring 입문] 4주차 - 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (2) (0) | 2024.10.28 |