Conexión a una instancia de conjunto de réplicas mediante Mongo Shell (Red pública)
En los siguientes escenarios, puede acceder a una instancia DDS desde Internet vinculando una EIP a la instancia.
Escenario 1: Las aplicaciones se despliegan en un ECS y no están en la misma región que la instancia DDS.
Escenario 2: Sus aplicaciones se despliegan en un servidor en la nube proporcionado por otros proveedores.
En esta sección se describe cómo utilizar Mongo Shell para conectarse a una instancia de conjunto de réplicas a través de una EIP.
Puede conectarse a una instancia 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.
- Vincule una EIP a la instancia del conjunto de réplicas y configure las reglas del grupo de seguridad para garantizar que se pueda acceder a la instancia del conjunto de réplicas desde un ECS.
- Instale el cliente MongoDB en el ECS.
Para obtener más información sobre cómo instalar un cliente MongoDB, consulte ¿Cómo puedo instalar un cliente MongoDB?
La versión del cliente MongoDB instalado debe ser la misma que la versión de instancia.
Conexión de 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.
- Inicie sesión en la consola de gestión.
- Haga clic en en la esquina superior izquierda, y seleccione una región y un proyecto.
- Haga clic en en la esquina superior izquierda de la página y elija Databases > Document Database Service.
- 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 la instancia en el directorio donde se encuentra el cliente MongoDB.
Método 1: Uso de una dirección de conexión de red pública
Ejemplo de comando:
./mongo "<Public network connection address>" --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames
Descripción de parámetros:
- Public Network Connection Address: En la página Instances, haga clic en la instancia para cambiar a la página Basic Information. En el panel de navegación de la izquierda, elija Connections. Haga clic en la pestaña Public Connection y obtenga la dirección de conexión de red pública.
Figura 3 Obtención de la dirección de conexión de red pública
El formato de la dirección de conexión pública 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 red pública:
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
La EIP y el puerto enlazados al nodo de la instancia del conjunto de réplicas.
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 pública.
Ejemplo de comandos:
./mongo "mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin" --ssl --sslCAFile/tmp/ca.crt --sslAllowInvalidHostnames- Si se conecta a una instancia a través de una dirección HA pública, agregue comillas dobles antes y después de la información de conexión.
- Mejorar el rendimiento de lectura y escritura y evitar que se notifiquen errores cuando se escriben datos desde el cliente después de una conmutación principal/en espera. Para obtener más información acerca de cómo conectarse a una instancia en modo HA, consulte Conexión a una instancia de conjunto de réplicas para separación de lectura y escritura y alta disponibilidad.
Método 2: Uso de una EIP
Ejemplo de comando:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabaseadmin --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames
Descripción de parámetros:
- DB_HOST es la EIP enlazada al nodo de instancia que se va a conectar.
En la página Instances, haga clic en la instancia para ir a la página Basic Information. Elija Connections> Public Connection y obtenga la EIP del nodo correspondiente.
- DB_PORT es el puerto de la base de datos. El número de puerto predeterminado es 8635.
Puede hacer clic en la instancia para ir a la página Basic Information. En el panel de navegación de la izquierda, elija Connections. En la página mostrada, haga clic en la pestaña Public Connection y obtenga el puerto del campo Database Port en el área Basic Information.
Figura 4 Obtención del puerto
- DB_USER es el usuario de la base de datos. El valor predeterminado es rwuser.
- 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 pública.
Introduzca la contraseña de la cuenta de la base de datos cuando se le solicite:
Enter password:
Ejemplo de comandos:
./mongo --host 192.168.xx.xx --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
- Public Network Connection Address: En la página Instances, haga clic en la instancia para cambiar a la página Basic Information. En el panel de navegación de la izquierda, elija Connections. Haga clic en la pestaña Public Connection y obtenga la dirección de conexión de red pública.
- Compruebe el resultado de la conexión. Si se muestra la siguiente información, la conexión se realiza correctamente.
- El nodo principal del conjunto de réplicas está conectado.
replica:PRIMARY>
- El nodo en espera del conjunto de réplicas está conectado.
replica:SECONDARY>
- El nodo principal del conjunto de réplicas está conectado.
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.
Método 1: Uso de una dirección de conexión de red pública
Ejemplo de comando:
./mongo "<Public network address>"
Public Network Connection Address: En la página Instances, haga clic en la instancia para cambiar a la página Basic Information. En el panel de navegación de la izquierda, elija Connections. Haga clic en la pestaña Public Connection y obtenga la dirección de conexión de red pública.
Figura 5 Obtención de la dirección de conexión de red pública
El formato de la dirección de conexión pública 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 pública:
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
La EIP y el puerto enlazados al nodo de la instancia del conjunto de réplicas.
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 conecta a una instancia a través de una dirección HA pública, agregue comillas dobles antes y después de la información de conexión.
- Para mejorar el rendimiento de lectura y escritura y evitar que se notifiquen errores cuando se escriben datos desde el cliente después de una conmutación principal/en espera, se recomienda conectarse a una instancia mediante la dirección de conexión HA. Para obtener más información, consulte Conexión a una instancia de conjunto de réplicas para separación de lectura y escritura y alta disponibilidad.
Método 2: Uso de una EIP
Ejemplo de comando:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin
Descripción de parámetros:
- DB_HOST es la EIP enlazada al nodo de instancia que se va a conectar.
En la página Instances, haga clic en la instancia para ir a la página Basic Information. Elija Connections> Public Connection y obtenga la EIP del nodo correspondiente.
- DB_PORT es el puerto de la base de datos. El número de puerto predeterminado es 8635.
Puede hacer clic en la instancia para ir a la página Basic Information. En el panel de navegación de la izquierda, elija Connections. En la página mostrada, haga clic en la pestaña Public Connection y obtenga el puerto del campo Database Port en el área Basic Information.
Figura 6 Obtención del puerto
- DB_USER es el usuario de la base de datos. El valor predeterminado es rwuser.
Introduzca la contraseña de la cuenta de la base de datos cuando se le solicite:
Enter password:
Ejemplo de comandos:
./mongo --host 192.168.xx.xx --port 8635 -u rwuser -p --authenticationDatabase admin
- Compruebe el resultado de la conexión. Si se muestra la siguiente información, la conexión se realiza correctamente.
- El nodo principal del conjunto de réplicas está conectado.
replica:PRIMARY>
- El nodo en espera del conjunto de réplicas está conectado.
replica:SECONDARY>
- El nodo principal del conjunto de réplicas está conectado.