Synology NAS 에 MariaDB 설치하기 (AWS RDS MySQL 에서 NAS MariaDB 로 마이그레이션)

iseon_u·2022년 9월 16일
0

Troubleshooting

목록 보기
7/13
post-thumbnail

https://kb.synology.com/ko-kr/DSM/tutorial/How_to_manage_MySQL_databases_on_your_Synology_NAS_with_phpMyAdmin

https://m.blog.naver.com/ahrlakffk/222097900301

https://joonius.tistory.com/11

Synology NAS 에 MariaDB 설치하기 (AWS RDS MySQL 에서 NAS MariaDB 로 마이그레이션)


AWS RDS 에서 NAS 로 마이그레이션 하는 이유

팀프로젝트 2차 개발을 마치고 이제 3차 개발을 위해 여러가지를 점검하는 중에 한가지 문제점에 봉착했다.

과금의 상태가….?

생각보다 AWS RDS 비용이 만만치 않았다… 2차 개발 직후 확인했을 땐 분명 Free tier 였는데

어느 순간 8만원이 넘는 비용이 들게 생겼다…

(다행히 Amazon이 진행하는 강의에서 준 50$ 크레딧이 보험으로 있었다)

바로 팀원들에게 이 사실을 알리고 팀원들도 생각보다 큰 비용에 당황하는 상황에서

일단 인스턴스를 종료하기로 결정했다.

나가…

대안은?

팀 프로젝트를 하면서 팀원의 실수로 데이터가 몽땅 날라갔을 때도 RDS 스냅샷을 통해 복구하고

설정도 생각보다 쉬워서 RDS 가 정말 좋은 서비스라 생각 했지만

역시 좋은 서비스는 돈이 문제였다.

이런 상황에서 팀에서 생각한 대안은

  1. 각자 로컬 DB 에서 진행
  2. 돈을 계속 지불하더라도 3차 진행까지 RDS 사용

두 방법 다 괜찮은 방법이지만 결국은 내 개인 NAS를 사용해

AWS RDS (MySQL) 에서 Synology NAS (MariaDB) 로 마이그레이션 하기로 했다

마이그레이션 진행 과정

1. 기존 RDS의 테이블 DDL 과 데이터 추출

  • 이 부분은 IntelliJ Ultimate 버전의 도움을 받았다.

2. Synology NAS 설정

  • 패키지 센터에서 MariaDB 10, phpMyAdmin 을 설치
  • MariaDB 세팅
    • 비밀번호와 포트 번호를 설정

  • MariaDB 실행 후 TCP/IP 연결 활성화 및 포트 설정
  • phpMyAdmin 세팅
    • 사용자명 - root
    • 비밀번호 - MariaDB 에서 설정한 비밀번호

3. 외부 접근을 위한 NAS DDNS 설정

  • 제어판 - 외부 액세스 - DDNS 추가

4. MySQL Workbench 또는 IntelliJ 에 연결

MySQL Workbench

  • Hostname 에 NAS IP 를 입력하는 것 외에는 기존 연결 방식과 동일하다
  • 외부에서 접근하기 위해서는 위에 설정한 DDNS 주소를 입력한다

IntelliJ 데이터베이스

  • 데이터 소스 - MariaDB 선택

  • 호스트 - NAS IP 또는 DDNS
  • 사용자 - DB ID
  • 비밀번호 - DB PW
  • 누락된 드라이버 파일 다운로드 후 연결 테스트

이후 세팅

  • 프로젝트 Dependency 세팅
    • MariaDB Dependency 추가
  • DB Source properties 파일 수정

성공적인 마이그레이션

세팅 이후 팀원들에게 부탁해 테스트를 해본 결과 정상적으로 작동하는 것을 알 수 있었다.

기존에는 사진 백업 용도로만 NAS 를 사용 했었는데

이렇게 직접 DB 서버로 사용하니 제대로 활용하는 느낌이 들어서 매우 만족스러웠다.

아쉬운 점은 만약 좋은 NAS 기기라면 Docker 를 활용해 MySQL 을 그대로 사용하는 방법도 있다고 한다.

profile
🧑🏻‍💻 Hello World!

0개의 댓글