Conexión a réplicas de lectura mediante Mongo Shell
Mongo shell es el cliente por defecto para el servidor de base de datos MongoDB. Puede utilizar Mongo Shell para conectarse a instancias de base de datos y consultar, actualizar y gestionar datos en bases de datos. Para usar Mongo Shell, descargue e instale primero el cliente MongoDB y, a continuación, use el shell Mongo para conectarse a la instancia de base de datos.
De forma predeterminada, una instancia DDS proporciona una dirección IP privada. Si sus aplicaciones se despliegan en un ECS y están en la misma región y VPC que las instancias DDS, puede conectarse a las instancias DDS mediante una dirección IP privada para lograr una velocidad de transmisión rápida y una alta seguridad.
En esta sección se describe cómo utilizar Mongo Shell para conectarse a una réplica de lectura a través de una red privada.
Puede conectarse a una réplica de lectura mediante una conexión SSL o una conexión sin cifrar. La conexión SSL es encriptada y más segura. Para mejorar la seguridad de la transmisión de datos, conéctese a instancias mediante SSL.
Prerrequisitos
- Para obtener más información acerca de cómo crear e iniciar sesión en un ECS, consulte Comprar un ECS e iniciar sesión en un ECS.
- Instale el cliente MongoDB en el ECS. Para garantizar la autenticación correcta, instale el cliente MongoDB de la misma versión que la instancia de destino.
Para obtener más información sobre cómo instalar un cliente MongoDB, consulte ¿Cómo puedo instalar un cliente MongoDB?
- El ECS puede comunicarse con la instancia DDS. Para obtener más información, véase Configuración de reglas de grupo de seguridad.
Conexión SSL
Si se conecta a una instancia a través de la conexión SSL, habilite SSL primero. De lo contrario, se notifica un error. Para obtener más información sobre cómo habilitar SSL, consulte Habilitación y deshabilitación de SSL.
- En la página Instances, haga clic en el nombre de la instancia.
- En el panel de navegación de la izquierda, elija Connections.
- En el área Basic Information, haga clic en junto al campo SSL.
- Cargue el certificado raíz al ECS para conectarse a la instancia.
A continuación se describe cómo cargar el certificado en un ECS de Linux y Windows:
- En Linux, ejecute el siguiente comando:
scp<IDENTITY_FILE><REMOTE_USER>@<REMOTE_ADDRESS>:<REMOTE_DIR>
- IDENTITY_FILE es el directorio donde reside el certificado raíz. El permiso de acceso al archivo es 600.
- REMOTE_USER es el usuario del sistema operativo de ECS.
- REMOTE_ADDRESS es la dirección de ECS.
- REMOTE_DIR es el directorio del ECS al que se carga el certificado raíz.
- En Windows, cargue el certificado raíz mediante una herramienta de conexión remota.
- En Linux, ejecute el siguiente comando:
- Conéctese a una instancia DDS. La consola DDS proporciona la dirección de conexión de réplica de lectura. Puede utilizar esta dirección para conectarse a la réplica de lectura.
Ejemplo de comando:
./mongo "<Read replica connection address>" --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames
Descripción de parámetros:
- Read Replica Connection Address: En la página Instances, haga clic en la instancia para ir a la página Basic Information. Elija Connections. Haga clic en la pestaña Private Connection. En el área Address, obtenga la dirección de conexión de la instancia de réplica de lectura.
Figura 1 Obtención de la dirección de conexión de réplica de lectura
El formato de la dirección de conexión de réplica de lectura es el siguiente. El nombre de usuario de la base de datos rwuser y la base de datos de autenticación admin no se pueden cambiar.
mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin
Preste atención a los siguientes parámetros en la dirección de conexión de réplica de lectura:
Tabla 1 Descripción del parámetro Parámetro
Descripción
rwuser
Nombre de cuenta, es decir, el nombre de usuario de la base de datos.
<password>
Contraseña para la cuenta de la base de datos. Reemplácelo con la contraseña real.
Si la contraseña contiene signos (@), signos de exclamación (!), signos de dólar o signos de porcentaje (%), reemplácelos con códigos URL hexadecimales (ASCII) %40, %21, %24 y %25 respectivamente.
Por ejemplo, si la contraseña es ****@%***!$, el código URL correspondiente es ****%40%25***%21%24.
192.168.xx.xx:8635
Dirección IP y puerto de la réplica de lectura de la instancia del conjunto de réplicas
test
El nombre de la base de datos de prueba. Puede establecer este parámetro en función de sus requisitos de servicio.
authSource=admin
La base de datos de autenticación del usuario rwuser debe ser admin. authSource=admin está fijo en el comando.
- FILE_PATH es la ruta para almacenar el certificado raíz.
- --sslAllowInvalidHostnames: El certificado del conjunto de réplicas se genera utilizando la dirección IP de gestión interna para garantizar que la comunicación interna no ocupe recursos como la dirección IP del usuario y el ancho de banda. --sslAllowInvalidHostnames es necesario para la conexión SSL a través de una red privada.
Ejemplo de comandos:
./mongo "mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin" --ssl --sslCAFile/tmp/ca.crt --sslAllowInvalidHostnames
Cuando se conecte a una instancia mediante la dirección de conexión de réplica de lectura, agregue comillas dobles (") antes y después de la información de conexión.
Si se muestra la siguiente información, la instancia se conecta correctamente:replica:SECONDARY>
- Read Replica Connection Address: En la página Instances, haga clic en la instancia para ir a la página Basic Information. Elija Connections. Haga clic en la pestaña Private Connection. En el área Address, obtenga la dirección de conexión de la instancia de réplica de lectura.
Conexión sin encriptar
Si se conecta a una instancia a través de una conexión no cifrada, deshabilite SSL primero. De lo contrario, se notifica un error. Para obtener más información sobre cómo deshabilitar SSL, consulte Habilitación y deshabilitación de SSL.
- Inicie sesión en el ECS.
- Conéctese a una instancia DDS. La consola DDS proporciona la dirección de conexión de réplica de lectura. Puede utilizar esta dirección para conectarse a la réplica de lectura.
Ejemplo de comando:
./mongo "<Read replica connection address>"
Read Replica Connection Address: En la página Instances, haga clic en la instancia para ir a la página Basic Information. Elija Connections. Haga clic en la pestaña Private Connection. En el área Address, obtenga la dirección de conexión de la instancia de réplica de lectura.
Figura 2 Obtención de la dirección de conexión de réplica de lectura
El formato de la dirección de conexión de réplica de lectura es el siguiente. El nombre de usuario de la base de datos rwuser y la base de datos de autenticación admin no se pueden cambiar.
mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin
Preste atención a los siguientes parámetros en la dirección HA privada:
Tabla 2 Descripción del parámetro Parámetro
Descripción
rwuser
Nombre de cuenta, es decir, el nombre de usuario de la base de datos.
<password>
Contraseña para la cuenta de la base de datos. Reemplácelo con la contraseña real.
Si la contraseña contiene signos (@), signos de exclamación (!), signos de dólar o signos de porcentaje (%), reemplácelos con códigos URL hexadecimales (ASCII) %40, %21, %24 y %25 respectivamente.
Por ejemplo, si la contraseña es ****@%***!$, el código URL correspondiente es ****%40%25***%21%24.
192.168.xx.xx:8635
Dirección IP y puerto de la réplica de lectura de la instancia del conjunto de réplicas
test
El nombre de la base de datos de prueba. Puede establecer este parámetro en función de sus requisitos de servicio.
authSource=admin
La base de datos de autenticación del usuario rwuser debe ser admin. authSource=admin está fijo en el comando.
Ejemplo de comandos:
./mongo "mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin"
Si se muestra la siguiente información, la instancia se conecta correctamente:replica:SECONDARY>