Summary
AWS RDS를 활용하여 팀 프로젝트에서 MySQL 데이터베이스를 공유하기 위한 설정 가이드이다. 계정 생성부터 데이터베이스 인스턴스 생성, 파라미터 그룹 설정(한국 시간대, UTF8MB4 인코딩), 인바운드 보안 그룹 규칙 설정까지 전 과정을 다룬다. 터미널과 DBeaver를 통한 접속 확인 방법도 포함하여 실무에서 바로 활용 가능한 완전한 가이드를 제공한다.
Intro
프로젝트중 AWS RDS를 사용해 팀원들끼리 원활하게 데이터베이스를 공유하고자 한다.
AWS RDS 생성
1. 계정 생성
1-1. AWS에 접속 후 회원가입 진행
- 신용카드 인증
- 핸드폰 인증 등이 필요한데 굉장히 귀찮다,,
1-2. 계정 생성 후 첫화면

1-3. 지역 변경
최초 계정이 생성되면 지역이 N.California로 설정되있다. 우리에게 가까운 Seoul지역으로 변경하자.

2. 데이터베이스 생성
2-1. RDS Service로 이동

2-2. 데이터베이스 생성 클릭

2-3. 데이터베이스 설정
파랑: 확인해보고 넘어갈 사항(필요시 변경)
빨강: 프리티어를 위해 변경이나 입력해야하는 사항

각 번호별 설명은 나중에 하겠다..
2-4. 데이터베이스 생성 확인
위 과정을 하면 AWS RDS 데이터베이스 페이지로 넘어오고, 내가 생성한 데이터베이스가 Creating중인것을 확인할 수 있다.

기다리면 이렇게 바뀐다!

3. 파라미터 그룹 설정
파라미터 그룹(Parameter Group) 이란?
파라미터 그룹은 RDS 데이터베이스 인스턴스의 동작을 제어하기 위해 사용되는 설정 모음이다. 각 데이터베이스 엔진에는 수많은 설정(파라미터)이 있으며, 이러한 설정을 튜닝하여 데이터베이스의 성능, 내구성, 보안 등을 조정할 수 있다. 파라미터 그룹을 사용하면 이러한 설정을 관리하고 조정할 수 있다.
RDS는 기본 파라미터 그룹을 제공하며, 이를 기반으로 새로운 파라미터 그룹을 생성하거나 기존 파라미터 그룹을 수정할 수 있다. 파라미터 그룹은 특정 데이터베이스 엔진 및 버전과 연결되며, 인스턴스가 해당 파라미터 그룹을 사용하도록 설정해야 한다. 그런 다음 파라미터 그룹의 설정을 수정하여 데이터베이스 동작에 영향을 줄 수 있다.
우리는 기본 파라미터를 기반으로 쓰되, 서버시간: 한국시간, 인코딩:utf8mb4(한글+특수기호)로 설정하려 한다.









4. 인바운드 보안 그룹 규칙 설정
인바운드 규칙(Inbound Rules)이란?
RDS 인스턴스에는 보안 그룹(Security Group)이라는 가상 방화벽이 있다. 인바운드 규칙은 이 보안 그룹에서 정의되며, 데이터베이스 인스턴스로 들어오는 네트워크 트래픽을 제어한다. 인바운드 규칙은 특정 IP 주소 또는 IP 범위에서 인스턴스로의 접근을 허용하거나 거부할 수 있다.
예를 들어, RDS 인스턴스에 웹 애플리케이션이 호스팅되어 있다면, 인바운드 규칙을 사용하여 웹 애플리케이션 서버의 IP 주소에서만 데이터베이스로의 접근을 허용할 수 있다. 이를 통해 인스턴스에 불법적인 액세스가 제한되고 보안이 강화된다.
인바운드 규칙은 RDS 인스턴스가 속한 보안 그룹에서 구성되며, 필요에 따라 규칙을 추가, 수정 또는 삭제할 수 있다. 인바운드 규칙을 구성할 때는 프로토콜 (예: TCP, UDP), 포트 범위, 출발지 IP 주소 또는 IP 범위 등을 지정해야 한다.
여러 팀원들이 학원과 집을 오가며 쓸 것이기에 일일히 IP번호를 따지 않고, 모든 IP에서 접속 가능하게 하려고 한다. 만약, 보안을 신경쓰고 싶다면 IP를 따로 설정해주면 된다.




인바운드 규칙:
Type: Custom TCP
Port range: 3306 (데이터베이스 생성시 지정한 포트번호) (기본 MySQL 포트번호인 3306으로 생성했었다)
Source: Anywhere-IPv4
하나 더 생성해서 Anywhere-IPv6도 생성했지만 굳이 필요없을것 같다
아웃바운드 룰은 기본적으로 모든 traffic이 열려있음으로 확인만 하고 넘어간다.
5. 접속 확인
5-1. 접속 정보
접속하기 위해 4가지 정보(마스터 아이디, 비밀번호, 엔드포인트, 포트번호)가 필요하다.
마스터 아이디와 패스워드는 데이터베이스 생성시 지정해줬고, 포트번호도 기본으로 설정했었다.
endpoint와 포트번호는 다음 화면에서 확인 할 수 있다.


5-2 Terminal에서 접속
접속 명령어:
mysql -u [마스터 계정] -p -h [Endpoint]

잘 접속된다.
show databases;로 최초 데이터베이스도 확인해 보자

:)
5-3 DBeaver에서 접속

:)