DocumentDB Connect in Local PC ( MAC OS )

2021. 6. 18. 12:55·Javascript/Node.js

PROBLEM

  • Local에서 MongoDB를 사용하다 AWS DocumentDB 도입
  • AWS DocumentDB는 같은 VPC내에서만 접근 가능(private)
  • 같은 VPC 내의 EC2에서 터널링을 사용하여 접근 가능
  • Application에서 접속하는 방법이 필요

PREPARATION

  • 실행 전 Local MongoDB를 종료해야함
    brew services stop mongodb-community
  • DocumentDB와 Tunneling이 되어있는 EC2가 존재해야함
  • AWS 보안 설정을 해야함(inbound/outbound)

SOLUTION

1.EC2 Tunneling

   ssh -i "EC2ConnectKey" -L <localPort>:<RemoteServer>:<RemoteServerPort> <EC2User>@<EC2EndPoint> -N
  • Option
    • -L : Local Port Forwarding
    • -N : Do not execute a remote command. This is useful for just forwarding ports.
    • -f : in background

2.Connect (in node.js use)

   const Mongo = require('mongodb').MongoClient

   let client = null
   let db = null

   const connect = async () => {
     client = await Mongo
                 .connect('mongodb://<DocumentDB UserID>:<UserPW>@localhost:<LocalPort>',
                    {
                        ssl:true,
                        sslValidate:false,
                        useNewUrlParser: true,
                        useUnifiedTopology: true
                    });

     db = client.db('<Database Name>')
   }

REFERENCE

  • https://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/connect-from-outside-a-vpc.html
  • https://deep-jin.tistory.com/entry/SSH-%EB%A1%9C%EC%BB%AC-%ED%8F%AC%ED%8A%B8-%ED%8F%AC%EC%9B%8C%EB%94%A9-SSH-%ED%84%B0%EB%84%90%EB%A7%81
  • http://egloos.zum.com/mcchae/v/11381296

'Javascript > Node.js' 카테고리의 다른 글

NPM node-schedule  (0) 2021.06.18
# 공공 API를 통해 카카오 지도에 선별진료소 표기하기 - (3)  (0) 2020.10.12
공공 API를 통해 카카오 지도에 선별진료소 표기하기 - (2)  (0) 2020.10.07
공공 API를 통해 카카오 지도에 선별진료소 표기하기 - (1)  (0) 2020.10.07
'Javascript/Node.js' 카테고리의 다른 글
  • NPM node-schedule
  • # 공공 API를 통해 카카오 지도에 선별진료소 표기하기 - (3)
  • 공공 API를 통해 카카오 지도에 선별진료소 표기하기 - (2)
  • 공공 API를 통해 카카오 지도에 선별진료소 표기하기 - (1)
EHyang
EHyang
  • EHyang
    sunny.log
    EHyang
  • 전체
    오늘
    어제
    • 분류 전체보기 (11)
      • Daily (1)
        • 일상 (1)
      • Algorithm (3)
        • Baekjoon (2)
        • SW expert (0)
        • Programmers (0)
        • ETC (1)
      • Javascript (6)
        • Node.js (5)
        • Study (1)
      • IT (1)
        • 개인 공부 (1)
  • hELLO· Designed By정상우.v4.10.3
EHyang
DocumentDB Connect in Local PC ( MAC OS )
상단으로

티스토리툴바