手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 8 MongoDB 構築 – リポジトリと待ち受け設定の確認

CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。

CentOS 8 サーバー管理ガイドへ戻る

CentOS 8 で MongoDB を導入し、データベースサーバーとして起動確認する場合の確認項目をまとめます。MongoDB はドキュメント指向データベースであり、RDBMS と同じ感覚で外部公開すると危険です。既存環境を読むときは、パッケージの導入元、待ち受けアドレス、認証、データ配置、バックアップ方針をセットで確認します。

CentOS 8 で扱う前提

CentOS 8 は EOL 済みであり、リポジトリやパッケージの入手性は当時と変わっています。この記事は新規標準構成ではなく、既存環境の状態確認や移行前調査のためのメモです。新しく MongoDB を使う場合は、現在サポートされている OS と MongoDB の組み合わせを選びます。

  • 既存環境では、まず導入元リポジトリとバージョンを確認する。
  • 外部公開前提ではなく、ローカル待ち受けから確認する。
  • 認証、バックアップ、容量監視を後回しにしない。
  • アプリケーションの接続文字列と実際の待ち受けを照合する。

リポジトリを確認する

MongoDB は CentOS 標準リポジトリだけで完結しない構成が多いため、まず /etc/yum.repos.d/ に MongoDB 用のリポジトリがあるかを確認します。既存環境では、どの世代の MongoDB を使っていたかを把握することが重要です。

ls -l /etc/yum.repos.d/
grep -R "mongodb" /etc/yum.repos.d 2>/dev/null
dnf repolist

リポジトリファイルを作成する例

検証用にリポジトリ定義を作る場合は、対象バージョンとサポート状況を確認してから作成します。既存環境の再現では、当時使っていた MongoDB 系列に合わせる必要があります。

tee /etc/yum.repos.d/mongodb-org.repo >/dev/null <<'EOF'
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
dnf repolist

インストールする

リポジトリが見える状態になったら、MongoDB のパッケージを導入します。既存環境の調査では、インストール前に dnf list で候補バージョンを確認しておくと、後から差分を追いやすくなります。

dnf list mongodb-org
dnf install mongodb-org
rpm -qa | grep -i mongodb

設定ファイルを確認する

/etc/mongod.conf では、データディレクトリ、待ち受けアドレス、ポート、認証設定を確認します。特に bindIp0.0.0.0 になっている場合は、ファイアウォールや認証を含めて意図した公開範囲か確認します。

grep -E "^  dbPath|^  bindIp|^  port|^security:|^  authorization" /etc/mongod.conf
ss -lntp | grep mongod

サービスを起動する

サービス起動後は、systemctl status だけでなく journal も確認します。設定ファイルの YAML 構文、データディレクトリの権限、ポート競合で起動に失敗することがあります。

systemctl enable --now mongod
systemctl status mongod
journalctl -u mongod -n 50 --no-pager

接続確認

ローカル接続で ping が返ることを確認します。リモート接続を許可する場合でも、まずローカルで正常に起動していることを確認し、その後に待ち受けアドレス、ファイアウォール、認証を段階的に見ます。

mongosh --eval "db.runCommand({ ping: 1 })"
mongosh --eval "db.version()"

外部公開前に確認する

MongoDB はデータベースそのものを扱うため、外部公開の判断は慎重に行います。アプリケーションサーバーからだけ接続する構成であれば、bindIp を必要なアドレスに限定し、ファイアウォールでも接続元を絞ります。

  • bindIp が必要最小限のアドレスになっているか。
  • 認証を有効化しているか。
  • firewalld で接続元を制限しているか。
  • バックアップとリストアの手順を確認しているか。
  • アプリケーションの接続文字列を安全に管理しているか。

バックアップと容量を確認する

既存環境を引き継ぐ場合は、起動確認だけで終わらせず、データ配置とバックアップを確認します。dbPath のあるファイルシステムがどの程度使われているか、スナップショットやダンプの取得方法があるかを見ます。

grep -E "^  dbPath" /etc/mongod.conf
df -h /var/lib/mongo
du -sh /var/lib/mongo

確認するポイント

  • MongoDB の導入元リポジトリとバージョンが分かるか。
  • mongod.confbindIp と実際の待ち受けが一致しているか。
  • 認証と接続元制限が有効になっているか。
  • dbPath の容量、バックアップ、リストア方針があるか。
  • CentOS 8 の EOL を前提に、移行先 OS と MongoDB バージョンを検討しているか。

まとめ

CentOS 8 上の MongoDB は、インストール手順そのものよりも、導入元、待ち受け、認証、データ配置、バックアップをどう扱っているかの確認が重要です。既存環境を調査する場合は、mongod.conf と実際の待ち受け、アプリケーションの接続先を照合し、移行時に再現すべき条件を明確にします。

関連する記事

関連する記事

参考書籍

参考
書籍
参考書籍
CentOS 7 システム管理ガイド

CentOS 7 の systemd、NetworkManager、firewalld などを確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

CentOS 8 MongoDB 構築 – リポジトリと待ち受け設定の確認

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る