Conexión a una instancia de nodo único mediante Mongo Shell (red pública)
En los siguientes escenarios, puede acceder a una instancia DDS desde Internet vinculando un EIP a la instancia.
Escenario 1: Las aplicaciones se implementan en un ECS y no están en la misma región que la instancia DDS.
Escenario 2: Sus aplicaciones se implementan en un servidor en la nube proporcionado por otros proveedores.
Esta sección describe cómo utilizar Mongo Shell para conectarse a una instancia de nodo único a través de un 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 un EIP a la instancia de nodo único y configure las reglas de grupo de seguridad para garantizar que se pueda acceder al EIP desde el 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?
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 la esquina superior izquierda y seleccione una región y un proyecto.
- Haga clic en la esquina superior izquierda de la página y elija Databases > Document Database Service.
- En la página Instance Management, haga clic en el nombre de 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 root 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 ECS.
- REMOTE_ADDRESS es la dirección ECS.
- REMOTE_DIR es el directorio del ECS al que se carga el certificado root.
- 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
Comando de ejemplo:
./mongo <Public network connection address> --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames
Descripción de parámetros:
- Para conexión de red pública
Puede hacer clic en el nombre de la instancia para ir a la página Basic Information. Elija Connections en el panel de navegación de la izquierda, haga clic en la pestaña Public Connection y obtenga la dirección de Public Network Connection Address. No se puede cambiar el formato de la dirección de conexión.
Figura 3 Obtención de la dirección de conexión de red pública
El formato de la dirección de conexión de red pública obtenida es el siguiente:
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 1 Información de parámetros Parámetro
Descripción
rwuser
Nombre de usuario de base de datos
<password>
Contraseña para el nombre de usuario de la base de datos. Reemplácelo con la contraseña real.
Si la contraseña contiene signos (@), signos de exclamación o signos de porcentaje (%), reemplácelos con códigos URL hexadecimales (ASCII) %40, %21 y %25 respectivamente.
Por ejemplo, si la contraseña es de ****@ %***!, el código URL correspondiente es de **** 40%25*** %21.
192.168.xx.xx:8635
El EIP y el puerto enlazados a la instancia de nodo único que se va a conectar.
test
Nombre de la base de datos
authSource=admin
authSource debe configurarse como admin. El formato de esta dirección es fijo y no se puede cambiar.
NOTA:Si utiliza una base de datos definida por el usuario para la verificación, cambie la base de datos de autenticación en la dirección de conexión HA por el nombre de la base de datos creada.
- FILE_PATH es la ruta para almacenar el certificado root.
- --sslAllowInvalidHostnames: Para asegurarse de que la comunicación interna de los nodos únicos no ocupe recursos como la dirección IP del usuario y el ancho de banda, el certificado de nodo único se genera utilizando la dirección IP de gestión interna. --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
Método 2: Uso de un EIP
Comando de ejemplo:
./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 el EIP enlazado a la instancia que se va a conectar.
Puede obtener un EIP de cualquiera de las siguientes maneras:
En la página Instance Management, haga clic en el nombre de instancia. Se muestra Basic Information. En el área Node Information de la página Basic Information, obtenga el EIP.
Figura 4 Obtención de un EIP
- DB_PORT es el puerto de la base de datos. El número de puerto predeterminado es 8635.
Puede hacer clic en el nombre de la instancia para ir a la página Basic Information. En la página Basic Information, obtenga el puerto de instancia del campo Database Port en el área Network Information .Figura 5 Obtención del puerto de la base de datos
- DB_USER es el usuario de la base de datos. El valor predeterminado es rwuser.
- FILE_PATH es la ruta para almacenar el certificado root.
- --sslAllowInvalidHostnames: Para asegurarse de que la comunicación interna de los nodos únicos no ocupe recursos como la dirección IP del usuario y el ancho de banda, el certificado de nodo único se genera utilizando la dirección IP de gestión interna. --sslAllowInvalidHostnames es necesario para la conexión SSL a través de una red pública.
Ejemplo de comandos:
./mongo --host 192.168.xx.xx --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
Introduzca la contraseña de la base de datos cuando se le solicite:
Enter password:
- Para 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.
replica:PRIMARY>
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
Comando de ejemplo:
./mongo <Public network address>
Descripción de parámetros:
Public Network Connection Address: Puede hacer clic en el nombre de la instancia para ir a la página Basic Information. Elija Connections en el panel de navegación de la izquierda, haga clic en la pestaña Public Connection y obtenga la dirección de Public Network Connection Address. No se puede cambiar el formato de la dirección de conexión.
Figura 6 Obtención de la dirección de conexión de red pública
El formato de la dirección de conexión de red pública obtenida es el siguiente:
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 Información de parámetros Parámetro
Descripción
rwuser
Nombre de usuario de base de datos
<password>
Contraseña para el nombre de usuario de la base de datos. Reemplácelo con la contraseña real.
Si la contraseña contiene signos (@), signos de exclamación o signos de porcentaje (%), reemplácelos con códigos URL hexadecimales (ASCII) %40, %21 y %25 respectivamente.
Por ejemplo, si la contraseña es de ****@ %***!, el código URL correspondiente es de **** 40%25*** %21.
192.168.xx.xx:8635
El EIP y el puerto enlazados a la instancia de nodo único que se va a conectar.
test
Nombre de la base de datos
authSource=admin
authSource debe configurarse como admin. El formato de esta dirección es fijo y no se puede cambiar.
NOTA:Si utiliza una base de datos definida por el usuario para la verificación, cambie la base de datos de autenticación en la dirección de conexión HA por el nombre de la base de datos creada.
Ejemplo de comandos:
./mongo mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin
Método 2: Uso de un EIP
Comando de ejemplo:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin
Descripción de parámetros:
- DB_HOST es el EIP enlazado a la instancia que se va a conectar.
Puede obtener un EIP de cualquiera de las siguientes maneras:
En la página Instance Management, haga clic en el nombre de instancia. Se muestra Basic Information. En el área Node Information de la página Basic Information, obtenga el EIP.
Figura 7 Obtención de un EIP
- DB_PORT es el puerto de la base de datos. El número de puerto predeterminado es 8635.
Puede hacer clic en el nombre de la instancia para ir a la página Basic Information. En la página Basic Information, obtenga el puerto de instancia del campo Database Port en el área Network Information .Figura 8 Obtención del puerto de la base de datos
- DB_USER es el usuario de la base de datos. El valor predeterminado es rwuser.
Ejemplo de comandos:
./mongo --host 192.168.xx.xx --port 8635 -u rwuser -p --authenticationDatabase admin
Introduzca la contraseña de la base de datos cuando se le solicite:
Enter password:
- DB_HOST es el EIP enlazado a la instancia que se va a conectar.
- Compruebe el resultado de la conexión. Si se muestra la siguiente información, la conexión se realiza correctamente.
replica:PRIMARY>