AI Briefing

뱅크샐러드, AWS DMS로 RDS 클러스터 50개 통합해 비용 1/3 절감

·2023.07.19 09:00

핵심 내용

뱅크샐러드가 AWS DMS를 활용해 50여 개의 RDS 클러스터를 도메인 단위 5~10개로 통합해 비용을 1/3로 줄였다.

자세히 보기

뱅크샐러드 Core Infra 팀은 MSA 아키텍처 운영 중 서비스별 개별 RDS 클러스터 사용으로 인한 자원 비효율성을 해결하기 위해 AWS DMS를 도입했다. 실제 사용량이 10% 미만인 t3.small 인스턴스 다수를 큰 도메인 단위 클러스터로 통합하는 전략을 수립했다.

RDS 통합 전략과 비용 절감

기존 약 50개 이상의 RDS 클러스터를 업무 도메인(curation, 건강, 자산 등)별로 5~10개 수준으로 축소했다. 이 과정을 통해 RDS 클러스터 유지 비용을 작업 전 대비 1/3로 감소시켰으며, 도메인 단위 장애 전파 차단 효과는 유지했다.

AWS DMS 적용 및 문제 해결

DMS는 N:1 클러스터링과 CDC(Change Data Capture) 기능을 지원해 최소한의 서비스 중단으로 이관을 가능하게 했다. 이관 과정에서 발생한 주요 문제와 해결책은 다음과 같다.

  • 높은 부하: DMS 작업으로 인한 CPU 100% 도달 문제를 해결하기 위해 Source와 Target 인스턴스를 Peak 사용량의 2배 이상으로 Scale-up했다.
  • Binary Log 제한: Aurora MySQL의 168시간(7일) 보존 기간 제한으로 Full Load 실패 위험이 있었으나, r5.8xlarge 스펙 업그레이드와 Limited LOB Mode 적용으로 7일 내 완료했다.
  • 데이터 검증: 야간 점검 시 트래픽 차단 후 Row Count 비교 및 Sampling을 통해 정합성을 검증했다.

DMS 사용 팁 및 에러 대응

DMS 설정 시 Target 엔드포인트에 initstmt=SET FOREIGN_KEY_CHECKS=0을 추가해 FK 제약 조건 위반 에러를 방지했다. 또한, NOT NULL 제약이 있는 JSON 컬럼의 LOB 데이터 처리 시 Target 컬럼을 일시적으로 Nullable로 변경하는 방식으로 에러를 해결했다. Table mappings에서는 전체 스키마 대신 필요한 테이블만 지정해 관리 용이성과 속도를 개선했다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.