[MongoDB] EC2 연결 및 Ubuntu에 MongoDB  설치, 관리자 계정 추가, DataGrip 연결
DB/MongoDB

[MongoDB] EC2 연결 및 Ubuntu에 MongoDB 설치, 관리자 계정 추가, DataGrip 연결

Ubuntu에 MongoDB설치

 

MongoDB의 public GPG key를 주입

$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

MongoDB를 위한 리스트파일 생성

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

 

로컬 패키지 데이터베이스 갱신

$ sudo apt-get update

 

MongoDB 설치

$ sudo apt-get install -y mongodb-org

 

MongoDB 서비스 실행

$ sudo service mongod start
$ sudo service mongod status
 mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-12-30 07:16:16 UTC; 6min ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 27156 (mongod)
   CGroup: /system.slice/mongod.service
           └─27156 /usr/bin/mongod --auth --config /etc/mongod.conf

 Dec 30 07:16:16 ip-172-31-14-29 systemd[1]: Stopped MongoDB Database Server.
 Dec 30 07:16:16 ip-172-31-14-29 systemd[1]: Started MongoDB Database Server.

 

MongoDB 관리자 계정 추가

 

사용자 추가

$ mongo
MongoDB shell version v4.4.11
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("db54c8e1-57ae-4527-bca6-aff34526826a") }
MongoDB server version: 4.4.11

> use admin
switched to db admin
> db.createUser({user: 'test', pwd: 'test1234', roles: ['root']})
Successfully added user: { "user" : "test", "roles" : [ "root" ] }
> exit
bye

 

사용자 삭제

$ mongo
MongoDB shell version v4.4.11
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("db54c8e1-57ae-4527-bca6-aff34526826a") }
MongoDB server version: 4.4.11

> use admin
switched to db admin
> db.dropUser("test")

 

외부 접속 설정

 

인증 설정

$ sudo service mongod stop
$ sudo vi /etc/mongod.conf
  1. mongod.conf에서 security의 주석을 해제한 후에 authorization: enabled를 추가한다
  2. MongoDB는 기본적으로 로컬호스트에서만 접속이 가능하므로 외부 접속을 위해서 net의 bindIp의 127.0.0.1을 0.0.0.0으로 변경한다
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

security:
  authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:
~

 

EC2 연결

 

인스턴스 보안그룹 접속

 

인바운드 규칙 편집 열기

 

규칙 추가 후 저장

 

DataGrip 연결

 

data source에서 MongoDB를 클릭

Host, User, Password에 EC2 IP주소와 아까 작성한 test, test1234를 입력한 뒤에 Test Connection을 눌러서 오류가 없는지 확인합니다.

 

참고 문헌

'DB > MongoDB' 카테고리의 다른 글

[MongoDB] MongoDB 중복 설치 오류 및 삭제  (0) 2021.12.30