MongoDB 4.0 to AWS DocumentDB 3.6 migration 기록

1 minute read

mysql, aurora정도로 호환되는 제품인 줄 알았는데

스펙을 보니 다른점이 상당히 많다.
https://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/mongo-apis.html
아니요가 너무 많은거 아니요?

처음 접속할 때 부터 애를 먹었다. public access가 안된다고???

AWS의 불친절함이란.. .어디 잘 써 있지도 않고

루비온레일즈 개발자가 AWS를 설계했으면 이렇지 않았을텐데
(친절한 루비의 에러메시지)

공식 문서에서 시키는대로 한 것 같은데 접속이 안되서 인증서 사용을 중지시키고 접속했다
https://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/connect-from-outside-a-vpc.html

쓰는 사람이 없는건지 검색도 잘 안되는군

AWS 직원새끼도 이거 안쓰는거 아닐까

파라미터 그룹에서 TLS를 끄고 겨우 접속은 했는데

admin으로 접속이 안되네?

test로 접속해봤더니 된다

그 다음에 test2로 접속했더니 된다

근데 test2로 접속하면 test1이 아show dbs부터 안먹힌다??

아니군 데이터가 있는 디비만 목록에 뜬다

이래저래 하다가 너무 이상한 것 같아서 포기..

결국은 몽고디비를 설치해서 사용

그래도 직접 구성은 안 하고 aws에서 지원 해 주는 cloud formation을 활용했다
https://docs.aws.amazon.com/ko_kr/quickstart/latest/mongodb/step2.html

그냥 실행했더니 실패???왜??

바로 클릭해서 접속했떠니 북부 버지니아로 접속되는군.. 어째 이상하더라고
aws 콘솔에서 안 쓰는 리전 꺼놓는 기능은 언제 나올건가

그러고보면 aws에서 대부분의 관리 기능들이 cloud formation을 확장한 정도 기능 아닐까 싶을 정도로.. 비슷한 프로세스로 돌아가는 것 같다.

ui를 따로 만들어주면 관리형 서비스가 돼 버리는거겠지

docuemntDB를 갖다버리고 mongoDB를 관리형으로 넣어주는건 어떨까

하려다가 다시 DocumentDB를 사용하기로

설치가 어려운건 아니지만 나중에 관리비용도 상당히 있으니까

그리고 기존 어플리케이션(node-mongoose)을 돌려보니까 별 문제없이 돌아간다. 4.0에 특화된 기능을 쓰는게 없어서 그런가?

백업 덤프에서 버전을 안 맞췄더니 아예 안된다. 에러메시지가 버전이 안맞다가 아니라 이상한게 안된다고 해서 한참을 검색을 했는데… 버전문제였다.
mongodump(4.x) - mongorestore(3.6)

docker 덕분에 간단히 해결됐다.
docker run –rm -it -v $(pwd):/mongobak mongo:3 mongodump –out /mongobak –host x.x.x.x -uUser -pPass –db dbname

버전이 안맞아서 인덱스나 뭐가 날라갈 수 도 있다고 하는데 나중에 생성 해 주면 되지 않을까

몽고디비 툴 사용

몽고해커 http://tylerbrock.github.io/mongo-hacker/
http://mongodb-tools.com/

Updated: