
MongoDB를 위한 데스크톱 관리 도구, Robomongo
MongoDB Inc.는 2.6 버전 출시와 함께 다양한 강력한 엔터프라이즈 기능을 선보였지만, 정작 데이터베이스를 손쉽게 관리할 수 있는 데스크톱 애플리케이션은 여전히 부재했습니다. 이러한 공백을 메워주는 도구가 바로 Robomongo입니다. Robomongo는 크로스 플랫폼을 지원하는 오픈소스 MongoDB 관리 도구로, 직관적인 GUI를 통해 데이터베이스를 시각적으로 탐색하고 관리할 수 있습니다.
이 글에서는 Robomongo를 ObjectRocket MongoDB 인스턴스에 연결하는 방법을 단계별로 소개합니다.
시작 전 준비 사항
먼저 ObjectRocket 제어판(Control Panel)에서 아래 두 가지 정보를 미리 확인해 둡니다.
- 데이터베이스 연결 문자열(connect string) — SSL 연결과 비SSL(일반) 연결의 포트가 서로 다르므로 주의
- 데이터베이스 사용자 이름과 비밀번호
다음으로 사용 중인 운영체제에 맞는 Robomongo를 내려받아 설치합니다. 이 가이드는 작성 당시 최신 버전인 0.8.4를 기준으로 설명합니다.
기본 연결 설정하기
Robomongo를 실행하면 처음에 MongoDB Connections 창이 나타납니다. 화면 왼쪽 상단의 Create 링크를 클릭하세요.

연결 설정(Connection Setting) 화면이 열리면 인스턴스 이름을 지정합니다. 여기서는 'ObjectRocket'이라고 명명했지만, 여러 데이터베이스를 운영하는 환경이라면 더 구체적인 이름을 사용하는 편이 관리에 유리합니다.
Address 필드에는 앞서 적어둔 데이터베이스 연결 문자열을 입력합니다. SSL로 접속할 계획이라면 포트 번호가 다르다는 점을 잊지 마세요. 일반적으로 SSL 포트는 일반 텍스트 포트에 10000을 더한 값입니다. 예를 들어 일반 포트가 23042라면 SSL 포트는 33042가 됩니다.

인증 정보 입력
상단의 Authentication 탭으로 이동해 앞서 확인한 사용자 자격 증명을 추가합니다.

SSL 설정
SSL을 사용하고 싶다면 상단의 SSL 탭을 선택한 뒤 'Use SSL Protocol' 항목에 체크합니다. 참고로 ObjectRocket은 현재 SSL 인증서를 지원하지 않으므로 인증서 관련 입력란은 무시해도 됩니다.

연결 테스트 및 저장
Test 버튼을 눌러 설정이 올바른지 확인합니다. 모든 값이 정상이라면 아래와 같은 진단(Diagnostic) 메시지 상자가 표시됩니다.

문제가 없다면 Save를 눌러 연결을 저장합니다. 축하합니다! 이제 훌륭한 데스크톱 MongoDB 관리 도구를 ObjectRocket 인스턴스에 성공적으로 연결했습니다.
SSH 터널을 통한 프록시 연결 방법
그런데 엄격한 ACL(접근 제어 목록)을 운영 중이거나, 여러 장소에서 작업하거나, 가정용 인터넷이 고정 IP를 제공하지 않는다면 어떻게 해야 할까요? 이 경우 Robomongo를 사용할 때마다 변경되는 로컬 공인 IP를 ObjectRocket 제어판의 ACL에 일일이 추가해야 하는 번거로움이 생깁니다.
더 스마트한 대안은 고정 IP를 보유한 (리눅스) 서버를 경유해 SSH 터널로 인스턴스에 접속하도록 Robomongo를 구성하는 것입니다. 예를 들어 이미 ACL에 등록된 애플리케이션 서버나, 프록시 용도로 새로 만든 클라우드 서버를 활용할 수 있습니다. 아래 과정을 따라 해 보세요.
1. 프록시 서버 준비
먼저 고정 공인 IP를 갖춘 리눅스 서버에 사용자 계정을 생성합니다. 해당 서버가 아직 ACL 규칙에 의해 접근이 허용되지 않았다면, 이 서버의 IP 주소를 인스턴스 ACL에 추가하는 것을 잊지 마세요.
2. SSH 키 쌍 생성 및 배포
SSH 공개키/개인키 쌍을 생성하고, 공개키를 프록시 호스트로 사용할 리눅스 서버에 설치합니다. SSH 키 구성 방법을 다룬 좋은 참고 자료가 많으니 필요하면 검색해 보시길 권장합니다.
3. Robomongo에 SSH 프록시 설정
이제 Robomongo가 SSH 프록시 호스트와 키를 사용하도록 구성합니다.

4. 최종 테스트
연결을 다시 한번 테스트합니다. 오류 없이 테스트가 완료되면 Save를 눌러 연결 설정을 저장하세요. 이제 SSH 터널과 프록시 호스트를 통해 ObjectRocket 인스턴스에 접속하도록 Robomongo를 성공적으로 구성했습니다!