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 2024-09-21 GMT+08:00

Conexión a una instancia de conjunto de réplicas 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 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 instancia de conjunto de réplicas a través de una red privada.

El cliente MongoDB puede conectarse a una instancia con una conexión no cifrada o una conexión cifrada (SSL). 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 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.

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en en la esquina superior izquierda, y seleccione una región y un proyecto.
  3. Haga clic en en la esquina superior izquierda de la página y elija Databases > Document Database Service.
  4. En la página Instances, haga clic en el nombre de la 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 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.

  8. Conéctese a una instancia DDS.

    Método 1: Uso de la dirección de conexión HA privada (recomendado)

    DDS proporciona la dirección de conexión HA. El uso de esta dirección para conectarse a una instancia de conjunto de réplicas mejora el rendimiento de lectura/escritura de datos y evita que se notifiquen errores cuando se escriben datos desde el cliente después de una conmutación principal/en espera.

    Ejemplo de comando:

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

    Descripción de parámetros:

    • Private HA Connection Address: En la página Instances, haga clic en el nombre de la instancia. Se muestra la página Basic Information. Elija Connections. Haga clic en la pestaña Private Connection y obtenga la dirección de conexión de la instancia actual en el campo Private HA Connection Address.
      Figura 1 Obtención de la dirección de conexión HA privada

      El formato de la dirección de conexión HA privada 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,192.168.xx.xx:8635/test?authSource=admin&replicaSet=replica

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

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

      Dirección IP y puerto del nodo 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&replicaSet=replica

      • La base de datos de autenticación del usuario rwuser debe ser admin. authSource=admin está fijo en el comando.
      • replica en replicaSet=replica es el nombre de un conjunto de réplicas. El conjunto de réplicas predeterminado de Huawei Cloud DDS es replica.
    • 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,192.168.xx.xx:8635/test?authSource=admin&replicaSet=replica" --ssl --sslCAFile/tmp/ca.crt --sslAllowInvalidHostnames

    Si se muestra la siguiente información, la instancia se conecta correctamente:
    replica:PRIMARY>

    Ejecute el siguiente comando para acceder a la base de datos local:

    use local

    La información que aparecerá en pantalla será similar a la información siguiente:

    switched to db local

    Ejecute el siguiente comando para consultar oplog de conjunto de réplicas:

    db.oplog.rs.find()

    Método 2: Uso de la dirección de conexión HA privada (base de datos y cuenta definidas por el usuario)

    Ejemplo de comando:

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

    Descripción de parámetros:

    • Private HA Connection Address: En la página Instances, haga clic en el nombre de la instancia. Se muestra la página Basic Information. Elija Connections. Haga clic en la pestaña Private Connection y obtenga la dirección de conexión de la instancia actual en el campo Private HA Connection Address.
      Figura 2 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&replicaSet=replica

      La siguiente tabla muestra los parámetros requeridos en la dirección de HA privada.

      Tabla 2 Información de parámetros

      Parámetro

      Descripción

      rwuser

      Nombre de usuario de base de datos. El valor predeterminado es rwuser. Puede cambiar el valor por el nombre de usuario en función de sus requisitos de servicio.

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

      Dirección IP y puerto del nodo 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&replicaSet=replica

      • La base de datos de autenticación de usuario rwuser es admin.
      • En replica in replicaSet=replica, replica indica que el tipo de instancia es un conjunto de réplicas y que el formato no se puede cambiar.
      NOTA:

      Si utiliza una base de datos definida por el usuario para la autenticació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 definida por el usuario. Además, reemplace rwuser con el nombre de usuario creado en la base de datos definida por el usuario.

    • 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.

    Por ejemplo, si crea una base de datos definida por el usuario Database y un usuario test1 en la base de datos, el comando de conexión es el siguiente:

    ./mongo "mongodb://test1:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/Database?authSource=Database&replicaSet=replica" --ssl --sslCAFile/tmp/ca.crt --sslAllowInvalidHostnames

    Method 3: Conéctese a un nodo único.

    También puede utilizar la dirección IP privada de un nodo primario o secundario para acceder a la instancia del conjunto de réplicas. Este método afecta al rendimiento de lectura/escritura cuando se produce una conmutación primaria/en espera.

    Ejemplo de comando:

    ./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames

    Descripción de parámetros:

    • DB_HOST es la dirección IP privada del nodo primario o en espera de la instancia que se va a conectar.

      Nodo primario: Puede leer y escribir datos en él.

      Nodo secundario: Solo puede leer datos de él.

      En la página Instances, haga clic en la instancia para ir a la página Basic Information. Elija Connections. En la pestaña Private Connection, obtenga la dirección IP del nodo correspondiente.

      Figura 3 Obtención de la dirección IP de un nodo
    • DB_PORT es el puerto de la base de datos. El valor 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 Private Connection y obtenga el puerto del 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 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.xx.xx --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames

    Si se muestra la siguiente información, el nodo correspondiente se conecta 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>

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. Inicie sesión en el ECS.
  2. Conéctese a una instancia DDS.

    Método 1: Conexión de alta disponibilidad (recomendado)

    DDS proporciona la dirección de conexión HA. El uso de esta dirección para conectarse a una instancia de conjunto de réplicas mejora el rendimiento de lectura/escritura y evita que se notifiquen errores cuando se escriben datos desde el cliente después de una conmutación principal/en espera.

    Ejemplo de comando:

    ./mongo "<Private HA Connection Address>"

    Private HA Connection Address: En la página Instances, haga clic en el nombre de la instancia. Se muestra la página Basic Information. Elija Connections. Haga clic en la pestaña Private Connection y obtenga la dirección de conexión de la instancia actual en el campo Private HA Connection Address.

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

    El formato de la dirección de conexión HA privada 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,192.168.xx.xx:8635/test?authSource=admin&replicaSet=replica

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

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

    Dirección IP y puerto del nodo 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&replicaSet=replica

    • La base de datos de autenticación del usuario rwuser debe ser admin. authSource=admin está fijo en el comando.
    • replica en replicaSet=replica es el nombre de un conjunto de réplicas. El conjunto de réplicas predeterminado de Huawei Cloud DDS es replica.

    Ejemplo de comandos:

    ./mongo "mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin&replicaSet=replica"

    Si se muestra la siguiente información, la instancia se conecta correctamente:
    replica:PRIMARY>

    Ejecute el siguiente comando para acceder a la base de datos local:

    use local

    La información que aparecerá en pantalla será similar a la información siguiente:

    switched to db local

    Ejecute el siguiente comando para consultar oplog de conjunto de réplicas:

    db.oplog.rs.find()

    Método 2: Conexión HA privada (base de datos y cuenta definidas por el usuario)

    Ejemplo de comando:

    ./mongo "<Private HA Connection Address>"

    Private HA Connection Address: En la página Instances, haga clic en el nombre de la instancia. Se muestra la página Basic Information. Elija Connections. Haga clic en la pestaña Private Connection y obtenga la dirección de conexión de la instancia actual en el campo Private HA Connection Address.

    Figura 6 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&replicaSet=replica

    La siguiente tabla muestra los parámetros requeridos en la dirección de HA privada.

    Tabla 4 Información de parámetros

    Parámetro

    Descripción

    rwuser

    Nombre de usuario de base de datos. El valor predeterminado es rwuser. Puede cambiar el valor por el nombre de usuario en función de sus requisitos de servicio.

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

    Dirección IP y puerto del nodo 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&replicaSet=replica

    • La base de datos de autenticación de usuario rwuser es admin.
    • En replica in replicaSet=replica, replica indica que el tipo de instancia es un conjunto de réplicas y que el formato no se puede cambiar.
    NOTA:

    Si utiliza una base de datos definida por el usuario para la autenticació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 definida por el usuario. Además, reemplace rwuser con el nombre de usuario creado en la base de datos definida por el usuario.

    Por ejemplo, si crea una base de datos definida por el usuario Database y un usuario test1 en la base de datos, el comando de conexión es el siguiente:

    ./mongo "mongodb://test1:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/Database?authSource=Database&replicaSet=replica"

    Method 3: Conéctese a un nodo único.

    También puede utilizar la dirección IP privada de un nodo primario o secundario para acceder a la instancia del conjunto de réplicas. Este método afecta al rendimiento de lectura/escritura cuando se produce una conmutación primaria/en espera.

    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 dirección IP privada del nodo primario o en espera de la instancia que se va a conectar.

      Nodo primario: Puede leer y escribir datos en él.

      Nodo secundario: Solo puede leer datos de él.

      En la página Instances, haga clic en la instancia para ir a la página Basic Information. Elija Connections. En la pestaña Private Connection, obtenga la dirección IP del nodo correspondiente.

      Figura 7 Obtención de la dirección IP de un nodo
    • DB_PORT es el puerto de la base de datos. El valor 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 Private Connection y obtenga el puerto del Database Port en el área Basic Information.

      Figura 8 Obtención del puerto
    • 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 cuenta de la base de datos cuando se le solicite:

    Enter password:

    Si se muestra la siguiente información, el nodo correspondiente se conecta 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>