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'})
각자 실행시켜보면 등록한 데이터가 나오는 것을 확인할 수 있다.