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에서 접속
접속 명령어:
1
mysql -u [마스터 계정] -p -h [Endpoint]
잘 접속된다. show databases;
로 최초 데이터베이스도 확인해 보자
:)
5-3 DBeaver에서 접속
:)