Amazon Linux에 MongoDB설치,접속까지~

Amazon Linux, MongoDB, Query, SSH Tunneling,NoSQL Booster

Amazon Linux 2 설치

우선적으로 MongoDB를 설치하기 위한, EC2 인스턴스를 설치합니다. 저는 만만한(?) Amazon Linux 2를 용감하게 설치합니다.

MongoDB 설치

설치 방법은 MongoDB Documentation 찾아 보면 자세히 설명되어 있습니다. 친절하게 영어로... 뭐 설치만 하면 장땡이긴 하지만. 저는 한 번 문서를 읽어봅니다.

Overview

해당 가이드는 Amazon Linux에 MongoDB를 설치하는 가이드입니다. Amazon Linux 버전 1에도 동일하게 설치 가능하며, 버전 2는 이 메뉴얼에서 다룰 껍니다.

Packages

MongoDB provides officially supported packages in their own repository. This repository contains the following packages:

Package Name

Description

mongodb-org

아래 4개 패키지들을 자동 설치하는 패키지 입니다. 사실 이것만 깔아도 되요!

mongodb-org-server

mongodb서버 Configuration, Script를 관리, MongoDB의

mongodb-org-mongos

Mongos Daemon을 다룹니다.Mongos는 MongoDB의 Sharding을 다루는 데몬입니다.

mongodb-org-shell

Mongo DB용 쉘 패키지입니다.

mongodb-org-tools

Mongo DB용 관리 툴(mongodb import, bsondump, mongodump, mongoexport, mongofiles, mongoperf, mongorestore, mongostat, and mongotop) 이름만 봐도 뭐가 뭐하는지 알겠네요.

mongodb-org-server 패키지로 설치를 하게되면 Start 스크립트는 mongod로 설정되고, Configuration들은 /etc/mongod.conf로 설정되게 됩니다.

그리고 /etc/mongod.conf를 확인 해보면 bindip라는 것이 127.0.0.1로 설정되어 있습니다. 이건 환경에 맞게 설정하시면 됩니다. 보면 다양한 옵션들을 건들 수 있네요. 이런 건 피해주는 게 좋습니다.~

# mongod.conf

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

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

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

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  #bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.
  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.


#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

1. Configure the packages management system (yum).

Amazon Linux 기본 Repository에는 mongodb에 대한 정보가 없기 때문에 별도의 repository 설정을 추가해줍니다. /etc/yum.repo.d/ 아래에 3.6과 3.4 버전에 따른 Repository가 따로 있습니다. 버전에 맞게 설치하시면 됩니다.

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

2. Install the MongoDB packages.

To install the latest stable version of MongoDB, issue the following command.

[MongoDB Installation]
sudo yum install -y mongodb-org

각각의 패키지를 별도로 설치하고 싶으시다면, 아래와 같이 설치하시면 됩니다.

[MongoDB Installation]
sudo yum install -y mongodb-org-3.6.4 mongodb-org-server-3.6.4 mongodb-org-shell-3.6.4 mongodb-org-mongos-3.6.4 mongodb-org-tools-3.6.4

MongoDB 실행하기

시작 스크립트는 다음과 같습니다.

[MongoDB Start]
sudo service mongod start

시작이 정상적으로 되면 27017 Port가 오픈되어 있는 것을 확인하면 되겠죠?

MongoDB 접속하기(Local & Remote)

접근하기 전 /etc/mongod.conf에서 bindIp를 수정해주셔야 접근이 됩니다. 저같은 경우에는 0.0.0.0으로 수정 했습니다. Default는 127.0.0.1 수정안하면 Connection Refused Error가 발생!!

MongoDB가 실행 잘되는 것은 확인했습니다. 이제 접속을 해서 써봐야겟죠? 일단 Local에서 접속해봅니다.

호기심으로 Ubuntu Window버전에 mongodb-org 패키지를 설치하여 접속해봅니다. 잘됩니다.^^

마지막으로, 우리들의 손가락을 편하게 할 Management Tool(NoSQL Boost)을 이용해봅니다.

기존에 기입했던 데이터가 잘 출력되네요.

이번 메뉴얼은 MongoDB 설치까지만 진행하였습니다. 추가적으로 진행할 사항은 MongoDB Clustering과 Sharding 그리고, DMS(Database Migration Service)를 이용한 DynamoDB로의 이관(사실 이게 해보고 싶었.습니다.) 그럼 이만~

Last updated