SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【MongoDB】MongoDBへの外部接続環境を整える(A5M2編)

MongoDBに対して接続できるように環境を整えます。
前提としては下記記事のようにMongoDBがサーバにインストールされている状態となります。

www.wantanblog.com

完成イメージ

f:id:wantanBlog:20200328004201p:plain

事前準備

サーバの状態によってやるべきことは変わってくるので必要があるかは要確認です。
今回はA5M2向けにやっていますが、他のツールなどで使用する場合にも同じような設定が必要になるでしょう。

MongoDB管理ユーザの登録

外部から接続する際に認証を行うようにするために管理ユーザを登録しておきます。

まだ外部から接続できるようにしていないので、前回同様MongoShellを使用します。

・MongoShellを起動

mongo

・adminに切り替え

use admin

・ユーザの登録
user名やパスワードは任意で入力して以下のコマンドを実行します。

db.createUser({user:"wantan", pwd:"wantan", roles:[{role:"root", db:"admin"}]})

・認証の有効化

mongod --auth --dbpath /var/lib/mongo
confファイルの設定

接続元を指定するconfファイルを書き換えます。

vim /etc/mongod.conf

・変更前(デフォルト)

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

・修正後

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

もともとはローカルからのみの接続が許可されています。

FireWallの設定

外部から接続を行うためにファイアウォールの設定を行います。

・ファイアウォールの設定確認

firewall-cmd --list-all

私と同様の操作を行っていた場合、mongoはサービス設定されていないと思います。

f:id:wantanBlog:20200327232942p:plain

・ファイアウォールの設定

firewall-cmd --zone=public --add-port=27017/tcp --permanent

再起動

firewall-cmd --reload
SELinuxの設定

すいません、SELinuxとは、については省略します。
個人利用や試しに実施する場合ではないときはしっかりと設定した方がいいです。

・状態確認

sudo getenforce

Enforcing

Permissive以外になっている場合には設定を行います。

・無効化

setenforce 0
ポートフォワーディング設定(VirtualBox)

VirtualBoxの場合のみ必要になります。

f:id:wantanBlog:20200327231551p:plain

名前は任意で、ゲストポート側をmongoDBのポート番号に設定します。
※デフォルトは27017

ホストポートは使用していない任意のポート番号を設定します。

A5M2での接続

MongoDBへの接続するツールは専用のものも含めていくつか存在しますが、フリーツールのA5M2でも接続を行うことができます。

A5M2はインストールされていることが前提です。

データベースの追加

新規にデータベースの追加を行います。

f:id:wantanBlog:20200328002912p:plain

f:id:wantanBlog:20200328003003p:plain

MongoDBを選択します。

f:id:wantanBlog:20200328003027p:plain

以下のように設定します。
各値はここまでで設定した内容のものを入力してください。

f:id:wantanBlog:20200328003350p:plain

接続テストを行って以下が表示されればOKです。

f:id:wantanBlog:20200328003406p:plain

追加を行うと以下のように表示されるので分かりやすい名前をつければOKです。

f:id:wantanBlog:20200328003818p:plain

確認してみると以前の記事で追加したドキュメントが登録されているところまで確認できました。

f:id:wantanBlog:20200328004008p:plain