Red Hat または CentOS への MongoDB Enterprise Edition のインストール
項目一覧
Overview
このチュートリアルを使用して MongoDB 8.0をインストールします yum
パッケージ マネージャーを使用して、Red Hat Enterprise Linux、CentOS Linux、または Oracle Linux [ 1 ]上の Enterprise Edition を実行します。
MongoDB Enterprise エディションは一部のプラットフォームで利用でき、セキュリティとモニタリングに関連するいくつかの機能のサポートが含まれています。
MongoDB バージョン
このチュートリアルでは、MongoDB 8.0 Enterprise Edition をインストールします。MongoDB Enterprise の別のバージョンをインストールするには、このページの左上隅にあるバージョンのドロップダウンメニューから、そのバージョンのドキュメントを選択します。
Considerations
プラットフォーム サポート
MongoDB 8.0 Enterprise Edition は、次の 64 ビット バージョンを x86_64 アーキテクチャー上でサポートしています: Red Hat Enterprise Linux(RHEL)、CentOS Linux、Oracle Linux [1]、Rocky Linux、AlmaLinux [2]。
RHEL、CentOS Stream、Oracle、Rocky、AlmaLinux 9
RHEL、CentOS Stream、Oracle、Rocky、AlmaLinux 8
MongoDB はこれらのプラットフォームの 64 ビット版のみをサポートしています。
MongoDB 8.0 RHEL 、CentOS、Oracle、Rocky、Alma Linux 上の Enterprise Edition は、一部のプラットフォームでARM 64アーキテクチャもサポートしています。
詳しくは、「プラットフォーム サポート」を参照してください。
[1] | (1、2) MongoDB は Red Hat Compatible Kernel(RHCK)を実行している Oracle Linux のみをサポートしています。MongoDB は Unbreakable Enterprise Kernel(UEK)をサポートしていません。 |
[2] | RHEL バージョン 8.0 以降向けにリリースされた MongoDB オンプレミス製品は、Rocky Linux バージョン 8.0 以降、および AlmaLinux バージョン 8.0 以降と互換性があり、サポートします。ただし、これらのディストリビューションが完全な RHEL 互換性を提供する義務を果たすことが前提となります。 |
プロダクション ノート
MongoDB を本番環境に導入する前に、本番環境の MongoDB導入に関するパフォーマンス上の考慮事項と構成の推奨事項を示す 自己管理型配置のプロダクション ノート を検討してください。
MongoDB Enterprise Editionをインストールする
yum
パッケージ マネージャーを使用して MongoDB Enterprise エディションをインストールするには、次の手順に従います。
リポジトリの構成
yum
を使用して MongoDB Enterprise を直接インストールできるように、/etc/yum.repos.d/mongodb-enterprise-8.0.repo
ファイルを作成します。
[mongodb-enterprise-8.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/9/mongodb-enterprise/8.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-8.0.asc
[mongodb-enterprise-8.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/8/mongodb-enterprise/8.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-8.0.asc
注意
このディレクトリに MongoDB の以前のインストールからの mongodb-enterprise.repo
ファイルがある場合は、削除する必要があります。上記の mongodb-enterprise-8.0.repo
ファイルを使用して MongoDB 8.0 をインストールします。
また、MongoDB リポジトリから .rpm
ファイルを直接ダウンロードすることもできます。ダウンロードは Red Hat / CentOS のバージョン別に整理されています(例: 9
)の場合は、MongoDB の リリース バージョン(例: 8.0
)、アーキテクチャ(例: x86_64
)。
MongoDB 5.0 以前のバージョンでは、MongoDB の開発リリース バージョンには、4.3
といった奇数番号が振られていました。MongoDB 5.1 以降、MongoDB は四半期ごとに Rapid Release を公開しています。Rapid Release と長期的にサポートされるリリースの相違に関する詳細については、「MongoDB バージョン管理」を参照してください。
MongoDB Enterprise Server のインストール
MongoDB Enterprise 8.0 の最新の安定バージョンをインストールするには、次のコマンドを発行します。
sudo yum install -y mongodb-enterprise
特定のリリースをインストールするには、次の例のように、各コンポーネント パッケージをバージョン番号とともに個別に指定する必要があります。
sudo yum install -y mongodb-enterprise-8.0.0 mongodb-enterprise-database-8.0.0 mongodb-enterprise-server-8.0.0 mongodb-mongosh mongodb-enterprise-mongos-8.0.0 mongodb-enterprise-tools-8.0.0
注意
MongoDB Enterprise の利用可能な任意のバージョンを指定できますが、新しいバージョンが利用可能になると、yum
はパッケージをアップグレードします。意図しないアップグレードを防ぐには、次の exclude
ディレクティブを /etc/yum.conf
ファイルに追加してパッケージを固定します。
exclude=mongodb-enterprise,mongodb-enterprise-database,mongodb-enterprise-server,mongodb-enterprise-shell,mongodb-enterprise-mongos,mongodb-enterprise-tools
注意
システムの OpenSSL を使用する MongoDB Shell をインストールすることもできます。このバージョンの MongoDB Shell をインストールする前に、システムに OpenSSL がインストールされている必要があります。
最初に MongoDB Shell を削除しなくても、すべての MongoDB Enterprise パッケージと、システムの OpenSSL を使用する MongoDB Shell をインストールできます。以下に例を挙げます。
sudo yum install -y mongodb-enterprise mongodb-mongosh-shared-openssl11
次の例では、MongoDB Shell を削除し、システムの OpenSSL 1.1 を使用する MongoDB Shell をインストールしています。
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl11
次の例では、MongoDB Shell を削除し、システムの OpenSSL 3 を使用する MongoDB Shell をインストールしています。
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl3
インストールする MongoDB パッケージを選択することもできます。
次の例では、MongoDB Enterprise とツール、およびシステムの OpenSSL 1.1 を使用する MongoDB Shell をインストールします。
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl11
次の例では、MongoDB Enterprise とツール、およびシステムの OpenSSL 3 を使用する MongoDB Shell をインストールしています。
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl3
MongoDB Enterprise Edition を実行する
ulimit
ほとんどの Unix 系オペレーティング システムでは、プロセスが使用できるシステム リソースが制限されています。 これらの制限は MongoDB の操作に悪影響を及ぼす可能性があるため、調整する必要があります。 プラットフォームに推奨される設定については、 「 自己管理型配置の UNIX ulimit
設定」を参照してください。
注意
オープンしているファイル数のulimit
値が64000
未満の場合、MongoDB は起動警告を生成します。
ディレクトリ パス
既定のディレクトリを使用するには
MongoDB は デフォルトで、mongod
ユーザー アカウントを使用して実行され、次のデフォルト ディレクトリを使用します。
/var/lib/mongo
(データディレクトリ)/var/log/mongodb
(ログディレクトリ)
パッケージマネージャーはインストール中にデフォルトのディレクトリを作成します。所有者とグループ名は mongod
です。
既定以外のディレクトリを使用するには
デフォルト以外のデータディレクトリやログ ディレクトリを使用するには、次の手順に従います。
新しいディレクトリ(複数可)を作成します。
構成ファイル
/etc/mongod.conf
を編集し、必要に応じて次のフィールドを変更します。storage.dbPath
で新しいデータディレクトリのパスを指定します(例:/some/data/directory
)systemLog.path
で新しいログファイルのパスを指定します(例:/some/log/directory/mongod.log
)
MongoDB を実行しているユーザーがディレクトリにアクセスできるようにします。
sudo chown -R mongod:mongod <directory> MongoDB プロセスを実行するユーザーを変更する場合は、新しいユーザーにこれらのディレクトリへのアクセス権を付与する必要があります。
SELinux が強制されている場合は、構成します。「SELinux の構成」を参照してください。
SELinux を設定する
MongoDB 5.0 以降、以下を実行する MongoDB インストールで新しい SELinux ポリシーを利用できるようになりました。
.rpm
インストーラーを使用します。デフォルトの構成設定を使用します。
RHEL7 以降で実行します。
インストールが上記要件を満たしていない場合は、.tgz
パッケージ向けの「SELinux インストラクション」を参照してください。
注意
MongoDB 配置で次のいずれかのカスタム設定を使用する場合、
MongoDB が提供する SELinux ポリシーは使用できません。代替策としてカスタム SELinux ポリシーを作成することもできますが、不適切に記述されたカスタム ポリシーによって安全性の低下や mongod
インスタンスの動作停止が生じる恐れがあります。
SELinux ポリシーをインストールする
次のパッケージがインストールされていることを確認してください。
git
make
checkpolicy
policycoreutils
selinux-policy-devel
sudo yum install git make checkpolicy policycoreutils selinux-policy-devel ポリシーリポジトリをダウンロードします。
git clone https://github.com/mongodb/mongodb-selinux ポリシーをビルドします。
cd mongodb-selinux make ポリシーを適用します。
sudo make install
重要
下位互換性のない機能
MongoDB 5.1 以降で MongoDB の前のバージョンにダウングレードするには、SELinux ポリシーのクローンが過去に作成されたディレクトリから次のコマンドをダウングレード前に実行する必要があります。
sudo make uninstall
SELinux ポリシーに関する考慮事項
SELinux ポリシーは、標準の MongoDB
.rpm
パッケージのインストールによって生成される構成で動作するように設計されています。詳しくは、「標準インストールの前提条件」を参照してください。SELinux ポリシーは
mongod
サーバー用に作成されており、次のような MongoDB の他のデーモンやツールには適用されません。参照ポリシー SELinux プロジェクトが提供する には
mongodb_admin
関数が含まれています。このマニュアルは MongoDB SELinux ポリシーに含まれていません。unconfined_t
ドメインの管理者はmongod
を管理できます。ポリシーをアンインストールするには、ポリシー リポジトリをダウンロードしたディレクトリに移動して、次のコマンドを実行します。
sudo make uninstall
手順
システム上で MongoDB Enterprise Edition を実行するには、次の手順に従ってください。これらの手順は、デフォルト設定を使用していることを前提としています。
init システム
mongod
プロセスを実行、管理するには、オペレーティング システムに組み込まれている init システムを使用します。最近のバージョンの Linux では systemd(systemctl
コマンドを使用)が使用される傾向があり、古いバージョンの Linux では System V init(service
コマンドを使用)が使用される傾向があります。
プラットフォームで使用されている init システムがわからない場合は、次のコマンドを実行します。
ps --no-headers -o comm 1
次に、結果に基づいて以下の適切なタブを選択します。
systemd
- 以下の [systemd(systemctl)] タブを選択します。init
- 以下の [System V Init(サービス)] タブを選択します。
MongoDB が正常に起動したことを確認します。
次のコマンドを実行すると、mongod
プロセスが正常に開始されたことを確認できます。
sudo systemctl status mongod
必要に応じて、次のコマンドを実行すると、システムの再起動後に MongoDB が確実に起動するようにできます。
sudo systemctl enable mongod
MongoDB を停止します。
必要に応じて、次のコマンドを発行して、mongod
プロセスを停止できます。
sudo systemctl stop mongod
MongoDB を再起動します。
次のコマンドを発行して、mongod
プロセスを再開できます。
sudo systemctl restart mongod
プロセスの状態をエラーや重要なメッセージで確認するには、/var/log/mongodb/mongod.log
ファイルの出力を監視してください。
MongoDB の使用を開始します。
mongosh
と同じホストマシン上でmongod
セッションを開始します。コマンドライン オプションなしでmongosh
を実行すると、デフォルト ポート27017を使用してローカルホストで実行されているmongod
に接続できます。
mongosh
mongosh
を使った接続(別のホストやポートで実行されている mongod
インスタンスへの接続など)の詳細については、「mongosh ドキュメント」を参照してください。
MongoDB をスムーズに使い始められるように、MongoDB ではさまざまなドライバー エディションでスタートガイドを提供しています。ドライバーのドキュメントについては、「MongoDB での開発スタートガイド」を参照してください。
MongoDB を起動します。
次のコマンドを発行して、mongod
プロセスを開始できます。
sudo service mongod start
MongoDB が正常に起動したことを確認します
mongod
プロセスが正常に開始したことを確認するには、ログファイル /var/log/mongodb/mongod.log
の内容で次の行を確認します。
[initandlisten] waiting for connections on port <port>
ここで、 <port>
は/etc/mongod.conf
で構成されたポートであり、デフォルトでは27017
です。
必要に応じて、次のコマンドを実行すると、システムの再起動後に MongoDB が確実に起動するようにできます。
sudo chkconfig mongod on
MongoDB を停止します。
必要に応じて、次のコマンドを発行して、mongod
プロセスを停止できます。
sudo service mongod stop
MongoDB を再起動します。
次のコマンドを発行して、mongod
プロセスを再開できます。
sudo service mongod restart
プロセスの状態をエラーや重要なメッセージで確認するには、/var/log/mongodb/mongod.log
ファイルの出力を監視してください。
MongoDB の使用を開始します。
mongosh
と同じホストマシン上でmongod
セッションを開始します。コマンドライン オプションなしでmongosh
を実行すると、デフォルト ポート27017を使用してローカルホストで実行されているmongod
に接続できます。
mongosh
mongosh
を使った接続(別のホストやポートで実行されている mongod
インスタンスへの接続など)の詳細については、「mongosh ドキュメント」を参照してください。
MongoDB をスムーズに使い始められるように、MongoDB ではさまざまなドライバー エディションでスタートガイドを提供しています。ドライバーのドキュメントについては、「MongoDB での開発スタートガイド」を参照してください。
MongoDB をアンインストールする
システムから MongoDB を完全に削除するには、MongoDB アプリケーション自体、構成ファイル、データとログを含むすべてのディレクトリを削除する必要があります。次のセクションで必要な手順をご案内します。
警告
このプロセスにより、MongoDB、その構成、およびすべてのデータベースが 完全に 削除されます。このプロセスは元に戻すことができないため、続行する前にすべての構成とデータがバックアップされていることを確認してください。
MongoDB を停止します。
次のコマンドを発行して、mongod
プロセスを停止します。
sudo service mongod stop
詳細情報
デフォルトの Localhost バインディング
デフォルトでは、MongoDB は bindIp
を 127.0.0.1
に設定して起動します。これは、ローカルホスト ネットワーク インターフェースにバインドされます。つまり、mongod
は同じマシン上で実行中のクライアントからの接続のみを受け入れることができます。この値が有効なネットワークインターフェースに設定されていない限り、リモートクライアントは mongod
に接続できず、mongod
はレプリカセットを初期化できません。
この値は、次のいずれかに設定できます。
警告
インスタンスをパブリックにアクセス可能な IP アドレスにバインドする前に、クラスターを不正アクセスから保護する必要があります。 セキュリティ推奨事項の完全なリストについては、「自己管理型配置のセキュリティ チェックリスト」を参照してください。 最低限、認証を有効化し、ネットワーク インフラストラクチャの強化 を検討してください。
bindIp
の構成の詳細については、「自己管理型配置の IP バインディング 」を参照してください。
MongoDB Enterprise エディション パッケージ
MongoDB Enterprise エディションは専用のリポジトリから入手でき、次の公式にサポートされているパッケージが含まれています。
パッケージ名 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
mongodb-enterprise | 以下に掲げるコンポーネント パッケージを自動的にインストールする metapackage です。 | ||||||||
mongodb-enterprise-database | 以下に掲げるコンポーネント パッケージを自動的にインストールする
| ||||||||
mongodb-mongosh | MongoDB Shell( mongosh )を含みます。 | ||||||||
mongodb-shared-openssl* | コンピューターにすでにインストールされている OpenSSL バージョン ( mongosh ) を使用する MongoDB Shell が含まれています。 | ||||||||
mongodb-enterprise-tools | 以下に掲げるコンポーネント パッケージを自動的にインストールする
|