AWS → IDC/In-house 인프라 이전·비용 절감
DB 부하를 먼저 분산한 뒤 IDC로 이전하고, AWS에는 운영 DB를 남겼습니다.
작업 요약
AWS DB 월 비용 5,000만원 초과 → 300만원 미만
처음 마주한 문제
시작은 AWS 비용이었습니다. 수집·배포·운영(prod) 데이터가 AWS EC2에 직접 설치한 MySQL 인스턴스 하나에 통으로 들어 있어 데이터가 늘수록 과금이 따라 늘었고, 비용 문제로 그 구성 그대로 사내 범용 PC의 M.2 SSD로 옮겼습니다. 그러자 다른 문제가 생겼습니다. 크롤러가 몰리는 시간대에 DB 쓰기와 디스크 I/O가 겹쳤고, 발열이 올라가면 서버 전체가 멈춰 한 달에 10~20번씩 운영 이슈가 생겼습니다.
syslog, 실행 시간대, 네트워크 상태를 함께 확인해 수집 집중 시간과 장애 시점을 대조했습니다.
먼저 멈추지 않게 만들기
새 서버를 바로 들일 수는 없었기 때문에 수집 스케줄을 먼저 분산했습니다. 동시에 돌던 작업을 시간대별로 나누고, 무거운 작업이 한 장비에 몰리지 않도록 실행 순서를 조정했습니다.
IDC로 옮긴 과정
스케줄 조정은 임시방편이라고 판단했습니다. 서버 도입을 요청하고, 인스턴스 하나가 다 감당하던 구조를 수집 DB·배포 DB·운영 DB로 분리해 수집 부하가 배포·운영 조회를 방해하지 않게 만들었습니다. IDC 환경에 DB primary/replica, 수집 서버, 백업·복구 경로와 모니터링을 다시 구성했습니다.
- 현황 확인
syslog·네트워크·부하 시간대 점검
- 임시 안정화
수집 스케줄 분산
- IDC 구축
서버·DB·백업·모니터링 구성
- 이관 검증
데이터 정합성 확인 후 전환
이관을 마친 뒤에는 운영(prod) DB가 있는 EC2만 AWS에 남기고 다른 EC2 인스턴스를 정리해 월 AWS 비용을 약 94% 줄였습니다.
결과
제가 맡은 부분
증상 확인과 스케줄 조정, IDC 서버 도입 요청, 데이터 이관과 검증, DB·백업·모니터링 재구성을 맡았습니다. 서비스 중단을 줄이기 위해 수집 스케줄부터 조정한 뒤 장비와 DB를 이전했습니다.