본문 바로가기
Coding/Python

Flask Mongoengine Mongo Atlas와 연동하는 방법

by Hide­ 2018. 12. 4.
반응형

요즘 RDB를 벗어나 NoSQL을 많이 다루고 있다.

찾아보니 Mongo Atlas라는 것이 존재했는데 AWS처럼 프리티어도 존재하나보다.

먼저 아래의 사이트로 들어간다.

(참고로 나는 현재 파이썬 플라스크를 통해 API서버를 구축하고 있다)


https://www.mongodb.com/cloud/atlas


이메일을 적는 칸이 있다.

입력하고 Get started free버튼을 누른다.


그러면 위와 같은 창이 뜬다.

Build my first cluster버튼을 누른다.


이제 간단한 설정을 해줘야 한다.

먼저 클라우드를 선택해야하는데 나는 익숙한 AWS를 선택했다.

다음으로 아래쪽에서 지역 선택은 그냥 프리티어 중 아무곳이나 선택한다.


다른건 크게 건드릴필요가 없다.

아래쪽에 있는 Cluster Name에 원하는 이름을 적는다.

나는 test로 했다.

그리고 오른쪽 아래에 있는 Create Cluster버튼을 누른다.


클러스터가 생성되고 있다.

대략 7~10분정도 걸리므로 조금 기다려줘야 한다.

그전에 왼쪽 아래쪽을 확인해보면,


미리 설정하는 부분이 있다.

첫번째 항목인 클러스터 생성은 완료했으므로 두번째에 있는

데이터베이스 유저 생성을 누른다.

그러면 화면에서 어떠한 걸 클릭하라고 나올텐데 그걸 따라 들어간다.


아마 이 화면까지 들어왔을 것이다.

ADD NEW USER를 누른다.


오른쪽 첫번째 칸에 유저명을 적고 두번째 칸에 패스워드를 적는다.

그리고 두번째 User privileges에서 원하는 권한을 주면 되는데, 나는 RW모두 필요하므로 그대로 중간 옵션을 골랐다.

그다음 오른쪽 아래에 있는 Add user버튼을 누른다.


유저 추가가 완료되면 다시 한번 위와 같은 창이 뜬다.

Whitelist your IP address를 누르고 따라가면,


이런 화면까지 도달한다.

ADD IP ADDRESS버튼을 클릭한다.


특정 아이피만 들어오게 할수도 있고 모든 아이피를 허용할수도 있다.

나는 일단 귀찮아서 ALLOW ACCESS FROM ANYWHERE버튼을 눌러서 모든 아이피에 대해 허용해줬다.

Confirm을 누른다.


마지막으로 클러스터에 연결해본다.

Connect to your cluster를 누른다.


CONNECT를 누른다.


이제 여기서 어떻게 연결할지를 선택하면 된다.

우리는 파이썬 mongoengine라이브러리를 사용할 것이므로 Connect Your Application을 누른다.


그럼 위와 같은 창이 뜬다.

두번째 버튼인 Standard connection string을 누른다.


이렇게 접속할 수 있는 URL을 받았다. 위 정보를 COPY해둔다.

이제 아래의 파이썬 소스를 통해 파일을 하나 받는다.


from flask_mongoengine import MongoEngine
from flask import Flask


class TestConfig():
DEBUG = True
MONGODB_SETTINGS = {
'db': 'product',
'host': ''
}


if __name__ == '__main__':
app = Flask(__name__)
app.config.from_object(TestConfig)
db = MongoEngine()
db.init_app(app)
app.run(host='0.0.0.0', port=3000)

host옆 ''부분에 위 정보를 채워넣는다.

<PASSWORD>부분에는 위에서 생성한 유저의 패스워드를 입력한다.

그리고 서버를 실행시켜보면 정상적으로 접속된것을 확인할 수 있다.