Database/MongoDB

mongodb 인스턴스 만들기

박붕어 2023. 12. 7. 01:27

우분투 기준으로 설명 

1. AWS EC2 인스턴스 생성

 

2. Data 디렉토리로 사용할 100 GB EBS 생성

 

3. EBS 인스턴스에 마운트

ubuntu@ip-10-0-160-31:~$ sudo file -s /dev/xvdc

ubuntu@ip-10-0-160-31:~$ sudo mkfs -t xfs /dev/xvdc

ubuntu@ip-10-0-160-31:~$ sudo mkdir /journal

ubuntu@ip-10-0-160-31:~$ sudo mount /dev/xvdc /journal

ubuntu@ip-10-0-160-31:~$ sudo file -s /dev/xvdc

ubuntu@ip-10-0-160-31:~$ sudo lsblk -f

4. 인스턴스에 mongodb 다운로드

https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition

 

Install MongoDB Community Edition on Ubuntu — MongoDB Manual

Docs Home → MongoDB Manual MongoDB AtlasMongoDB Atlas is a hosted MongoDB service option in the cloud which requires no installation overhead and offers a free tier to get started.Use this tutorial to install MongoDB 7.0 Community Edition on LTS (long-te

www.mongodb.com

 

5. ulimit 풀어주기 → ubuntu/etc/security/limits.conf에 다음을 추가

* soft nofile 64000
* hard nofile 64000
* soft fsize unlimited
* hard fsize unlimited
* soft cpu unlimited
* hard cpu unlimited
* soft as unlimited
* hard as unlimited
* soft memlock unlimited
* hard memlock unlimited
* soft nproc 64000
* hard nproc 64000

 

재접속 하면 적용됨

적용된 내용은 ulimit -a 명령어로 확인 가능 

https://www.mongodb.com/docs/manual/reference/ulimit/

 

UNIX ulimit Settings — MongoDB Manual

Docs Home → MongoDB Manual Most UNIX-like operating systems, including Linux and macOS, provide ways to limit and control the usage of system resources such as threads, files, and network connections on a per-process and per-user basis. These "ulimits" p

www.mongodb.com

 

6. dbpath를 mount한 EBS 디렉토리로 변경 

mongod.conf에서 dbpath를 변경해줍니다. 

 

dbpath를 변경하고, dbpath에 대해서 mongod가 접근하여 데이터를 쓸 수 있도록 권한을 줘야함. 

log 파일도 마찬가지. 

권한이 없으면 에러 발생 ㅇㅇ 

 

7. mongod 시작

sudo systemctl start mongod.service

 

8. mongod 접속 후 유저 생성

mongosh 

use admin
db.createUser({user: "boong_u", pwd: "1234A", roles:[{role:"root", db:"admin"}], passwordDigestor:"server"});

 

 

9. mongod.conf 에 authorization: enabled로 설정 변경

security:
  authorization: 'enabled'

 

10. mongosh 접속 

mongosh -u boong_u -p 1234A

 

11. application 에서 사용할 데이터베이스 생성 및 유저 생성 

use pickshot
db.createUser({user: "developer", pwd:"developer", roles:["readWrite"]});

 

 

12. 나와서 접속해보기 및 mongodb compass 터널링 설정

끝