mongoDB Atlas 가입 방법(무료 mongo DB 클라우드 서비스)

https://mongodb.com 에서 무료로 온라인 Mongo DB를 생성해 봅시다(계정당 0.5GB DB 무료). 생성된 DB는 connection string을 사용해 각종 프로젝트에 사용할 수 있습니다.

https://www.mongodb.com/cloud/atlas 에 접속합니다.

Start Free 버튼을 누릅니다.

자신의 정보를 입력하고 Get Start Free 버튼을 누릅니다.

여기서 팝업창이 뜨는 경우도 있고 여러가지 다른 화면이 나오는 경우도 있는데, cluster를 create 하는 버튼이 나오므로 잘 찾아서 클릭합니다. 지금 화면에 보이는 것 처럼 설정을 바꿀 수도 있는데, 무료인 설정도 있고 유료인 설정도 있으므로 자신의 목적에 맞게 잘 선택하면 되겠습니다.

왼쪽 하단에 Get Started라는 버튼이 떠있는데, 이걸 누르면 처음에 DB를 어떻게 설정하는지 가이드가 나옵니다. cluster는 build하였고, database user를 생성할 차례입니다.

왼쪽 Database Access 메뉴를 선택하고 오른쪽의 Add New User 버튼을 누릅니다. 처음에 입력한 email과 비밀번호는 mongodb.com을 이용하기 위한 회원가입이고, 여기서의 user는 DB를 사용하기 위한 user입니다. 별개의 계정인 것이죠.

이렇게 팝업이 뜨는데, username과 password를 설정하고 Add User 버튼을 누릅니다. 이 username과 password는 DB connection string을 만들 때 사용되므로 잘 기억해 두시기 바랍니다.

다음으로 IP whitelist를 설정합니다. 보안을 위해 username과 password가 있더라도 아무 IP에서나 접속할 수 없고, 지정된 IP에서만 DB에 접근할 수 있게 하는 설정입니다. mongoDB Atlas는 이 설정하지 않으면 DB를 사용할 수 없습니다.

Allow Access From Anywhere 버튼을 누르면 자동으로 0.0.0.0/0이 입력됩니다. 이렇게 설정하면 아무 IP에서나 접속할수 있습니다. 물론 연습용인 경우에만 이렇게 설정을 하시고, 실제 사이트에서 사용하려면 이렇게 설정하면 안됩니다.

이제 DB를 사용할 준비가 모두 되었습니다. 왼쪽 메뉴에서 Clusters를 누르고 Connect 버튼을 누릅니다.

여러가지 방법으로 DB에 접속할 수 있는데, 우리는 Conect Your Application 버튼을 눌러 connection string을 얻도록 합시다.

어떠한 환경에서 사용할지를 설정하는데, 우리는 node.js를 사용하고, 버전은 3.0 이후의 버전을 사용하고 있습니다. 그리고 connection string이 표시되는데, 초록색으로 표시된 부분을 사용할 DB username과 password로 바꾸어 주어야 합니다.(password는 <와 >를 까지 지우고 비밀번호를 입력해야 합니다.

만약 username이 test_username이고, password가 test_password라면, connection string은 다음과 같은 형태가 됩니다.

mongodb+srv://test_username:[email protected]/test?retryWrites=true&w=majority

위 connection string은 참고용으로 실제 접속은 안됩니다. 자신의 화면에 뜬 텍스트를 수정하여서 사용합시다.

댓글

서강혁 2019.06.06
안녕하세요 글 잘보고있습니다! 질문드릴게있는데 위 예시를든 connection string 을 몽고db 연결할때 환경변수로 쓸 수있나요?
I
Ian H 2019.06.06
@서강혁,
네 mongoDB Atlas의 connection string을 환경변수로 저장하고, 그 환경변수를 사용해서 db연결하시면 됩니다^^
서강혁 2019.06.06
아 한가지 더 질문이있습니다.  현재 mern stack 으로 호스팅을하려는데 이제 mlab을 사용하지못하여  애드온을(heroku addons:create mongolab) 할 수 없는 상황인데 어떤방식으로 디비를 설치해야하는지 .. 기존회원 아이디를 구해서 해야하는건가요
I
Ian H 2019.06.06
@서강혁,
mlab이든 mongoDB Atlas든 addon없이도 그냥 connection string만으로 db연결 가능합니다. heroku app 설정에 보면 환경변수 지정하는 곳이 있는데 거기에 connection string 넣으면 되요.
애드온을 쓰려는 다른 목적이 있는 건가요? 
j
juseong Kim 2019.07.04
안녕하세요. MEAN 스택으로 개발한 홈페이지를 호스팅하려고 하고 있습니다. cafe24 에서 해볼 생각이었는데.. mongo DB 를 지원하지 않는거 같네요?!  몽고디비 사용법을 찾다 여기까지 오게됐는데.. Atlas는 카페24를 지원하지 않는건가요?
I
Ian H 2019.07.05
@juseong Kim,
안녕하세요. connection string만 제대로 입력해 주면 어느 호스팅을 사용하든지 DB를 사용할 수 있습니다.
-
-11 2019.10.04
$ nodemon [nodemon] 1.19.3 [nodemon] to restart at any time, enter `rs` [nodemon] watching dir(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node index.js` server on! http://localhost:3000 DB connected
DB 연결은 된 것 같은데
http://localhost:3000/contacts 로 접속하면 {"ok":0,"errmsg":"cannot do raw queries on admin in atlas","code":8000,"codeName":"AtlasError","name":"MongoError"} 에러가 떠요 구글링해서 찾아보는데 환경변수 노드버전을 2.2.12 버전으로 변경해서 넣어보라고 하길래 해봤는데도 같은 에러가 발생하네요 뭐가 문제일까요?
-
-11 2019.10.04
환경변수안에 admin을 지우니까 적용되네요 해결했습니다!
I
Ian H 2019.10.07
@-11,
해결하셨다니 다행입니다^^
감마 2019.12.13
블로그 내용 너무나 잘보고있습니다 ^^ 클라우드를 이용하여 db사용하는데, 몽고쉘을 통해서 디비를 보는 방법이 있을까요? 공식 웹에 쓰여져있는 방법대로 해보니, db나 show collections같은 커맨드를 써도 변화가 없더라구요! 혹시 제가 만든 schema들을 mysql shell같이 터미널로 혹은 웹(sql server app) 으로 볼수있는 방법 툴 좀 알려주시면 좋겠습니다. (혹시나 제가 잘못 이해하고있는 부분이 있다면, 그부분도 설명좀 부탁드리겠습니다.)
I
Ian H 2019.12.13
@감마,
몽고 DB 서버를 설치하시면 몽고쉘이 같이 설치됩니다.  몽고DB 서버 -> https://www.mongodb.com/download-center/community
그리고 아래 문서처럼 클라우드서버에 접속할 수 있습니다. https://docs.mongodb.com/manual/mongo/#start-the-mongo-shell-and-connect-to-mongodb
몽고 DB없이 몽고쉘만 설치하는 법을 찾으려고 해봤는데 공식적으로는 없는 거 같아요..
감마 2019.12.16
@Ian H,
오 그렇군요. 이런식이면, 스키마를 볼수있다는건가요? 제가 지금은 회사라 조금있다 다시 해보겠습니다.
I
Ian H 2019.12.17
@감마,
위 방법으로 Mongo DB를 shell에서 실행할 수 있습니다. Mongo DB는 DB에 스키마가 없습니다. 스키마는 전적으로 DB를 사용하는 프로그램에 의해 관리가 되고, Mongo DB에 data는 Javascript Object형태로 저장됩니다. 즉 데이터마다 원하는데로 항목을 추가하거나 삭제할 수가 있습니다.
u
utoru80 2020.06.20
Replace <password> with the password for the root user. Replace <dbname> with the name of the database that connections will use by default. Ensure any option params are URL encoded.       이렇게 변경되었어요. dbname 아무리 찾아바도 없네요. 다른분들은 어떻게 해결하였나요??
u
utoru80 2020.06.20
Create a free tier cluster by selecting a region  할때요. 미국버지니아 말구  싱가포르나 서울이 더 빠른가요??
u
utoru80 2020.06.20
너무 좋은 정보에 광고 보고 갑니다.
I
Ian H 2020.06.23
@utoru80,
안녕하세요,  mongoDB Atlas 사이트를 살펴보니 회원가입 방법과 처음 db를 만드는 방법이 많이 바뀌었네요. 조만간 강의를 업데이트하겠습니다!
일단 첫번째 질문에 답변을 드리자면, 강의 본문의 밑에서 세번째 사진을 보면 connect 옆에 collections 라는 버튼이 있죠? 그걸 눌러서 이동한 페이지에 잘 살펴보면 Create Database라는 버튼이 있습니다. 그걸로 만드실 수 있습니다!
두번째 region에 관련된 질문은 제가 미국에 있어서 잘 모르겠어요. 이 블로그는 현재 미국버지니아 서버 사용하고 있습니다. 
m
minji kim 2021.05.02
감사합니다 덕분에 엄청나게 큰 도움이 되었습니다!
I
Ian H 2021.05.02
@minji kim,
방문해주셔서 감사합니다^^
흑수의 세상 2021.05.17
안녕하세요. 다른 강의에서도 질문을 여럿 남겼었는데 궁금한 점이 있어서 또 들렸습니다. 친구와 프로젝트겸 ios 앱 개발이 마무리 단계에 접어들면서, 서버도 호스팅하고 디비도 업그레이드를 하려고 합니다. 현재 개발하면서 테스트는 로컬 서버 + 몽고 아틀라스 무료티어를 이용했습니다. 디비를 업데이트하고 데이터를 받아오는 통신이 느린 부분이 몽고 아틀라스 무료티어의 문제라는 이야기를 접해서 M10으로 업그레이드를 하려고 합니다. 처음이라 많이 헷갈리는데, 서버는 aws에 호스팅을 하려고 했는데 다른분께서 'mongodb 아틀라스무료티어 있는데 왜 ec2를..'라는 말씀을 하셔서요. 아틀라스에 서버까지 호스팅이 가능하다는 의미일까요? 저랑 친구는 aws에 호스팅 + mongodb 아틀라스 업그레이드 이렇게 생각하고 있는데 맞는 방향일까요??
I
Ian H 2021.05.17
@흑수의 세상,
안녕하세요! 기억납니다. 지난번에도 앱 속도 때문에 문의 주셨었죠? 로컬db를 사용했을 때와 mongodb atlas를 사용했을 때 속도차이가 있다면 db 차제 속도 이슈일 수도 있으니 유료 db 구매를 고려해 볼 수 도 있죠. 다만 db 성능문제가 아니라 db 위치의 문제일 수도 있으니 mongodb에도 아시아 서버, 북미 서버 등등 무료티어로 먼저 테스트해보세요^^
제가 알기로는 MongoDB는 서버 호스팅을 하지 않습니다. 혹시 모르니 그렇게 말씀하신 분에게 한번 확인해 보세요. 
현재 만들고 계신 프로젝트가 서버나 DB의 리소스를 얼마나 필요로 하는지 제가 알 수 없으므로 뭐라고 조언해드리기는 힘듭니다. 참고로 제 블로그는 heroku 무료 호스팅+ mongodb atlas 무료 db를 사용하고 있습니다.
흑수의 세상 2021.06.13
@Ian H,
안녕하세요. 생각이 나서 들렸어요. 엊그제부로 앱스토어에 런칭을 했답니다.. 종종 여기서 둘러보고 강의 보면서 댓글도 달 잘아주셔서 정말 감사합니다. 혹시라도 나중에 기회되시면 한번 이용해주세요!! 앱스토어에 umpa 검색하시면 이용하실 수 있어요. 음악 취향과 관련된 앱이랍니다. ㅎㅎ 감사합니다. 종종 더 찾아뵙겠습니다.
I
Ian H 2021.06.17
@흑수의 세상,
https://apps.apple.com/ph/app/umpa/id1522428421 이건가요? 미국이라서 그런지 이것밖에 안뜨네요;
흑수의 세상 2021.07.08
I
Ian H 2021.07.10
@흑수의 세상,
와 멋져요! 아이폰이 아니라서 써볼 순 없네요ㅠㅠ 저도 비슷한 앱(취향이 비슷한 음악, 영화등을 찾아주는 앱)을 생각해 본적이 있어요. 내가 선택한 음악이 다른 사람 리스트에 들어 있으면 다른 사람리스트에 있는 노래들이 1점을 얻고 이렇게 모든 사람리스트에 있는 점수들을 더해서 추천을 해주는 방식이죠.. 언제나 생각만 하고 만들진 않고 있습니다. 이 아이디어 쓰고 싶으시면 쓰셔도 되요
흑수의 세상 2021.07.29
@Ian H,
헉 감사합니다 !! 아이디어가 혹시 잘 이해가 안되서,, 내가 선택한 음악이 다른 사람의 리스트에 있을 때, 노래에 점수를 부여해주는 이유가 있을까요? 사람을 추천하는게 아니라 노래를 추천해주기 때문에 그런건가요? 좋은 아이디어 같은데 이해가 잘 안되네요 ㅠㅠ
I
Ian H 2021.07.30
@흑수의 세상,
사람들이 플레이리스트를 만들 때 비슷한 취향의 노래를 넣을 것이라는 전제로 하는 거예요.
어떠한 유저의 플레이리스트 A에 a, b, c, d의 네 곡이 있고, 다른 여러 유저의 플레이리스트 B에 a, b, c, d, e의 다섯 곡이 있다면, 아마 이 유저도 e를 좋아하지 않을까? 하는 생각이죠.
예를들어, 
A - a, b, c B - a, b, c, d C - a, b, d, e D - a, e, f
라는 플레이리스트가 있을 때  A의 플레이리스트에 d, e, f를 추천해줄 수 있겠죠. 점수는 d = 5 (B에서 3점 + C에서 2점) e = 3 (C에서 2점 + D에서 1점) f = 1 (D에서 1점) 가 되므로 d, e, f 순으로 정렬해서 보여주는 식이죠.
흑수의 세상 2021.08.17
@Ian H,
정말 좋은 아이디어네요..!! 친절하신 설명 늘 감사합니다..^^ !!
I
Ian H 2021.08.17
@흑수의 세상,
하시는 일 잘되시길 바랍니다^^
흑수의 세상 2021.10.07
@Ian H,
안녕하세요. 오랜만에 다시 들려요. 잘 지내시는지요? 데이터 베이스 관련해서 어려움이 있어 혹시나 도움 받을 수 있나 해서 들려보았습니다..!! 현재는 mongo db atlas M10 티어를 이용중에 있는데, aws ec2 인스턴스를 하나 만들고 기존의 atlas를 이용해서 저장했던 데이터들을 새롭게 만든 곳에 옮기고 싶은데 아무리 검색하고 찾아봐도 방법이 나오질 않는 것 같아서,, 혹시 방법이 있을까요?  기존에는 방법을 몰라 atlas M10을 쉽게 이용가능해서 이용했는데, aws ec2 인스턴스를 만들고 그곳에서 몽고디비를 만들어 작동해도 성능차이에서 큰 차이가 없어서 비용 절감을 위해 옮기려고 합니다.. 감사합니다!!
I
Ian H 2021.10.07
@흑수의 세상,
안녕하세요^^ 오랜만입니다. 벌써 가을이네요. 초가을 감기 조심하시길..
몽고DB 컬렉션을를 내 컴퓨터에 Json 파일로 저장하거나, 내 컴퓨터의 Json 파일을 몽고DB 컬렉션에 추가할 수 있는데, 이 방법을 이용하면 데이터를 다른 서버로 이동(migration)할 수 있습니다.
https://www.mongodb.com/try/download/database-tools 에서  MongoDB Database Tools 을 다운받아 압축을 풀면 bin 폴더 안에 mongoexport.exe 파일과 mongoimport.exe 파일이 있는데, mongoexport.exe 로 서버의 데이터를 파일로 저장할 수 있고, mongoimport.exe 로 파일을 서버로 올릴 수 있습니다.
<관련문서> https://docs.mongodb.com/database-tools/mongoexport https://docs.mongodb.com/database-tools/mongoimport
한번 시도해 보시고 잘 안되시면 다시 댓글 남겨주세요.
흑수의 세상 2021.10.07
헉 방금 혼자 이것저것 만져보다가 compass에서 collection 별로 json으로 export하고 새로운 db에 import 하는 식으로 성공해서 기쁜 마음에 답글 달려고 왔는데 벌써 답변 달아주셨군요.. 정말 감사합니다. 오늘도 벽을 하나 부수고 성장한 것 같아요. 미국이라고 하셨던 것 같은데 감기 조심하세요,, 한국도 슬슬 쌀쌀해지기 시작했어요.. 감사합니다!!
I
Ian H 2021.10.08
@흑수의 세상,
레벨업하셨군요^^; 축하드려요!
u
utoru80 2021.05.18
사이트가 이렇게 활성화되있는데 헤로쿠 무료호스팅에서 유료로 안가셨나요?? 그정도이면 카페24nodejs 호스팅보다 헤로쿠 무료 호스팅이 좋아보이네요. SSl https 도 기본적으로 무료로 셋팅해주고, 헤로쿠를 사용해보아야겠어요.
I
Ian H 2021.05.20
@utoru80,
그렇죠? 헤로쿠 완전히 만족하면서 쓰고 있습니다^^
댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP