Tech/MongoDB

[MongoDB] MongoDB Compass 로 외부 서버(외부 컴퓨터, aws 인스턴스)와 연결하기

lonnie(동현) 2021. 12. 24. 17:18

mongoDB Compass를 외부 서버의 컴퓨터에 연결을 하면서 많은 시행착오를 겪어서,
내용을 천천히 기록으로 남겨보려고 합니다. 
먼저 이 과정은 mongoDB, mongodb-compass 가 정상적으로 설치되어 있고,
환경 설정이 끝났다는 가정하에 진행되었습니다.

mongoDB Compass를 실행 시켜보면 아래와 같은 화면을 볼 수 있습니다.

여기서 연결하는 방법이 두가지가 있는데, 저는 string 형식을 사용하지 않기 때문에

Fill in connection fields individually를 눌러 줍니다. 그러면 아래와 같은 폼을 볼 수 있습니다.

여기서 Hostname은 default로 localhost로 두고, port도 마찬가지로 27017로 둡니다. (별도의 변경 사항이 없었다면)

Authentication 의 dropdown 메뉴를 보면 아래의 항목들을 볼 수 있는데,

여기서 저는 Username/Password를 사용할 것입니다.
아래 폼의 입력 값은 다음과 같습니다.

  • Username : local 상에서 mongodb 에 만들어준 user
  • Password : user 의 비밀번호입니다.
  • Autentication Database : 접근할 데이터 베이스의 이름

아래는 예시로 입력한 내용입니다.

그다음에 할 작업은 More Options 부분을 입력하는 작업입니다. 저는 외부 서버와 ssh를 통해 인증을 진행하기 때문에 해당 내용을 넣어주어야 합니다. 이 중에서 SSH Tunnel 의 값을 수정해줍니다.

SSH Tunnel 의 메뉴를 보면 아래와 같습니다. 두 가지 방법이 있는데, 저는 둘 다 사용하기 때문에 하나씩 진행해보도록 하겠습니다.

먼저 Use Password 를 사용했을 경우입니다. 입력 값은 다음과 같습니다.

  • SSH Hostname : 접속할 서버의 IP 주소
    • 예를 들어, aws의 경우 퍼블릭 IPv4 주소를 넣어주면 됩니다.
  • SSH Tunnel Port : 보통 default 값으로 22 포트를 사용합니다.
  • SSH Username : 해당 서버에 접속할 때 사용하는 username
    • 잘 모르겠다면, ssh로 해당 서버에 접속하면 나타나는 username@serve-name 의 username을 참고하거나, 명령어 who 를 입력했을 때 보이는 username을 참고하시면 됩니다.
  • SSH Password : ssh 접속하려는 서버에 접속할 때 입력하는 비밀 번호를 입력하시면 됩니다.

아래는 입력 예시입니다.

두 번째로 Use Identity file 을 사용했을 경우입니다. 입력 값은 다음과 같습니다.

  • SSH Hostname : 접속할 서버의 IP 주소
    • 예를 들어, aws의 경우 퍼블릭 IPv4 주소를 넣어주면 됩니다.
  • SSH Tunnel Port : 보통 default 값으로 마찬가지로 22 포트를 사용합니다.
  • SSH Username : 해당 서버에 접속할 때 사용하는 username
    • 잘 모르겠다면, ssh로 해당 서버에 접속하면 나타나는 username@serve-name 의 username을 참고하거나, 명령어 who 를 입력했을 때 보이는 username을 참고하시면 됩니다.
  • SSH Indentity File : 본인의 개인 키를 불러오면 됩니다. 저는 rsa key 를 이용했습니다.

아래는 입력 예시입니다.

Use password 또는 Use Identity File 방식을 통해서 Compass와 외부 서버와의 연결을 진행할 수 있었습니다.

728x90
반응형

'Tech > MongoDB' 카테고리의 다른 글

[MongoDB] macOS mongoDB 설치 및 인증 설정  (0) 2021.12.21