Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-02-21 GMT+08:00

Conexión a una instancia de clúster mediante Mongo Shell (red privada)

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 implementan 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 instancia de clúster a través de una red privada.

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

  1. 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.
  2. 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?

  3. El ECS puede comunicarse con la instancia DDS. Para más detalles, consulte Cómo configurar reglas de un grupo de seguridad.

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.

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en la esquina superior izquierda y seleccione una región y un proyecto.
  3. Haga clic en la esquina superior izquierda de la página y elija Databases > Document Database Service.
  4. En la página Instance Management, haga clic en el nombre de instancia.
  5. En el panel de navegación de la izquierda, elija Connections.
  6. En el área Basic Information, haga clic en junto al campo SSL.
  7. 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 root. 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.

  8. Conéctese a la instancia en el directorio donde se encuentra el cliente MongoDB.

    Método 1: Dirección de conexión privada HA (recomendado)

    DDS proporciona una dirección de conexión HA privada que consiste en direcciones IP y puertos de todos los nodos MongoDB en una instancia de clúster. Puede utilizar esta dirección para conectarse a la instancia de clúster para mejorar la disponibilidad de la instancia de clúster.

    Comando de ejemplo:

    ./mongo <Private HA connection address> --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames

    Descripción de parámetros:

    • Dirección de conexión HA Privada

      En la página Instance Management, haga clic en la instancia para ir a la página Basic Information. Elija Connections . La dirección de conexión de la instancia actual se muestra en el campo Private HA Connection Address. El formato de la dirección no se puede cambiar.

      Figura 1 Obtención de la dirección de conexión HA privada

      El formato de la dirección de conexión HA privada obtenida es el siguiente:

      mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin

      Preste atención a los siguientes parámetros en la dirección HA privada:

      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,192.168.xx.xx:8635

      Dirección IP y puerto del nodo mongos de la instancia de clúster que se va a conectar

      test

      Nombre de la base de datos

      authSource=admin

      De forma predeterminada, authSource se establece en 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 del clúster no ocupe recursos como la dirección IP del usuario y el ancho de banda, el certificado del clúster se genera mediante la dirección IP de gestión interna. --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,192.168.xx.xx:8635/test?authSource=admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames

    Método 2: Usar una dirección IP privada

    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 la dirección IP del nodo mongos de la instancia de clúster que se va a conectar.

      Haga clic en el nombre de la instancia. En la página Basic Information, elija Connections > Private Connection, obtenga la dirección IP privada del nodo mongos en la pestaña mongos en el área Node Information.

      Figura 2 Obtención de la dirección IP privada
    • DB_PORT es el puerto de la instancia que se va a conectar. El puerto predeterminado es 8635.

      Haga clic en el nombre de la instancia. En la página Basic Information, elija Connections. En la pestaña Private Connection , obtenga la información del puerto de base de datos en el campo Database Port en la página Basic Information.

      Figura 3 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 root.
    • --sslAllowInvalidHostnames: Para asegurarse de que la comunicación interna del clúster no ocupe recursos como la dirección IP del usuario y el ancho de banda, el certificado del clúster se genera mediante la dirección IP de gestión interna. --sslAllowInvalidHostnames es necesario para la conexión SSL a través de una red privada.

    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.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames

  9. Compruebe el resultado de la conexión. Si se muestra la siguiente información, la conexión se realiza correctamente.

    mongos>

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.

  1. Conéctese al ECS.
  2. Conéctese a la instancia en el directorio donde se encuentra el cliente MongoDB.

    Método 1: Dirección de conexión privada HA (recomendado)

    Comando de ejemplo:

    ./mongo "<Private HA Connection Address>"

    Descripción de parámetros:

    Dirección de conexión privada HA

    En la página Instance Management, haga clic en el nombre de instancia. Se muestra la página Basic Information. Elija Connections . La dirección de conexión de la instancia actual se muestra en el campo Public HA Connection Address. El formato de la dirección no se puede cambiar.

    Figura 4 Obtención de la dirección de conexión HA privada

    El formato de la dirección de conexión HA privada obtenida es el siguiente:

    mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin

    Preste atención a los siguientes parámetros en la dirección HA privada:

    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,192.168.xx.xx:8635

    Dirección IP y puerto del nodo mongos de la instancia de clúster que se va a conectar

    test

    Nombre de la base de datos

    authSource=admin

    De forma predeterminada, authSource se establece en 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,192.168.xx.xx:8635/test?authSource=admin

    Método 2: Usar una dirección IP privada

    Comando de ejemplo:

    ./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin

    Descripción de parámetros:

    • DB_HOST es la dirección IP del nodo mongos de la instancia de clúster que se va a conectar.

      Haga clic en el nombre de la instancia. En la página Basic Information, elija Connections > Private Connection, obtenga la dirección IP privada del nodo mongos en la pestaña mongos en el área Node Information.

      Figura 5 Obtención de la dirección IP privada
    • DB_PORT es el puerto de la instancia que se va a conectar. El puerto predeterminado es 8635.

      Haga clic en el nombre de la instancia. En la página Basic Information, elija Connections. En la pestaña Private Connection , obtenga la información del puerto de base de datos en el campo Database Port en la página 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 base de datos cuando se le solicite:
    Enter password:

    Ejemplo de comandos:

    ./mongo --host 192.168.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin

  3. Compruebe el resultado de la conexión. Si se muestra la siguiente información, la conexión se realiza correctamente.

    mongos>