본문으로 건너뛰기

EC2에 설치하고 운영

EC2에서 간단하게 몽고DB를 설치하고 운영해보자

설치

sudo yum install mongodb-org

하면 안될것이다. 왜냐하면 패키지 리포지토리 설정이 안되어 있어서 이다.

다음과 같은 파일을 만들고

sudo vi /etc/yum.repos.d/mongodb-org-5.0.repo

이 내용을 복붙하자

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

이제 인스톨 할 수 있다.

인스톨

sudo yum install -y mongodb-org

설치 확인

버전확인

mongo -version

서비스 시작/확인/재시작

몽고디비 서비스 시작

sudo systemctl start mongod

몽고디비 기동 확인

sudo systemctl status mongod

몽고디비 재시작 할경우

sudo systemctl restart mongod

몽고디비를 부팅과함께 서비스 할경우

sudo systemctl enable mongod

서비스 기동확인

몽고DB 가 정상적으로 서비스 기동 되었다면
다음과 같이 쳐봤을 때 내용이 뜬다.

sudo cat /var/log/mongodb/mongod.log

컨피그의 확인과 수정

몽고 디비의 컨피그는 여기에 있다

sudo vi /etc/mongod.conf

내리다 보면 이게 보이는데
bindIp: 127.0.0.1

이렇게 바꿔주고. ec2인스턴스쪽의 세큐리티 그룹 인바운드쪽에서 ip제한을 걸어버리자

bindIp: 0.0.0.0  

참고로 몽고DB의 기본 포트는 27017이다

설정을 바꿨으면 몽고디비를 재시작 한다

sudo systemctl restart mongod  

바뀐 컨피그를 다시 확인해보자

sudo cat /etc/mongod.conf

EC2세큐리티그룹 인바운드 수정

자! 마지막으로 몽고디비의 인스턴스의 세큐리티 그룹에서 인바운드 ip 를 설정해보자
27017포트로 특정 ip 만 지정한다

몽고디비에 데이터베이스 생성하고 확인

쉘에서 실행

$mongo 

몽고디비에서는 이렇게 하면 mydb라는 데이터베이스가 만들어진다. 졸라간단!

> use bot
switched to db bot

당연한 얘기지만 처음에는 아무것도 없다.

> db.stats()
{
"db" : "bot",
"collections" : 0,
"objects" : 0,
"avgObjSize" : 0,
"dataSize" : 0,
"storageSize" : 0,
"numExtents" : 0,
"indexes" : 0,
"indexSize" : 0,
"fileSize" : 0,
"ok" : 1
}

몽고디비에서 데이터 등록

db.(컬렉션명).insert(); 형식이다

> db.test.insert({ "name" : "ZAKU", "color" : "green", "height" : 1750 , "state" : "EFSF", "pilot" : [ "Cucuruz Doan" ]});
> db.test.insert({ "name" : "GOUF", "color" : "blue", "height" : 1870 , "state" : "Zeon", "pilot" : [ "Ramba Ral" ]});

검색

db.test.find({color:'green'})
db.test.find({color:'blue'})

각자 실행시켜보면 등록한 데이터가 나오는 것을 확인할 수 있다.