Docs Menu
Docs Home
/
データベース マニュアル
/ / /

mongot 用のキーファイル認証を使用したレプリカセットの配置

この手順では、mongod 「MongoDB Search とMongoDB ベクトル検索 Tarball のインストール」チュートリアルを完了するために、 をローカルに設定する方法について説明します。

注意

すでにキーファイル認証が設定されているレプリカセットがある場合は、この手順をスキップできます。

1

キーファイル認証では、レプリカセット内の各 mongod インスタンスは、配置内の他のノードを認証するための共有パスワードとしてキーファイルの内容を使用します。正しいキーファイルを持つ mongod のインスタンスのみがレプリカセットに参加できます。

注意

内部メンバーシップ認証用のキーファイルでは、キーファイル内に複数のキーを含めるために YAML 形式が使用されます。YAML 形式は次のいずれかを受け入れます。

  • 1 つのキー文字列(以前のバージョンと同じ)

  • キー文字列のシーケンス

YAML 形式は、テキストファイル形式を使用する既存の単一のキー キーファイルと互換性があります。

キーの長さは 6 文字から 1024 文字の間で、base64 セット内の文字のみを含めることができます。レプリカセットのすべてのノードは、少なくとも 1 つの共通キーを共有する必要があります。

注意

UNIX システムでは、キーファイルにグループ権限またはワールド権限があってはなりません。Windows システムでは、キーファイルの権限はチェックされません。

キーファイルは、選択した任意の方法で生成できます。たとえば、次の操作では、openssl を使用して、共有パスワードとして使用する疑似ランダムの複雑な 1024 文字の文字列を生成します。次に、chmod を使用してファイル権限を変更し、ファイル所有者のみに読み取り権限を付与します。

openssl rand -base64 756 > <path/to/keyfile>
chmod 400 <path/to/keyfile>

キーファイルの使用に関する詳細と要件については、「キーファイル」を参照してください。

2

レプリカセットをホストしている各サーバーにキー ファイルをコピーします。mongod インスタンスを実行中のユーザーがファイルの所有者であり、キーファイルにアクセスできるようにしてください。

Windows ドライブやネットワーク接続ストレージデバイスなど、mongod インスタンスをホストするハードウェアから簡単に切断できるストレージメディアにキーファイルを保存するのを避けます。

3

構成ファイルを作成するには、次のコードを mongod.conf または希望する場所に保存します。

# MongoDB Configuration File
# Network configuration
net:
port: 27017
bindIpAll: true # Equivalent to --bind_ip_all
# Replica set configuration
replication:
replSetName: rs0
# Security configuration
#security:
# authorization: enabled # Equivalent to --auth
# keyFile: </path/to/keyfile>
# Search configuration parameters
setParameter:
mongotHost: localhost:27027
searchIndexManagementHostAndPort: localhost:27027
# Process management configuration
processManagement:
fork: true
# Logging configuration
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
4

mongod を起動するには、上記で作成した構成ファイルを指定して、次のコマンドを実行します。

./mongod --config mongod.conf
5

次のコマンドでプライマリノードに接続するには、mongosh を使用します。

mongosh --port 27017
6

mongod で管理者ユーザーを作成するには、次のコマンドを実行して、<password>myAdmin ユーザーに必要なパスワードに置き換えます。

use admin
db.createUser(
{
user: "myAdmin",
pwd: "<password>",
roles: [
{
role: "root",
db: "admin"
}
]
}
)

詳細については、カスタムロールの作成 を参照してください。

7

rs.initiate()レプリカセットを開始するには、 メソッドを使用します。詳細については、こちらの例を参照してください。

8

mongosh を終了するには、次のコマンドを実行します。

exit
9

mongod構成ファイルの作成で作成した mongod.confファイル内の次の行のコメントアウトを外します。「キーファイルの作成」で作成したキーファイルへのパスに</path/to/keyfile>を置き換えます。

security:
authorization: enabled # Equivalent to --auth
keyFile: </path/to/keyfile>
10

キーファイル認証を使用して mongod を起動するには、 mongod構成ファイルの作成 で作成し、手順全体で更新した構成ファイルを指定します。

./mongod --config mongod.conf

戻る

検索への接続