Monstache를 활용한 DocumentDB와 OpenSearch 데이터 동기화
·2025.02.03 23:18
Monstache를 사용하여 AWS DocumentDB의 상품 데이터를 OpenSearch로 실시간 동기화하는 과정을 공유한다.
올리브영은 분산된 상품 데이터를 통합하기 위해 AWS DocumentDB에 역정규화된 데이터를 적재하여 관리하고 있다. 하지만 대량 데이터 조회 시 발생하는 부하 문제를 해결하기 위해 OpenSearch로 데이터를 동기화하는 아키텍처를 채택했다.
데이터 동기화를 위해 선택한 오픈소스는 Monstache다. 이 도구는 Go 언어 기반으로 MongoDB(DocumentDB)의 oplog를 감지하여 OpenSearch로 데이터를 실시간 전송한다. 주요 기능으로는 실시간 동기화, 필터링 및 변환, 스크립팅 지원, 웹서버를 통한 상태 확인 기능이 있다.
구현 과정에서의 주요 설정 및 최적화 사항은 다음과 같다.
- 보안 강화: AWS 자격 증명 관리 시 Access Key 대신 EC2 IAM Role(
strategy = 4)을 사용하여 보안성을 높였다. - 타임아웃 조절: OpenSearch 연결 시 발생하는
health check timeout문제를 해결하기 위해elasticsearch-healthcheck-timeout값을 200으로 늘려 안정성을 확보했다. - 변경 스트림 활성화: DocumentDB에서 변경 스트림(Change Streams) 기능을 활성화하고,
readPreference=primary옵션을 적용하여 실시간 감지 환경을 구축했다.
현재는 동기화 시스템을 안정적으로 운용하며, Datadog를 통해 에러 로그 감지 및 헬스체크 모니터링을 수행하고 있다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.