
MongoDBは、強力で柔軟性の高いNoSQLサーバーであり、様々な種類の最新アプリやサービスに利用できます。また、MongoDBはスケーラビリティも高く、膨大な量の非構造化データを処理できます。
参照:採用キット: データベースエンジニア(TechRepublic Premium)
Ubuntu と RHEL ベースの Linux ディストリビューションの両方に MongoDB をインストールする方法について概説しましたが、リモート アクセス用に設定する方法については説明が省略されていました。
RHEベースのディストリビューションでは、MongoDBの最新バージョンに対応するため、インストール方法が変更されました。新しいインストールでは、異なるリポジトリとインストールコマンドが必要です。リポジトリは次のコマンドで作成します。
sudo nano /etc/yum.repos.d/mongodb-org-6.0.repo
そのリポジトリの内容は次のとおりです。
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=
https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
最後に、インストール コマンドは次のようになります。
sudo dnf install mongodb-org mongodb-mongosh -y
MongoDB をインストールして実行したら、リモートアクセス用に設定する必要があります。なぜでしょうか?MongoDB サーバーを、他のリモートマシンにデータを提供するための集中的な場所として利用したい場合があるからです。
MongoDBでリモートアクセスを有効にするために必要なもの
MongoDB をリモート アクセス用に有効にするには、実行中の MongoDB インスタンスと sudo 権限を持つユーザーが必要です。
MongoDBのリモートアクセスを有効にする方法
まず最初に認証を有効にする必要があります。そのためには、次のコマンドでMongoDBコンソールにアクセスします。
mongosh
次のようにして、組み込みの MongoDB 管理者に変更します。
use admin
次のようにして新しい管理者ユーザーを作成します。
db.createUser(
{
user: "madmin",
pwd: passwordPrompt(), // or cleartext password
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)
お好きなユーザー名に変更できますmadmin
。新しいパスワードを作成するように求められます。注意:パスワードは一度しか入力できませんので、慎重に入力してください。
次に、次のコマンドで MongoDB 構成ファイルを開きます。
sudo nano /etc/mongod.conf
次の行を見つけます:
#security:
その行を次のように変更します。
security:
authorization: enabled
ファイルを保存して閉じます。
次のコマンドで MongoDB を再起動します。
sudo systemctl restart mongod
これでリモートアクセスを有効にできます。もう一度、MongoDBの設定ファイルを次のように開きます。
sudo nano /etc/mongod.conf
そのファイルで、次のセクションを見つけます。
net:
port: 27017
bindIp: 127.0.0.1
そのセクションを次のように変更します。
net:
port: 27017
bindIp: 0.0.0.0
ファイルを保存して閉じます。次のコマンドでMongoDBを再起動します。
sudo systemctl restart mongod
サーバーでファイアウォールを使用している場合は、ポート 27017 を開く必要があります。たとえば、Ubuntu ベースのディストリビューションでは次のようになります。
sudo ufw allow from remote_machine_ip to any port 27017
次のコマンドでファイアウォールをリロードします。
sudo ufw reload
リモートアクセスを許可
この時点で、上記で作成した新しい管理者ユーザーとパスワードを使用して、ポート27017でMongoDBに接続できるはずです。これでMongoDBのリモートアクセスを有効にする手順は完了です。このサーバーを集中型DBプラットフォームとして使用したい場合は、これで可能になります。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。
MongoDB について詳しくは、TechRepublic Academy の以下のリソースをご覧ください:
Node、Express、MongoDB を使用した RESTful API の構築
フルスタック Web 開発: Node と MongoDB NoSQL データベースを使用した Web サイトの構築
データ アナリティクス エキスパート認定バンドル