서비스를 운영하다 보면 많은 데이터의 저장이 요구되며, 만약 EC2에 문제가 생기면 데이터 베이스에도 접근하지 못 하는 문제가 발생한다.
그러므로 기본 서버와 데이터 베이스 서버를 분리해서 관리해준다.
이렇게 데이터베이스를 분리함으로써 얻는 이점은 다음과 같다.
아마존에서는 이렇게 데이터베이스를 분리해서 관리할 수 있도록 RDS라는 서버를 제공해준다.
AWS에 들어가서 RDS서비스를 선택하고 데이터베이스를 생성한다.
표준 생성으로 MySQL 8.0.28 버전을 이용하였다.
템플릿은 프리 티어로 선택을 한다.
DB 인스턴스 식별자를 자유롭게 정해주고, 데이터베이스 마스터 사용자 계정을 생성한다.
프리티어의 스토리지 최대 할당량은 20GB라고 한다.
외부에서 데이터베이스에 접속할 수 있도록 퍼블릭 액세스 가능을 '예'로 설정합니다.
필자는 'cxxerryVPC'라는 VPC 보안 그룹을 새로 만들었다.
데이터베이스 인증을 암호 인증으로 선택했다.
초기 데이터베이스 이름을 지정해야되기 때문에 추가 구성을 해준다.
이제 데이터베이스 생성을 누르고 생성되는 동안 기다려준다.
다음과 같이 사용가능 표시가 나오면 데이터 베이스 구축이 완료된 것이다.
RDS를 처음 생성하면 몇 가지 설정을 필수로 해야한다.
1. 타임존
2. Character Ser
3. Max Connection
설정을 하기 위해 왼쪽 카테고리에서 [파라미터 그룹] 을 클릭해서 이동한 후, [파라미터 그룹 생성] 버튼을 누른다.
파라미터 그룹 패밀리는 생성한 데이터베이스의 버전과 맞추면 된다.
데이터베이스로 돌아가서 생성했던 database-1을 수정해준다.
[데이터베이스 옵션] 화면에서 DB 파라미터 그룹을 방금 생성한 신규 파라미터 그룹으로 변경한다.
최하단의 [계속] 버튼을 누르면 다음과 같이 수정 사항이 요약된 것을 볼 수 있다.
여기서 반영 시점을 [즉시 적용]으로 한다.
상태가 '수정 중'에서 '사용 가능'으로 변경된다면 이제 데이터베이스를 사용할 수 있다.
DataGrip으로 접속하여 rds를 사용할 계획이다.
사용하고자 하는 rds를 선택해준다.
inbound규칙 편집을 위해 다음을 선택한다.
다음과 같이, 내 IP에서만 접근할 수 있도록 인바운드규칙을 편집해준다.
다음의 host칸에 rds의 엔드포인트를 넣어준다.
rds의 엔드포인트는 다음과 같다.
rds 생성시 정했던 마스터 사용자 이름과 비밀번호를 입력한다.
접속 확인을 해보니 다음과 같이 Test Connection의 결과가 성공했다.
sql문으로 test 해보았다.