
MongoDB 클러스터 연결 장애와 설정 개선
두줄요약
EKS 배포와 MongoDB Atlas 업그레이드가 겹친 연결 지연 장애를 분석했습니다. DNS 캐시와 드라이버 Timeout·읽기/쓰기 정책을 명시해 대응했습니다.
문제 상황
- AWS EKS 배포와 MongoDB Atlas 버전 업그레이드가 겹치며 신규 WAS의 MongoDB 최초 연결 지연
- 초기화 대기 상태에서 Kubernetes Health Check와 배포 절차가 진행돼 기존 인스턴스 종료 및 장애 범위 확대
원인 분석
- Primary 전환·일부 멤버 이탈 시 신규 클라이언트의 토폴로지 확인과 서버 선택 지연
- DNS 조회, TCP 연결, TLS 처리, 서버 선택에 걸친 대기 시간과 기본 Timeout 의존
해결 방법
- JVM DNS 캐시 TTL을 5초로 설정해 DNS 상태 변화 반영 시간 단축
- MongoDB Java Driver의 connectTimeout 3초, readTimeout 5초, serverSelectionTimeout 5초 명시
- WriteConcern.MAJORITY와 primaryPreferred 읽기 정책으로 데이터 안정성과 전환 구간 읽기 가용성 보완
주의할 점
- Timeout 값은 환경별 기동 허용 시간·쿼리 특성에 맞춘 개별 조정 필요
- primaryPreferred의 Secondary 조회 허용에 따른 서비스별 일관성 요구사항 검토 필요
- 미재발만으로 설정 효과 단정 불가





