Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

FAQ: Opciones de cadenas de conexión

Atlas proporciona varias cadenas de conexión. Estas cadenas permiten conectarte a tus clústeres tanto desde contextos públicos como privados. Atlas siempre asigna a los clústeres cadenas de conexión únicas para que ningún clúster comparta nombres de host o cadenas de conexión en Atlas.

La estructura de la cadena de conexión URI indica el tipo del string. Si ha creado una conexión de emparejamiento o un nodo privado, Atlas muestra más de una de estas opciones para su uso.

Para conectarse a Atlas, apunte sus aplicaciones a un URI para comunicarse con un clúster. Atlas crea clústeres con más de un nodo o host. Cada nodo tiene su propio nombre de host que se resuelve en una dirección IP. El URI, conocido como cadena de conexión, al que se conecta Atlas puede tener más de un nombre de host. Configure Atlas para que acepte conexiones a los hosts del clúster desde las direcciones IP permitidas.

Atlas asegura las conexiones desde una dirección IP pública a través de autenticación y TLS. Si quieres conectarte a direcciones IP privadas, puedes utilizar:

  • Emparejamiento de VPC de AWS y GCP

  • Emparejamiento de vNet en Azure

  • AWS PrivateLink y Azure Private Link

Todas estas funciones gestionan la comunicación a través de direcciones IP internas dentro de redes seguras.

Atlas proporciona más de una cadena de conexión al usar redes seguras. Cada red ofrece una cadena que resuelve a diferentes direcciones IP.

Todos los clústeres tienen un cadena de conexión estándar. Esto se resuelve en el clúster de:

  • Direcciones IP públicas para conexiones a Internet y

  • VPC direcciones IP privadas para los clústeres de AWS cuando se resuelven desde una VPC emparejada.

Utilice este string para las aplicaciones que se conectan a través de Internet o se conectan a clústeres emparejados en AWS.

Los clústeres con redes interconectadas tienen una IP privada para la cadena de conexión de emparejamiento. Este string se convierte en direcciones IP disponibles para:

  • Redes en iguales en Azure o Google Cloud

  • Clústeres emparejados deAWS con un servicio DNS personalizado.

Utiliza esta cadena de conexión con aplicaciones que se conecten:

  • Dentro de una red emparejada Azure o Google Cloud

  • A los clústeres AWS cuando se usa AWS con el servicio DNS personalizado.

Las agrupaciones de AWS o Azure en regiones con nodos privados configurados tienen una o más cadenas de conexión. Cada string se resuelve en la dirección IP privada de una interfaz de red en tu VPC o VNet que se conecta directamente a un balanceador de carga en la Atlas VPC o VNet. Utiliza estas cadenas de conexión con aplicaciones que se conectan mediante nodos privados.

Sí, puede usar una sola cadena de conexión SRV para un clúster multirregional con Private Link en MongoDB Atlas. La cadena de conexión SRV se resuelve automáticamente en los nodos correspondientes de cada región. Sin embargo, asegúrese de que la configuración de su red permita la conectividad entre regiones mediante puntos de conexión privados. Para AWS y Azure, esto implica configurar el emparejamiento de VPC/VNet entre regiones. Para Google Cloud, debe configurar el acceso global para Private Service Connect.

Para obtener más información, consulte la documentación de puntos finales privados.

Antes del 31 de marzo de 2020, era necesario habilitar el modo solo de emparejamiento para conectarse a bases de datos en clústeres Azure o Google Cloud en red de pares Azure. Este modo:

  • Resolución global de DNS afectada y

  • Limitó todas las conexiones de base de datos fuera de la red emparejada.

Horizontes múltiples elimina estas restricciones y desbloquea las siguientes funcionalidades adicionales:

Para aprovechar varios horizontes, completa las siguientes tareas:

Nota

Por el momento, puede seguir conectándose a sus clústeres utilizando las cadenas de conexión existentes con peering habilitado. El modo de solo peering impide el acceso a la funcionalidad mejorada y las limitaciones reducidas de múltiples horizontes. Para usar las nuevas funciones y eliminar las limitaciones heredadas, MongoDB requiere el uso de las nuevas cadenas de conexión.

Sí.

Cambia tus aplicaciones para que se conecten usando la IP Privada para la cadena de conexión de emparejamiento. Este cambio permite que tus aplicaciones se conecten desde redes emparejadas mediante la interfaz de usuario o la API.

Para expandirse a más regiones, deshabilite primero el modo Peering-Only en los clústeres de Azure existentes.

Para desactivar el modo Solo Emparejamiento utilizando el:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

2

Cambie cualquier URLen sus aplicaciones que usen sus clústeres Atlas para usar IP privada para cadenas de conexión de peering.

3
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

La página Configuración del proyecto se muestra.

4

Cambiar Connect via Peering Only (GCP and Azure) a Apagado.

1

Llama al obtener todos API endpoint para devolver todos los clústeres y sus versiones de MongoDB:

Nota

Esto curl El comando utiliza un token de acceso de cuenta de servicio (OAuth 2.0) para autenticarse en lugar de las claves de API. Para obtener más información, consulta Comenzar con la API de administración de Atlas.

Ejemplo

curl --header "Authorization: Bearer {ACCESS-TOKEN}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/clusters?pretty=true"

Si tiene éxito, la respuesta debe incluir:

{
"results": [{
...
"mongoDBMajorVersion": "6.0",
"mongoDBVersion": "6.0.14",
...
},{
...
"mongoDBMajorVersion": "6.0",
"mongoDBVersion": "6.0.12",
... }
]
}
2

Cambie cualquier URLen sus aplicaciones que usen sus clústeres Atlas para usar IP privada para cadenas de conexión de peering.

3

Llama al API endpoint para Desactivar el Modo IP Privada.

Ejemplo

Usando curl, debes invocar este comando:

curl --header "Authorization: Bearer {ACCESS-TOKEN}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request PATCH "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/privateIpMode?pretty=true" \
--data '
{
"enabled" : false
}'

Cambia {GROUP-ID} al ID del grupo de tu proyecto.

En caso de ser exitosa, la respuesta muestra:

1{
2 "enabled" : false
3}

Antes del 31 de marzo de 2020, las aplicaciones implementadas en AWS usando servicios personalizados de DNS y VPCemparejados con Atlas no podían conectarse por direcciones IP privadas:

  • DNS personalizado resuelto a direcciones IP públicas.

  • DNS interno deAWS resuelto a direcciones IP privadas.

Las aplicaciones implementadas con servicios DNS personalizados en AWS deben usar IP privada para las cadenas de conexión de peering.

Para mostrar estas cadenas:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haga clic en Project Settings.

La página Configuración del proyecto se muestra.

2
  1. Establece Using Custom DNS on AWS with VPC Peering en On.

  2. Ver el modal connect para su clúster AWS.

  3. Seleccione la cadena de conexión Private IP for Peering.

Las cadenas de conexión estándar siguen este formato:

mongodb://xyz456-shard-00-00.ab123.mongodb.net:27017
mongodb+srv://xyz456.ab123.mongodb.net

El punto antes de ab123 importa. URIs utilizan este formato para resolverse a direcciones IP públicas excepto cuando se conectan desde el interior de AWS con VPCcon emparejamiento configurado.

Importante

Este formato cambia un carácter de las cadenas de conexión heredadas: un- guion () después del nombre del clúster se convierte en un punto. ().

Por ejemplo, esta cadena de conexión heredada:

mongodb+srv://xyx456-ab123.mongodb.net

se escribe como esta cadena de conexión estándar:

mongodb+srv://xyx456.ab123.mongodb.net

Para nuevos clústeres, los sets de réplicas y particiones no obtienen su nombre del nombre del clúster. Los nuevos nombres utilizan un ID de seis caracteres alfanuméricos.

Las cadenas de conexión privadas siguen este formato:

mongodb://xyx456-shard-00-00-pri.ab123.mongodb.net:27017
mongodb+srv://xyx456-pri.ab123.mongodb.net

El -pri antes ab123 del es importante. LasURIque usan este formato se resuelven en direcciones IP privadas accesibles dentro de la red emparejada. Si configura el emparejamiento de red para su clúster, debe usar el nuevo nombre de host al conectarse a él para utilizar el emparejamiento.

Importante

En los clústeres nuevos, los conjuntos de réplicas y los fragmentos no derivan su nombre del nombre del clúster. Los nuevos nombres utilizan un ID de seis caracteres alfanuméricos.

Nota

En entornos AWS, la cadena de conexión -pri es opcional, incluso cuando el emparejamiento de red está habilitado. AWS resuelve las direcciones IP privadas del clúster, ya sea que utilices la cadena de conexión privada o estándar.

Las cadenas de conexión de AWS PrivateLink siguen este formato:

mongodb://pl-0-us-east-1a.ab123.mongodb.net:1024
mongodb+srv://pl-0-us-east-1a.ab123.mongodb.net

Si habilita la configuración de punto de enlace privado regionalizado, las cadenas de conexión de AWS PrivateLink siguen este formato:

mongodb://pl-0-us-west-1.ab123.mongodb.net:1024
mongodb+srv://cluster0-pl-0-us-west-1.ab123.mongodb.net

Los URIs que utilizan este formato pueden ser accesibles a través de la plataforma AWS VPC, donde alguien configuró PrivateLink, aunque el acceso pueda ser transitivo desde otras VPCconectadas a su vez.

Las cadenas de conexión Azure Private Link siguen este formato:

mongodb://pl-0-eastus2.ab123.mongodb.net:1024
mongodb+srv://pl-0-eastus2.ab123.mongodb.net

Si activas la configuración de endpoint privado regionalizado, las cadenas de conexión de Azure Private Link siguen este formato:

mongodb://pl-0-eastus2.ab123.mongodb.net:1024
mongodb+srv://cluster0-pl-0-eastus2.ab123.mongodb.net

Se puede acceder a lasURIque usan este formato a través de la red virtual de Azure donde alguien configuró Private Link, aunque el acceso puede ser transitivo desde otras redes virtuales emparejadas a su vez.

Antes del 31 de marzo de 2020, las cadenas de conexión de Atlas se escribían de la siguiente manera:

AWS

foo-shard-00-00-ab123.mongodb.net
foo-ab123.mongodb.net

Azure

foo-shard-00-00-ab123.azure.mongodb.net
foo-ab123.azure.mongodb.net

Google Cloud

foo-shard-00-00-ab123.gcp.mongodb.net
foo-ab123.gcp.mongodb.net

Si activaste el modo Solo privado, estos nombres de host se resuelven en direcciones IP de red interconectadas. Si desactivas ese modo, los nombres de host se resuelven en direcciones IP públicas.

Si tu aplicación utiliza una cadena de conexión heredada en modo Solo emparejamiento, cambia a IP privada para cadenas de conexión de emparejamiento.

Atlas puede generar una cadena de conexión SRV optimizada para clústeres particionados con los balanceadores de carga del servicio de nodos privados. Cuando se usa una cadena de conexión optimizada, Atlas limita el número de conexiones por mongos entre la aplicación y el clúster particionado. Las conexiones limitadas por mongos mejoran el rendimiento durante los picos en el número de conexiones.

Para utilizar una cadena de conexión optimizada, debe cumplir todos los criterios siguientes:

Nota

Si su clúster cumple con los criterios para cadenas SRV optimizadas, Atlas genera una cadena Optimized SRV Connection para usted. Si su clúster alguna vez tuvo cadenas de conexión heredadas, Atlas las mantiene indefinidamente e incluye una string Legacy SRV Connection cuando usted selecciona el tipo de conexión Private Endpoint. Considere cambiar a la Optimized SRV Connection para un rendimiento óptimo y actualice su cadena de conexión dondequiera que la use.

Si crea el clúster y habilita los nodos privados después de que Atlas haya lanzado esta funcionalidad, Atlas mostrará la cadena de conexión optimizada por defecto cuando seleccione el tipo de conexión Private Endpoint. Puedes identificar una cadena de conexión optimizada por la adición de lb a la cadena de conexión como se muestra en el siguiente ejemplo:

mongodb+SRV://User1:P@ssword@cluster0-pl-0-lb.oq123.mongodb-dev.net/

Para deshabilitar las cadenas de conexión optimizadas para clústeres que no tienen la opción Legacy SRV Connection, contacte con soporte.

Advertencia

Conversión a un clúster multirregional

Si convierte su clúster fragmentado de una sola región en un clúster multirregional sin habilitar los puntos de conexión privados regionalizados, no podrá seguir usando la cadena de conexión optimizada. Antes de convertir su clúster, actualice su cadena de conexión a la cadena Legacy SRV Connection descrita en la nota anterior.

Para aprender cómo conectarse usando un controlador y una cadena de conexión optimizada, selecciona la pestaña Private Endpoint Connection en el procedimiento Conectar a tu aplicación.

Para aprender cómo conectar usando Compass y una cadena de conexión optimizada, selecciona la pestaña Private Endpoint Connection en el procedimiento Conectar a tu clúster.

Para aprender cómo conectarse usando mongosh y una cadena de conexión optimizada, seleccione la Private Endpoint Connection pestaña en el procedimiento Conectarse a su clúster.

Si tienes una cadena de conexión heredada y deseas cambiar de proveedor de nube, tu cadena de conexión debe incluir .gcp o .azure y deseas hacer una de las siguientes acciones:

  • Pásate a Google Cloud o Azure

  • Muévete fuera de Google Cloud o Azure

    Nota

    Cualquiera de estas operaciones puede cambiar la cadena de conexión. En la interfaz de usuario de Atlas, haga clic en Connect en el clúster una vez finalizada la actualización para obtener una cadena de conexión actualizada.

Depende de lo siguiente:

  • qué proveedor de nube utiliza tu clúster actual

  • cuando creaste el clúster

Si creó su clúster antes de que se introdujeran los clústeres multinube el 3 denoviembre de 2020, y su clúster se ejecuta en Google Cloud o Azure:

  1. En Atlas, se debe ir a la página Clusters del proyecto.

    1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

    2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

    3. En la barra lateral, haz clic en Clusters en la sección Database.

      La página de clústeres se muestra.

  2. Abre el generador de clústeres.

  3. Editar el cluster.

  4. Agrega nodos de solo lectura de tu proveedor de nube objetivo.

    Nota

    Si utilizas respaldos heredados, mantén un nodo en tu proveedor de nube actual y traslada el resto a tu proveedor de nube de destino.

  5. Revisa y envía las siguientes modificaciones.

  6. Copia la cadena de conexión URI resultante delimitada por comas.

  7. Reemplace la cadena de conexión en su aplicación con esta nueva cadena de conexión estándar.

    Esto permite que tu aplicación se conecte a nodos desde múltiples proveedores de nube.

  8. Reinicia la aplicación.

  9. Asegúrese de que su aplicación pueda conectarse a Atlas.

  10. Después de que se complete el primer cambio, vuelve a configurar tu clúster:

    • Eliminar todos los nodos elegibles mediante el proveedor de nube original.

    • Remueve los nodos de solo lectura para el proveedor de nube objetivo.

    • Agregue la misma cantidad de nodos elegibles usando el proveedor de nube objetivo.

    Nota

    Si está utilizando copias de seguridad heredadas, espere hasta que se realicen nuevas copias de seguridad y luego mueva el nodo restante a su proveedor de nube de destino.

  11. Revisa y envía las siguientes modificaciones.

  12. Copia la cadena de conexión URI resultante delimitada por comas.

  13. Reemplace la cadena de conexión URI en su aplicación por esta nueva cadena de conexión URI.

  14. Reinicia la aplicación.

  15. Asegúrese de que su aplicación pueda conectarse a Atlas.

Su cadena de conexión no cambia ni se experimenta tiempo de inactividad del clúster si cualquiera de las siguientes condiciones es verdadera:

  • Su clúster se ejecuta en AWS.

  • Su clúster se ejecuta en cualquier proveedor de nube, pero se creó después de 2 de noviembre de 2020.

Para cambiar el proveedor de nube de tu clúster:

  1. En Atlas, se debe ir a la página Clusters del proyecto.

    1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

    2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

    3. En la barra lateral, haz clic en Clusters en la sección Database.

      La página de clústeres se muestra.

  2. Abre el generador de clústeres.

  3. Editar el cluster.

  4. Cambia el proveedor de nube.

  5. Revisa y envía las siguientes modificaciones.

Volver

Preguntas frecuentes: Facturación