# 터널링을 통해 외부에서 접근 가능한 몽고 DB를 생성 및 접근
1. EC2 인스턴스 설치 후 EC2 인스턴스를 Private 망으로 연결한다.
2021.10.24 - [⭐ AWS/EC2] - EC2 생성
2. MongoDB 설치
- SSH 접속
설치를 위해 root 권한으로 변경한다.
ubuntu@:~$ sudo su -
root@:~#
- MongoDB public GPG key 가져오기
아래 명령어를 통해 MongoDB public GPG key를 가져 온다.
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb.gpg > /dev/null
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
3. MongoDB를 위한 List 파일 생성
- MongoDB의 List 파일을 생성하기 위해서는 아래의 명령어를 실행한다.
:~# echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse
4. MongoDB 설치
- 설치는 의외로 간단하다.
apt-get update
apt-get install -y mongodb-org
- 몽고DB 설치상태 확인
systemctl start mongod # 실행
systemctl status mongod # 실행 상태 확인
systemctl enable mongod.service # 서버 재 시작시 자동 재실행
- 아래와 같이 active (running) 으로 확인되면 정상 설치된 것이다.
5. MongoDB 외부접속 허용 및 외부 Client로 접근하기
- 일단 ASW 기준으로는 보안그룹을 열어 놓아야 한다. 만약 Private 환경에 놓인 EC2 인스턴스라면 프라이빗 환경의 보안그룹과 Bation 환경의 보안그룹을 함께 신경 써야한다.
- 몽고DB의 포트는 27017 이다.
- 보안그룹 설정은 아래 링크의 중간쯤을 확인한다.
2021.04.06 - [Applications/Jupyter Nodebook] - jupyter notebook 설치
- 몽고 DB 외부 접속 오픈
설정파일
vi /etc/mongod.conf
파일을 열어보면 기본값으로 bindIp: 127.0.0.1 즉, localhost로 설정된 것을 확인할 수있다. 즉 기본값은 내부 접속만 허용한다고 보면 된다. 이 값을 아래와 같이 변경한다.
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
6. 외부 접속을 위한 사용자 계정을 생성한다. with 오류해결
- 몽고 DB 접속
mongosh
use admin
- 접속 확인
- 신규 계정을 생성 (권한: 관리자, 계정 id: admin1, 패스워드:test1234)
# admin 계정 접속
use admin
# 외부 접속용 계정 생성
db.createUser({user: "admin1", pwd: "test1234", roles:["root"]});
- 생성 확인
7. 클라이언트 프로그램을 통해 외부에서 접근하기
- 몽고 DB 접근을 위한 프로그램 설치
https://studio3t.com/download/
- 아래 링크 참조하여 몽고 DB 연동
- 아래의 가이드에서 ssl만 제외하고 동일하게 설정해주면 된다.
2022.05.31 - [⭐ AWS/DocumnetDB(MongoDB)] - AWS DocumentDB 와 3T 프로그램 연동 (SSL, SSH 터널링)
- 연동 확인
- EC2에 MongoDB를 설치 후 터널링을 활용하여 로컬에서 클라이언트 프로그램을 활용하여 접속하는 작업을 하였다.
'DB > MongoDB (몽고 DB)' 카테고리의 다른 글
NOSQL에서 문서 = RDB의 ROW(행) (0) | 2024.08.21 |
---|