Tech Collection

[AWS RDS] 데이터베이스 환경 만들기 - 무중단 배포 2 본문

Build/AWS 배포

[AWS RDS] 데이터베이스 환경 만들기 - 무중단 배포 2

eee_269 2021. 3. 10. 15:13
728x90
반응형

 

 

[AWS EC2] 서버 환경 만들기 - 무중단 배포 1

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 시큐리티를 활용한 소셜 로그인 등으로 애플리케이션을

jinny-1st.tistory.com

 

 

RDS 서비스 페이지로 들어간다.

 

 

 

MariaDB 가 Amazon Aurora와 유사하기때문에, MariaDB로 만든다.

버전 기억해놓기

 

 

DB 인스턴스 식별자는 내가 알아볼 수 있는 이름으로 해주면 된다.

마스터 사용자 이름과 마스터 암호는 꼭!!!!! 기억해놔야한다!!!!!!!!!

 

 

스토리지 크기 20GB 맞는지 확인하기

 

 

이렇게 입력했으면 데이터베이스 생성 누르기!!

 

사용가능의 상태로 바뀌기까지 시간이 좀 걸린다

이렇게 RDS가 생성되었다!!


운영환경에 맞게 설정해줘야 한다.

- 타임존 : 시간대를 Asia/Soeul 로 변경

- Character Set : 이모지도 같이 쓸 수 있는 utf8mb4 로 변경

- Max Connection : 150개의 커넥션이 가능하도록 변경

 

 

 

파라미터 그룹을 생성한다.

 

 

내가 생성했던 RDS 의 MariaDB 버전과 같은지 확인하고

이름, 설명 입력 후 생성한다.

 

 

내가 생성한 파라미터의 상세페이지에 들어가서 파라미터 편집을 누른다.

 

 

 

위와 같이 다 바꾼 후 변경 사항 저장을 눌러서 저장한다.

 

 

 

변경한 파라미터를 DB에 적용한다.

 

 

계속 눌러서 진행

 

 


EC2 페이지에서 인스턴스 상세페이지로 들어가기

인스턴스의 보안 탭에 있는 보안 그룹의 상세페이지로 들어가기

 

 

보안그룹 ID 복사한 후 RDS 페이지로 이동

 

RDS의 데이터베이스 상세페이지에서 보안그룹규칙 탭 > 보안그룹 하나 클릭 > 보안그룹 상세페이지로 이동

 

 

 

규칙 추가를 누른 후

MYSQL/Aurora 타입으로 선택하고,

ec2 인스턴스의 보안그룹 id를 넣은 규칙 한개와 내 ip를 입력한 규칙 한개를 생성한다.

 

 

그리고 규칙 저장을 누르면, 이제 인스턴스와 RDS 가 연결되었다.

 

 


 

엔드포인트를 복사해 놓는다.

 

Workbench 에서 원격 데이터베이스 사용하기

첫 화면에서 MySQL Connections 옆의 추가 버튼을 눌러준다.

 

 

해당 항목들을 채워 넣은 후 Test Connection 클릭

 

연결 성공이 뜨면 연결이 잘 된거다!!

OK 눌러서 저장하고 쓰면 된다.

 

IntelliJ 에서 database 플러그인으로 원격 데이터베이스 사용하기

ultimate 버전에서만 가능하다.

 

 

 

제일 오른쪽 사이드바를 보면 Database 탭이 있다.

 

 

 

 

Data Source > MariaDB 선택 후 정보 입력 > Test Connection

 

 

이렇게 되면 성공이다!

 

DB 추가하기 전에 Schema 탭에서 All schema 선택 > OK 누른 후 DB 추가하기

 

나처럼 Schemas가 4개밖에 없다면 하나 생성해서 거기에 테이블만들고 사용하기

 

Schema 생성

 

 

use 스키마이름;

- 사용할 스키마 지정

 

show variables like 'c%';

- character set, collation 설정 확인

 

latin1 으로 설정된 부분들만 다시 한번 더 바꿔준다.

여기서 3, 11 라인 말고 다른 부분들도 latin1 이라면 aws rds 페이지에서 데이터베이스 재부팅 후 다시 쿼리문을 실행해보자.

 

ALTER DATABASE 데이터베이스명
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';

 

적용된 사항들을 확인할 수 있다.

 

 

select @@time_zone, now();

- 타임존 확인

 

 

프로젝트 DB 설정

 

src > resources > application.properties

아래 내용 입력

# MariaDB 연결 설정
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://[ec2 엔드포인트]:3306/[사용할 db schema 이름]
spring.datasource.username=[db 마스터 이름]
spring.datasource.password=[db 마스터 비밀번호]

EC2 에서 RDS 접근하기

sudo yum install -y mysql

- MariaDB가 MySQL 기반이라 mysql 설치해서 사용

 

mysql -u 마스터사용자계정 -p -h 엔드포인트

- DB 접속

 

데이터베이스 목록을 확인 후 생성했던 POS 스키마가 있음을 확인한다.

728x90
반응형