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
'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 |