シャーディングされたクラスターのノードは、 キーファイルを使用して、同じ配置のノードとして相互を認証できます。
キーファイルには複数のキーを含めることができ、少なくとも 1 つのキーがメンバー間で共通の場合、メンバーシップ認証が確立されます。 これにより、ダウンタイムなしでキーのローリング アップグレードが可能になります。
次のチュートリアルでは、シャーディングされたクラスターのキーをダウンタイムなしで更新するプロセスについて説明します。 [1]
警告
このチュートリアルのサンプルキーは、説明のみを目的としています。 配置にを使用しないでください 。 代わりに、選択した任意の方法でキーファイルを生成します(例: openssl rand -base64
756など)。
各ノードのキーファイルに次のキーが含まれるシャーディングされたクラスターを考えてみましょう。

次の手順では、シャーディングされたクラスターのノードを新しいキーを使用するように更新します。

| [1] | このチュートリアルは、 MongoDB の暗号化されたストレージ エンジン のローカル キー管理に使用される キー ファイルには適用されません。そのキーファイルには1つのキーしか入れることができません。 |
手順
1. キーファイルを変更して、古いキーと新しいキーを含める
各ノードのキーファイルを変更して、古いキーと新しいキーの両方を含めます。
警告
このチュートリアルのサンプルキーは、説明のみを目的としています。 配置に使用しないでください。 代わりに、選択した任意の方法でキーファイルを生成します(例: openssl rand -base64
756など)。
複数のキー文字列をキー文字列のシーケンスとして指定できます(オプションで引用符で囲む)。

1. 各ノードを再起動する
すべてのキーファイルに古いキーと新しいキーの両方が含まれたら、各ノードを一度に 1 つずつ再起動します。
コンフィギュレーションサーバー
コンフィギュレーションサーバー レプリカセット(CSRS) の各セカンダリについて、 mongoshをノードに接続し、
ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
プライマリの場合は、 mongoshをノードに接続し、
rs.stepDown()を使用してメンバーを降格します。rs.stepDown() ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
レプリカセットのシャーディング
シャード レプリカセット の各 セカンダリ メンバーについて、 mongoshをメンバーに接続し、
ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
各 シャード レプリカセット のプライマリについて、 mongoshをノードに接続し、
rs.stepDown()を使用してメンバーを降格します。rs.stepDown() ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
mongos ルーター
各 mongos/ルーター インスタンスについて、 mongoshをmongosインスタンスに接続し、
ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
すべてのノードが再起動されると、ノードはメンバーシップ認証に古いキーまたは新しいキーのいずれかを受け入れるようになりました。
3. キーファイルの内容を新しいキーのみに更新する
警告
このチュートリアルのサンプルキーは、説明のみを目的としています。 配置に使用しないでください。 代わりに、選択した任意の方法でキーファイルを生成します(例: openssl rand -base64
756など)。
各ノードのキーファイルを変更して、新しいパスワードのみを含めます。

4. 各ノードを再起動する
すべてのキーファイルに新しいキーのみが含まれたら、各ノードを一度に 1 つずつ再起動します。
コンフィギュレーションサーバー
コンフィギュレーションサーバー レプリカセット(CSRS) の各セカンダリについて、 mongoshをノードに接続し、
ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
プライマリの場合は、 mongoshをノードに接続し、
rs.stepDown()を使用してメンバーを降格します。rs.stepDown() ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
レプリカセットのシャーディング
シャード レプリカセット の各 セカンダリ メンバーについて、 mongoshをメンバーに接続し、
ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
各 シャード レプリカセット のプライマリについて、 mongoshをノードに接続し、
rs.stepDown()を使用してメンバーを降格します。rs.stepDown() ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
mongos ルーター
各 mongos/ルーター インスタンスについて、 mongoshをmongosインスタンスに接続し、
ノードをシャットダウンするには、
db.shutdownServer()メソッドを使用します。use admin db.shutdownServer() ノードを再起動します。
すべてのノードが再起動されると、ノードはメンバーシップ認証の新しいキーのみを受け入れるようになります。