Infra/AWS

AWS - RDS 생성

now0204 2024. 5. 9. 15:04

 

RDS란?

MySQL,MariaDB등 여러 관계형 데이터 베이스 서비스를 AWS로부터 빌려서 사용하는 관계형 데이터베이스 서비스이다.

 

  • 서비스를 배포할 때 DB도 같이 배포해줘야한다. 이때 RDB를 자주 사용하는데, 자동 백업, 모니터링, 다중 AZ등 다양한 부가 기능을 제공하기 때문이다.
  • 물론 EC2에 백엔드 서버와 MySQL을 같이 설치해서 사용하면, 비용 절감 등의 장점도 있다.
  • 하지만, 백엔드 서버의 장애로 서버가 다운되었을 때 DB도 같이 날아가는 불상사를 겪을 수 있다. 
  • 현업에서도 EC2와 RDS를 분리해서 인프라를 구성하는 경우가 대부분이라 한다.

1. RDS 생성하기 

 

  • 먼저 RDS 서비스로 이동해서 Region을 선택하고, 데이터 베이스 생성을 누른다.

  • 다음으로 템플릿을 선택한다.

  • 학습용이므로, 프리티어 선택 -> 프리티어로도 꽤 괜찮게 사용가능하다 (하루 방문자 수 2000명 서비스까지 버틴다고함)

  • 다음으로 사용자와 패스워드 DB 인스턴스명을 작성하자. 
  • 마스터 사용자 이름과 마스터 암호는 따로 적어두는 편이 좋다.

  • 인스턴스 구성과 스토리지는 그대로 두고 
  • 연결탭에 퍼블릭 엑세스를 예로 체크하자. 다양한 환경에서 편리하게 DB에 접근 할 수 있게 된다.
  • 추후 보안을 위해 퍼블릭 엑세스를 아니오로 체크하기도 한다. -> 퍼블릭 액세스가 가능하다고 해도 엄청 보안상 위험한건 아니다

  • 데이터베이스 인증, 모니터링은 기본 값으로 두고 
  • 비용 같은 경우 프리티어일 경우에도 비용이 발생한다고 한다. (24년 2월 정책 변경) 엄청 많이 나오는 건 아니지만, 조심해야함!!! 

2. 보안그룹 설정하기

  • RDS는 데이터베이스 전용 EC2라고 받아들이면 생각하기 편하다! 
  • EC2에서 그랬던 것 처럼 RDS에 보안그룹을 설정해줘야한다.
  • EC2 보안 그룹 메뉴로 가자 

  • 다음으로 인바운드 아웃바운드 규칙을 설정하자
  • 별도의 포트를 설정하지 않았다면, RDS의 MySQL은 3306 포트에서 실행된다. DB에 접근하기 위해 3306포트 인바운드 규칙을 추가해주자 
  • 인바운드 규칙의 IP는 일단 모든 IP허용으로 두었지만, 추후에 보안을 위해 DB에 접근할 IP만 따로 지정해도 된다.
  • 생성한 보안드룹을 RDS에 붙이자 

 


 

3. 파라미터 그룹 추가하기 

  • 각 DB마다 다양한 설정을 해줄 수 있다.
  • 이를 설정해줘야 제대로 사용할 수 있다.

 

  • RDS와 연결된 DB에 맞게 패밀리와 엔진타입을 설정하자 
  • 생성된 파라미터 그룹에 편집을 누르자 

  • 아래 속성 전부 utf8mb4로 설정하기
    • character_set_client
    • character_set_connection
    • character_set_database
    • characater_set_filesystem
    • characater_set_results
    • character_set_server

* utf8 대신에 utf8mb4를 사용하는 이유는 ‘한글’ 뿐만 아니라 ‘이모티콘’도 지원이 가능하도록 하기 위해서이다.

 

  • 아래 속성 전부 utf8mb4_unicode_ci로 설정하기 (정렬 관련 설정)
    • collation_connection
    • collation_server

* utf8mb4_unicode_ci은 정렬, 비교 방식을 나타낸다.

 

  •  time_zone을 Asia/Seoul로 설정하기

 

  • 마지막으로 RDS의 파라미터 그룹을 변경하자 

 

주의) DB 파라미터 그룹을 변경한 뒤에는 RDS의 DB를 재부팅해야만 정상적으로 적용된다.

 


 

4. RDS에 접속하기 

  • DB클라이언트 프로그램을 이용해서 손쉽게 접속할 수 있다.

 

  • Server HOSt RDS의 엔드포인트 입력
  • Username 마스터 사용자 이름 
  • Password 마스터 암호 

5. RDS 삭제하기 (중요)

 

 

  • RDS를 삭제할 때 최종 스냅샷과 자동 백업 보존에 체크를 풀지 않으면 비용이 나간다. 실제 운영용 데이터 베이스가 아니라면, 체크를 해제하고 삭제하도록 하자