紙一重の積み重ね

アラフォーのエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

AWS上のUbuntu20.04にMongoDB4.4.1を構築する(インストールから外部接続まで)

はじめに

Ubuntu20.04にMongoDBをインストールしたのでメモ。

環境

  • AWS
    • Ubuntu20.04
    • MongoDB 4.4.1

事前準備

  • AWS上にEC2構築
    • Public Subnetに配置
    • EIPを割り振り、IPを固定化
    • セキュリティグループ設定
      • SSH開放:22
      • MongoDBのデフォルトポート開放:27017

参考手順

公式手順に従います。

docs.mongodb.com

MongoDB CommunityEdition のインストール

公開鍵のインポート

$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
OK

MongoDBのリストファイルを生成

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

apt-getの更新

$ sudo apt-get update

MongoDBのインストール

最新の安定バージョンをインストールする

$ sudo apt-get install -y mongodb-org

MongoDB の起動

lintシステムの確認

systemdか、initかを確認する

$ ps --no-headers -o comm 1
systemd

以下、systemd の手順で実施する

デーモンの起動

$ sudo systemctl start mongod

ステータスチェック

$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-10-11 23:57:11 UTC; 40s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 36532 (mongod)
     Memory: 66.9M
     CGroup: /system.slice/mongod.service
             mq36532 /usr/bin/mongod --config /etc/mongod.conf

MongoDBの停止

$ sudo systemctl stop mongod

ステータスチェックを行い、停止できているか確認

$ $ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://docs.mongodb.org/manual

MongoDBの再起動

$ sudo systemctl restart mongod

ステータスチェックを行い、起動しているかを確認

$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-10-12 00:00:30 UTC; 5s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 36634 (mongod)
     Memory: 160.1M
     CGroup: /system.slice/mongod.service
             mq36634 /usr/bin/mongod --config /etc/mongod.conf

shellから利用する

mongoコマンドを実行し、任意のDB名を指定して実行する。

MongoDB 4.4.1がインストールされていることを確認。

$ mongo testdb
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/testdb?compressors=disabled&gssapiServiceName=mongodb

略

# バージョン確認
> db.version();
4.4.1

Ubuntu外からのアクセスを許可する

設定ファイルを開く。

$ sudo vi /etc/mongod.conf

すべてのIPからのアクセスを許可する。

(ただし、実際のIP制限はEC2のセキュリティグループで実施する)

# network interfaces
net:
  port: 27017
  # bindIp: 127.0.0.1
  bindIp: 0.0.0.0

MongoDBを再起動する。

$ sudo systemctl restart mongod

MongoDB Compassからアクセスする

接続元の端末から、MongoDB Compassを起動し、New Connection を表示

f:id:yokoyantech:20201026143751p:plain

以下を入力して、CONNECTをクリック

mongodb://EIPアドレス:27017

以下のように表示されればOK

f:id:yokoyantech:20201026143814p:plain