안녕하세요.
오늘은 아마존(aws) 클라우드를 이용한 MongoDB 서버 구축에 대해 알아보려고 합니다.
저번에는 RDBMS시스템인 Postgresql를 구축을 해보았는데요.
이번에는 NoSQL시스템인 MongoDB를 구축해보도록 하겠습니다.
몽고디비(MongoDB)란?
※ MongoDB : 비 관계형 데이터베이스(nonrelational database) - NoSQL
테이블에 Key와 Value로만 이루어진 데이터로 저장을 할 수 있습니다. (JSON 형식)
e.g) user라는 테이블에 형식없이 다른 데이터를이 들어올 수 있습니다.
{ id : 'jeeu', pw : 'jeeu123' }
{ id : 'jeeu1', pw : 'jeeu123', name : 'JeeU' }
{ id : 'jeeu2', pw : 'jeeu123', name : 'JeeU', num : 01012345678 }
이런식으로 형식을 정해두고 데이터를 쌓는 방식이 아닌 Key와 Value로 이루어져만 있다면 어느 테이블에 넣을건지만 정해주면 됩니다.
MongoDB 버전 확인 및 설치
https://www.mongodb.com/docs/manual/release-notes/4.4/
6.0버전도 있긴하지만 4.4.x로 진행을 하겠습니다.
1. MongoDB 설치
필자처럼 OS를 Amazon Linux 2로 설치를 하셨다면 몽고 디비 사이트에 Amzon 설치 방법을 참고하시면 될 것 같습니다.
https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-amazon/
그럼 mongodb 홈페이지에서 Amzon 버전으로 따라해서 진행하겠습니다.
1-1. 파일을 생성하여 내용을 저장
sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo
1-2. MongoDB 패키지 설치
- 셋 중 하나로 진행하시면 됩니다. 필자는 첫번째 명령어로 설치를 했습니다.
sudo yum install -y mongodb-org
OR
sudo yum install -y mongodb-org-4.4.18 mongodb-org-server-4.4.18 mongodb-org-shell-4.4.18 mongodb-org-mongos-4.4.18 mongodb-org-tools-4.4.18
OR
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
2. MongoDB 실행 및 상태 확인
MongoDB를 설치했다면 이제 DB를 켜봐야 합니다.
켜져있는지 확인 먼저 하자면 ps -ef | grep mongo 를 했을 때 나오는지 파악해야합니다.
ps -ef | grep mongo
설치 직후엔 나오지 않는군요! 그렇다면 설치만 되었고 실행은 아직 안되어 있다는 뜻 입니다.
그럼 이번에는 MongoDB를 실행해보도록 하겠습니다.
sudo systemctl start mongod # 몽고 디비 실행
sudo systemctl status mongod # 몽고 디비 상태 확인
오~~ 이제 실행이 됐습니다!
몽고 디비가 실행이 되었으니 그럼 이제 한번 접속해볼까요?!
접속 방법은 간단합니다. 아래의 명령어만 치게 된다면 몽고디비에 접속이 된 것 입니다.
mongo
아직은 아무것도 없으니 테스트는 나중에 해보도록 하겠습니다~
그럼 이 몽고 디비는 무슨 포트로 열려있는지 확인해야됩니다. 위의 사진에서도 포트가 나오기는 합니다.
또 다른 방법으로도 찾아보자면 아래의 명령어를 치시면 됩니다.
netstat -ano | grep mongo
그럼 이 몽고 디비는 27017로 켜져있습니다! 그럼 이제 외부에서도 해당 몽고디비에 접근할 수 있도록 포트를 열어주도록 하겠습니다!
3. MongoDB 외부접속
이전 포스트그레스(Postgresql)와 마찬가지로 아마존에서 보안그룹에 해당 포트를 등록해줘야 합니다.
3.1. 해당 클라우드 선택 하단에 보안 탭에 보안그룹에 있는 빨간색 박스 링크 클릭
3.2. 빨간색 박스 인바운드 규칙 편집 클릭
3.3. 유형 -> 사용자 지정 TCP 선택 및 우측 아이피 및 포트는 0.0.0.0/0 으로 열어두고 설명에 MongoDB 라고 입력하도록 하겠습니다.
※ 보안에 취약하다고 느끼신다면 본인의 아이피를 직접 입력해주시기 바랍니다.
3.4. 인바운드 규칙에 정상적으로 떴다면 외부접속 가능
3.5. Mongo conf 파일에서 bindIp 설정
sudo vi /etc/mongod.conf # 몽고 디비 설정 파일
sudo systemctl restart mongod.service # 몽고 디비 재시작
4. Mongo Compass 툴을 이용하여 MongoDB 연동
DBeaver툴은 MongoDB를 유료버전에서 제공하는 듯 하여 (필자의 생각)
MongoDB는 Mongo Compass를 사용하여 연동하겠습니다.
https://www.mongodb.com/try/download/compass
4.1. AWS 접속IP로 수정
- localhost -> xxx.xxx.xxx.xxx
4.2. ComPass를 이용한 외부 접속 완료
- 좌측이 데이터베이스이고 우측이 데이터입니다.
4.3. 데이터 추가
이렇게 아마존(aws) 클라우드를 이용한 MongoDB 서버 구축에 대해서 알아보았습니다.
감사합니다.
'아마존(AWS)' 카테고리의 다른 글
[AWS] IAM 통하여 보안그룹 및 계정 만드는 법 (53) | 2023.11.05 |
---|---|
[AWS] DB서버 해킹 - READ__ME_TO_RECOVER_YOUR_DATA (0) | 2022.12.07 |
[AWS] 아마존(aws) 클라우드를 이용한 Postgresql DB 서버 구축 (2) | 2022.12.03 |
[AWS] 아마존(aws) 클라우드 프리 티어 유료 요금 막기 (2) | 2022.11.22 |
[AWS] 아마존(aws) 클라우드를 이용하여 나만의 24시간 서버 만들기!! (3/3) - 탄력적 IP (고정 IP) 설정 (8) | 2022.11.02 |
댓글