본문 바로가기

DB/MongoDB (몽고 DB)

EC2에 몽고DB 설치 후 외부에서 접근하기 with 터널링

# 터널링을 통해 외부에서 접근 가능한 몽고 DB를 생성 및 접근

1. EC2 인스턴스 설치 후 EC2 인스턴스를 Private 망으로 연결한다.

2021.10.24 - [⭐ AWS/EC2] - EC2 생성

 

EC2 생성

EC2 인스턴스 생성 1. 인스턴스 시작을 클릭하여 EC2 생성을 시작합니다. 2. 설치할 OS를 확인하고 선택을 클릭합니다. 3. 원하는 스펙을 선택하고 다음으로 넘어 갑니다. 4. 네트워크를 구성 후 다음

may9noy.tistory.com

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 설치

 

jupyter notebook 설치

* 주피터 노트북이란 무엇인가? - 쥬피터 노트북은 Python과 같이 인터엑티브 형식의 라이브 코드를 제공하는 웹 베이스 어플리케이션입니다. 쥬피너 노트북을 사용하면 웹 브라우저 안에서 실행

may9noy.tistory.com

- 몽고 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/

 

Download Studio 3T for MongoDB | Windows, macOS & Linux

Get started with the most powerful and user-friendly GUI for MongoDB for free. No credit card required. Download now.

studio3t.com

- 아래 링크 참조하여 몽고 DB 연동

- 아래의 가이드에서 ssl만 제외하고 동일하게 설정해주면 된다.

2022.05.31 - [⭐ AWS/DocumnetDB(MongoDB)] - AWS DocumentDB 와 3T 프로그램 연동 (SSL, SSH 터널링)

 

AWS DocumentDB 와 3T 프로그램 연동 (SSL, SSH 터널링)

3T 사용법 설명한 사이트 https://studio3t.com/knowledge-base/articles/sql-query/?utm_source=sql-query&utm_medium=link&utm_campaign=inapp&utm_content=3t-sql-tutorial Query MongoDB with SQL (GROUP BY, DISTINCT, JOINS & More) Here's how to query Mongo

may9noy.tistory.com

- 연동 확인

- EC2에 MongoDB를 설치 후 터널링을 활용하여 로컬에서 클라이언트 프로그램을 활용하여 접속하는 작업을 하였다.