Docs Menu
Docs Home
/
MongoDBマニュアル
/ / / /

自己管理型シャーディングされたクラスターのキーのローテーション

シャーディングされたクラスターのノードは、 キーファイルを使用して、同じ配置のノードとして相互を認証できます。

キーファイルには複数のキーを含めることができ、少なくとも 1 つのキーがメンバー間で共通の場合、メンバーシップ認証が確立されます。 これにより、ダウンタイムなしでキーのローリング アップグレードが可能になります。

次のチュートリアルでは、シャーディングされたクラスターのキーをダウンタイムなしで更新するプロセスについて説明します。 [1]

警告

このチュートリアルのサンプルキーは、説明のみを目的としています。 配置にを使用しないでください 。 代わりに、選択した任意の方法でキーファイルを生成します(例: openssl rand -base64 756など)。

各ノードのキーファイルに次のキーが含まれるシャーディングされたクラスターを考えてみましょう。

置き換える現在のキーのイメージ。

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

新しいキーのイメージ。
[1] このチュートリアルは、 MongoDB の暗号化されたストレージ エンジン のローカル キー管理に使用される キー ファイルには適用されません。そのキーファイルには1つのキーしか入れることができません。

MongoDB 8.0以降では、 directShardOperationsロールを使用して、シャードに対してコマンドを直接実行する必要があるメンテナンス操作を実行できます。

警告

directShardOperationsロールを使用して コマンドを実行すると、クラスターが正しく動作しなくなり、データが破損する可能性があります。 directShardOperationsロールは、メンテナンス目的で、または MongoDB サポートのガイダンスに必ず従う必要があります。 メンテナンス操作を実行したら、 directShardOperationsロールの使用を停止します。

各ノードのキーファイルを変更して、古いキーと新しいキーの両方を含めます。

警告

このチュートリアルのサンプルキーは、説明のみを目的としています。 配置に使用しないでください。 代わりに、選択した任意の方法でキーファイルを生成します(例: openssl rand -base64 756など)。

複数のキー文字列をキー文字列のシーケンスとして指定できます(オプションで引用符で囲む)。

複数のキーstringシーケンスのイメージ。

すべてのキーファイルに古いキーと新しいキーの両方が含まれたら、各ノードを一度に 1 つずつ再起動します。

コンフィギュレーションサーバー レプリカセット(CSRS) の各セカンダリについて、 mongoshをノードに接続し、

  1. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  2. ノードを再起動します。

プライマリの場合はmongoshをノードに接続し、

  1. rs.stepDown()を使用してメンバーを降格します。

    rs.stepDown()
  2. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  3. ノードを再起動します。

シャード レプリカセット の各 セカンダリ メンバーについて、 mongoshをメンバーに接続し、

  1. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  2. ノードを再起動します。

各 シャード レプリカセット のプライマリについて、 mongoshをノードに接続し、

  1. rs.stepDown()を使用してメンバーを降格します。

    rs.stepDown()
  2. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  3. ノードを再起動します。

各 mongos/ルーター インスタンスについて、 mongoshmongosインスタンスに接続し、

  1. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  2. ノードを再起動します。

すべてのノードが再起動されると、ノードはメンバーシップ認証に古いキーまたは新しいキーのいずれかを受け入れるようになりました。

警告

このチュートリアルのサンプルキーは、説明のみを目的としています。 配置に使用しないでください。 代わりに、選択した任意の方法でキーファイルを生成します(例: openssl rand -base64 756など)。

各ノードのキーファイルを変更して、新しいパスワードのみを含めます。

新しいキーのイメージ。

すべてのキーファイルに新しいキーのみが含まれたら、各ノードを一度に 1 つずつ再起動します。

コンフィギュレーションサーバー レプリカセット(CSRS) の各セカンダリについて、 mongoshをノードに接続し、

  1. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  2. ノードを再起動します。

プライマリの場合はmongoshをノードに接続し、

  1. rs.stepDown()を使用してメンバーを降格します。

    rs.stepDown()
  2. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  3. ノードを再起動します。

シャード レプリカセット の各 セカンダリ メンバーについて、 mongoshをメンバーに接続し、

  1. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  2. ノードを再起動します。

各 シャード レプリカセット のプライマリについて、 mongoshをノードに接続し、

  1. rs.stepDown()を使用してメンバーを降格します。

    rs.stepDown()
  2. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  3. ノードを再起動します。

各 mongos/ルーター インスタンスについて、 mongoshmongosインスタンスに接続し、

  1. ノードをシャットダウンするには、 db.shutdownServer()メソッドを使用します。

    use admin
    db.shutdownServer()
  2. ノードを再起動します。

すべてのノードが再起動されると、ノードはメンバーシップ認証の新しいキーのみを受け入れるようになります。

戻る

レプリカセット キーのローテーション