개발환경을 한 곳이 아닌 여러 곳에 세팅 된 경우 파일 등은 git 또는 svn을 사용하여 작업하면 되지만 데이터베이스의 경우는 이런 방식을 적용하기 어렵습니다. remote 백업을 활용하는 방법 역시 있겠지만 업데이트가 빈번하다면 이것 역시 다소 번거로울 수 있죠. 이런 경우 외부에서 바로 데이터베이스에 접속하는 Remote Access를 활용하는 방법이 있습니다.


# ​​​​​​​리눅스 기준 MongoDB 외부 접속 가능하도록 변경하기 
먼저 /etc/mongod.conf 파일에 접근하여 수정합니다.

vim /etc/mongod.conf

이제 bindIp 0.0.0.0과 같이 설정된 곳을 찾아 주석처리합니다.

bindIp 0.0.0.0  //  변경 이전
# bindIp 0.0.0.0  //  변경 후

mongoDB 서비스 재시작합니다.

service mongod restart

이제 외부 접근가능한 ip를 사용하여 db에 접근합니다. 만약 Python을 사용이라면 아래와 같을 것입니다.

client = MongoClient('mongodb://xxx.xxx.xxx.xxx:27017')

이제 외부 접근이 가능하게 되었습니다. 또 다른 방법으로 Private Ip를 bindIp의 설정값에 추가하는 방법도 있습니다.

bind_ip = 127.0.0.1,192.168.161.100

이 방법 역시 참고하세요~


# Remote IP 접근 허용시 주의할 점
BindIP를 주석처리하면 DB로 접근가능한 문을 열어두는 것으로 누구나 접근할 수 있습니다. 실제로 이에 대한 해킹이 매우 빈번합니다. 자신의 IP와 Port를 알아내는 것은 너무도 간단하고 쉬울 수 있으므로 가급적 Remote IP를 피하는 것이 좋습니다.

만약 RemoteIp를 사용하여도 큰 문제가 없는 데이터라면 사용하되 Port 번호를 변경하고 Auth 접근을 허용시 User/Password를 설정하시기 바랍니다.