Todos los productos
Search
Centro de documentos

ApsaraDB for MongoDB:Conectarse a MongoDB a través de la red pública

Última actualización: Sep 11, 2026

Este tema describe cómo conectarse a una instancia de ApsaraDB for MongoDB a través de la red pública.

Requisitos previos

Paso 1: Solicitar una cadena de conexión pública

  1. Vaya a la página Replica Set Instances o Sharded Cluster Instances. En la barra de navegación superior, seleccione el resource group y la región deseados. Luego, haga clic en el ID de la instancia de destino.

  2. En el panel de navegación izquierdo de la página de detalles de la instancia, haga clic en Database Connections.

  3. En la sección Public IP Connection, haga clic en Apply for Public IP.

  4. En el cuadro de diálogo Apply for Public IP, haga clic en Confirm.

  5. Espere a que el estado de la instancia cambie de Establishing Network Connection a Running. Después podrá consultar la cadena de conexión pública de la instancia.

    Nota
    • La instancia sigue ejecutándose con normalidad mientras su estado es Establishing Network Connection.

    • La cadena de conexión solo es visible después de configurar la lista de permitidos.

    • Utilice el ConnectionStringURI para obtener una conexión de alta disponibilidad.

Paso 2: Conectarse a la instancia

Este ejemplo utiliza MongoDB Shell (mongosh) para conectarse a la instancia.

ConnectionStringURI (recomendado)

Comando:

mongo "<ConnectionStringURI>"

Parámetros:

Parámetro

Descripción

<ConnectionStringURI>

El ConnectionStringURI de su instancia, disponible en la consola de ApsaraDB for MongoDB.

Nota

Como práctica recomendada de seguridad, no se conecte a la base de datos con la cuenta root. Create a database account in Data Management (DMS) antes de conectarse.

Al conectarse, reemplace root:** por el nombre de usuario y la contraseña de la nueva cuenta, como test:PassWord. Reemplace /admin por la base de datos de autenticación, como /testdb.

Ejemplo:

mongo "mongodb://test:PassWord**@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/testdb?replicaSet=mgset-6108****"    

Cadena de conexión de nodo único

Comando:

mongo --host <host> --port <port> -u <username> -p --authenticationDatabase <authenticationDatabase>

Parámetros:

Parámetro

Descripción

<host> y <port>

Los campos Connection Address y Port del nodo, disponibles en la consola de ApsaraDB for MongoDB.

Ejemplo: dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717

<username>

El nombre de la cuenta de la base de datos.

Nota

Como práctica recomendada de seguridad, no utilice la cuenta root para conectarse a la base de datos. Create a database account in Data Management (DMS) antes de conectarse.

<authenticationDatabase>

La base de datos utilizada para la autenticación de la cuenta especificada.

Importante

Para que la autenticación sea exitosa, la cuenta debe autenticarse contra la base de datos a la que pertenece.

Ejemplo:

A continuación se asume que la cuenta de la base de datos es test y que la base de datos de autenticación es testdb.

mongo --host dds-bp19f409d7512****.mongodb.rds.aliyuncs.com --port 3717 -u test -p --authenticationDatabase testdb

Cuando aparezca el indicador Enter password:, introduzca la contraseña de la cuenta de la base de datos y presione Enter.

Preguntas frecuentes

¿Por qué no puedo conectarme a mi instancia incluso después de agregar mi dirección IP pública a la lista de permitidos?

Este problema puede ocurrir si agregó una dirección IP pública incorrecta a la lista de permitidos. Siga estos pasos para encontrar la dirección IP pública correcta de su cliente local:

  1. Agregue la dirección IP 0.0.0.0/0 to the allowlist of the MongoDB instance.

    Aviso

    0.0.0.0/0 permite que cualquier dispositivo acceda a la instancia de MongoDB. Esto representa un riesgo de seguridad y debe usarse con precaución. Si utiliza esta entrada, elimínela de inmediato de la lista de permitidos.

  2. Use MongoDB Shell (mongosh) to connect to the instance.

    Si aún no logra conectarse a MongoDB después de establecer la lista de permitidos en 0.0.0.0/0, puede connect to MongoDB by using Data Management (DMS) para comprobar si el nombre de usuario, la contraseña y la base de datos de autenticación son correctos.

  3. Ejecute el siguiente comando para consultar la información del cliente de su sesión de MongoDB Shell (mongosh).

    db.currentOp({"appName" : "MongoDB Shell","active" : true})

    Después de ejecutar el comando, el campo client del resultado indica la dirección IP pública del cliente. Ejemplo de salida:

    mgset-xxx:PRIMARY> db.currentOp({"appName" : "MongoDB Shell","active" : true})
    {
        "inprog" : [
            {
                "desc" : "conn1591052",
                "threadId" : "48008022501120",
                "connectionId" : 1591052,
                "client" : "47.xxx.xxx.xxx:40602",
                "appName" : "MongoDB Shell",
                "clientMetadata" : {
                    "application" : {
                        "name" : "MongoDB Shell"
                    },
                    "driver" : {
                        "name" : "MongoDB Internal Client",
                        "version" : "4.0.5"
                    },
                    "os" : {
                        "type" : "Linux",
                        "name" : "Ubuntu",
                        "architecture" : "x86_64",
                        "version" : "16.04"
                    }
                },
            },
            "active" : true,
    
    Nota

    Si se conecta a la instancia con un cliente distinto, ejecute el siguiente comando para consultar la información de todos los clientes activos.

    db.runCommand({currentOp: 1, "active" : true})
  4. Agregue la dirección IP obtenida a la lista de permitidos de la instancia de MongoDB y quite la dirección IP 0.0.0.0/0.

Mi computadora local tiene una dirección IP pública dinámica que cambia y provoca errores de conexión. ¿Cuál es la solución?

¿Qué debo hacer si el acceso es lento, la conexión se congela o aparece un error ECONNRESET al conectarme a MongoDB a través de la red pública?

Solucione los problemas de conexión de red pública desde su cliente local según el síntoma:

  • El acceso es lento y sospecha que hay fluctuaciones en la red: reiniciar la instancia no resuelve un problema del lado de la red. Primero observe las condiciones de la red. Si el problema persiste, solucione los problemas de su red local o de la conexión proporcionada por su proveedor de servicios de Internet (ISP).

  • **La conexión TCP se establece, pero ocurre un error ECONNRESET durante el handshake**: compruebe si la lista de permitidos de la instancia está configurada correctamente. En una instancia de clúster fragmentado, verifique si el número de conexiones a los nodos Mongos alcanzó el límite máximo. Si se alcanzó el límite, reinicie la instancia para liberar conexiones o actualice las especificaciones de la instancia. Luego, conéctese temporalmente mediante la cadena de conexión de nodo único para descartar un problema de balanceo de carga. Utilice la cadena de conexión de nodo único solo para solucionar problemas, no como método de conexión habitual.

  • **Un cliente como Apache SeaTunnel reporta No server chosen o un tiempo de espera agotado en la conexión**: es posible que el controlador no logre identificar el nodo primario. Utilice el ConnectionStringURI completo para una conexión de alta disponibilidad, el cual incluye el parámetro replicaSet. Como alternativa, especifique temporalmente solo la cadena de conexión del nodo primario para realizar pruebas. Una vez identificado el problema, vuelva a usar el ConnectionStringURI completo.

  • Una tarea de sincronización de datos se congela: revise los registros del cliente en busca de errores de falta de memoria (OOM) o pérdida de conexión. Luego, analice los registros de conexión de MongoDB para determinar si el cliente agotó el tiempo de espera porque no pudo identificar el nodo primario. Modifique la configuración de conexión para usar el ConnectionStringURI completo con el parámetro replicaSet y lograr una conexión de alta disponibilidad, o bien conéctese temporalmente solo al nodo primario para realizar pruebas.

Documentos relacionados