Los miembros del clúster fragmentado pueden usar archivos clave para autenticarse entre sí como miembros de la misma implementación.
Un archivo de claves puede contener varias claves, y la autenticación de miembros se establece si al menos una clave es común a todos los miembros. Esto permite la actualización gradual de las claves sin tiempo de inactividad.
El siguiente tutorial describe el proceso para actualizar, sin tiempo de inactividad, la clave de un clúster fragmentado. []1
Advertencia
Las claves de ejemplo de este tutorial son solo para fines ilustrativos. NO lo use para su implementación. En su lugar, genere un archivo de claves utilizando cualquier método que elija (por ejemplo, openssl rand -base64
756, etc.).
Considere un clúster fragmentado donde el archivo de claves de cada miembro contiene la siguiente clave:

El siguiente procedimiento actualiza los miembros del clúster fragmentado para usar una nueva clave:

| [1] | Este tutorial no aplica al archivo de claves utilizado para la gestión de claves locales del motor de almacenamiento cifrado de MongoDB. Dicho archivo de claves solo puede contener una clave. |
Antes de comenzar
A partir de MongoDB 8.0, se puede utilizar el rol directShardOperations para realizar operaciones de mantenimiento que requieren ejecutar comandos directamente contra un fragmento.
Advertencia
Ejecutar comandos usando el rol de directShardOperations puede hacer que su clúster deje de funcionar correctamente y puede causar corrupción de datos. Utilice el rol de directShardOperations solo para fines de mantenimiento o bajo la orientación del soporte de MongoDB. Una vez que haya terminado de realizar las operaciones de mantenimiento, deje de usar el rol de directShardOperations.
Procedimiento
1. Modificar el archivo de claves para incluir claves antiguas y nuevas
Modifique el archivo de claves de cada miembro para incluir las claves antiguas y nuevas.
Advertencia
Las claves de ejemplo de este tutorial son solo ilustrativas.NO las utilice para su implementación. En su lugar, genere un archivo de claves con el método que prefiera (p. ej.,, openssl rand -base64
756 etc.).
Puede especificar varias cadenas de claves como una secuencia de cadenas de claves (opcionalmente entre comillas):

1. Reiniciar cada miembro
Una vez que todos los archivos de claves contengan las claves antiguas y nuevas, reinicie cada miembro uno a la vez.
Servidores de configuración
Para cada secundario del conjunto de réplicas del servidor de configuración (CSRS), conecte mongosh al miembro y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Para el primario, conecte al miembro mongosh y
Utilice para reducir el
rs.stepDown()miembro:rs.stepDown() Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Conjuntos de réplicas de fragmentos
Para cada miembro secundario de los conjuntos de réplicas de fragmentos, conecte al miembro mongosh y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Para el principal de cada conjunto de réplicas de fragmentos, conecte al miembro mongosh y
Utilice para reducir el
rs.stepDown()miembro:rs.stepDown() Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
mongos Enrutadores
Para cada instancia de mongos/enrutador, conecte mongosh a la instancia mongos y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Una vez que todos los miembros han sido reiniciados, los miembros ahora aceptan la clave antigua o nueva para la autenticación de membresía.
3. Actualizar el contenido del archivo de claves solo a la nueva clave
Advertencia
Las claves de ejemplo de este tutorial son solo ilustrativas.NO las utilice para su implementación. En su lugar, genere un archivo de claves con el método que prefiera (p. ej.,, openssl rand -base64
756 etc.).
Modifica el archivo clave de cada nodo para incluir solo la nueva contraseña.

4. Reiniciar cada miembro
Una vez que todos los archivos clave contengan solo la nueva clave, reinicie cada miembro uno a la vez.
Servidores de configuración
Para cada secundario del conjunto de réplicas del servidor de configuración (CSRS), conecte al miembro mongosh y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Para el primario, conecte al miembro mongosh y
Utilice para reducir el
rs.stepDown()miembro:rs.stepDown() Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Conjuntos de réplicas de fragmentos
Para cada miembro secundario de los conjuntos de réplicas de fragmentos, conecte al miembro mongosh y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Para el principal de cada conjunto de réplicas de fragmentos, conecte al miembro mongosh y
Utilice para reducir el
rs.stepDown()miembro:rs.stepDown() Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
mongos Enrutadores
Para cada instancia de mongos/enrutador, conecte mongosh a la instancia mongos y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Una vez que se hayan reiniciado todos los miembros, ahora solo aceptarán la nueva clave para la autenticación de membresía.