Nota
Algunas respuestas de esta página se aplican únicamente a los clústeres Atlas Core. Para saber qué funciones admite Atlas Infinite, consulte la sección Disponibilidad de la vista previa pública.
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.
¿Cómo identifico qué cadena de conexión utiliza mi aplicación?
La estructura del URI de la cadena de conexión indica el tipo de cadena. Si has creado una conexión de emparejamiento o unos nodos privados, Atlas muestra más de una de estas opciones para tu uso.
¿Por qué mi clúster tiene varias cadenas de conexión?
Para conectarse a Atlas, dirija sus aplicaciones a un URI para comunicarse con un clúster. Atlas crea clusters con más de un nodo o host. Cada nodo tiene su propio nombre de host que 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. Configura Atlas para aceptar conexiones a los hosts del clúster desde direcciones IP autorizadas.
Atlas asegura las conexiones desde la dirección IP pública mediante autenticación y TLS. Si quieres conectarte a direcciones IP privadas, puedes utilizar:
Estas funcionalidades 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 cuando se utilizan redes seguras. Cada red ofrece un string que se resuelve en diferentes direcciones IP.
Todos los clústeres tienen una 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.
Utiliza esta string para 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 interconectadas en Azure o Google Cloud
Clústeres de AWS emparejados 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 de AWS cuando se utilice AWS con un servicio DNS personalizado.
Los clústeres de AWS o Azure en regiones con nodos privados configurados tienen una o más cadenas de conexiones. Cada string se resuelve a 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 el VPC o VNet de Atlas. Utiliza estas cadenas de conexión con aplicaciones que se conectan mediante nodos privados.
¿Puedo utilizar una única cadena de conexión SRV de MongoDB para un clúster multirregional con enlace privado?
Sí, se puede usar una sola cadena de conexión SRV para un clúster multiregional con Private Link en MongoDB Atlas. La cadena de conexión SRV se resuelve automáticamente en los nodos apropiados entre regiones. Sin embargo, debes asegurarte de que la configuración de la red permita la conectividad entre regiones a través de nodos privados. Para AWS y Azure, esto implica configurar el emparejamiento de VPC/VNet entre regiones. Para Google Cloud, debes configurar el acceso global para Private Service Connect.
Para obtener más información, consulte la documentación sobre nodos privados.
¿Qué implica esto para los clústeres de Google Cloud o Azure en modo de emparejamiento exclusivo?
Antes del 31 de marzo del 2020, era necesario habilitar el modo de solo emparejamiento para conectarse a bases de datos en clústeres de Azure o Google Cloud en red de pares. Este modo:
Resolución DNS global y afectada
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:
Actualiza las cadenas de conexión existentes de tu aplicación para usar IP privada para las cadenas de conexión de emparejamiento
Conéctate utilizando las cadenas descritas en ¿Por qué mi clúster tiene múltiples cadenas de conexión?
Nota
Puede seguir habiendo conexión a los clústeres usando las cadenas de conexión existentes habilitadas para el emparejamiento en este momento. El modo de solo emparejamiento impide el acceso a la funcionalidad mejorada y a las limitaciones reducidas de múltiples horizontes. Para utilizar las nuevas funcionalidades y remover las limitaciones heredadas, MongoDB requiere que se utilicen las nuevas cadenas de conexión.
¿Puede mi clúster Azure VNet-peered abarcar varias regiones?
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, primero desactive el modo Solo emparejamiento en los clústeres existentes de Azure.
¿Cómo puedo desactivar el modo sólo de emparejamiento?
Para desactivar el modo Solo Emparejamiento utilizando el:
En Atlas, ve a la página Clusters de tu proyecto.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Clusters en la sección Database.
La página de clústeres se muestra.
Actualice todas las aplicaciones para utilizar IP privada para las cadenas de conexión de emparejamiento.
Cambie cualquier URLen sus aplicaciones que utilicen sus clústeres de Atlas para utilizar IP privada para cadenas de conexión de emparejamiento.
En Atlas, diríjase a la página Project Settings.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en el icono junto a Project Overview.
La página Configuración del proyecto se muestra.
Verifique que todos los clústeres de su proyecto usen MongoDB 7.0 o posterior.
Llama al obtener todos API endpoint para devolver todos los clústeres y sus versiones de MongoDB:
Nota
Este curl comando utiliza un token de acceso a la cuenta de servicio(OAuth.) 2 0para autenticarse en lugar de claves API. Para obtener más información, consulte Introducción a 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 es exitosa, la respuesta deberá incluir:
{ "results": [{ ... "mongoDBMajorVersion": "6.0", "mongoDBVersion": "6.0.14", ... },{ ... "mongoDBMajorVersion": "6.0", "mongoDBVersion": "6.0.12", ... } ] }
Actualice todas las aplicaciones para utilizar IP privada para las cadenas de conexión de emparejamiento.
Cambie cualquier URLen sus aplicaciones que utilicen sus clústeres de Atlas para utilizar IP privada para cadenas de conexión de emparejamiento.
Desactivar el modo de IP privada en tus clústeres.
Llama al endpoint API para Desactivar el modo de 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 }
¿Cómo afecta esto el AWS VPC emparejamiento cuando utilizo DNS personalizados?
Antes del 31 de marzo 2020, las aplicaciones implementadas en AWS que utilizaban servicios DNS personalizados y VPCemparejadas con Atlas no podían conectarse a través de direcciones IP privadas:
DNS personalizado resuelto a direcciones IP públicas.
AWS DNS interno se resolvió a direcciones IP privadas.
Las aplicaciones desplegadas con servicios de DNS personalizados en AWS deben utilizar IP privada para cadenas de conexión de emparejamiento.
Para mostrar estas cadenas:
En Atlas, diríjase a la página Project Settings.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en el icono junto a Project Overview.
La página Configuración del proyecto se muestra.
Cadenas de conexión estándar
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.
Cadenas de conexión privadas
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 del ab123 importa. URIs que utilizan este formato resuelven direcciones IP privadas accesibles dentro de la red emparejada. Si configuras el emparejamiento de red para tu clúster, debes utilizar el nuevo nombre de host cuando te conectes a tu clúster para aprovechar el emparejamiento.
Importante
En los nuevos clústeres, los sets de réplicas y las particiones 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.
AWS Cadenas de conexión Privatelink
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 URIque usan este formato pueden ser accesibles a través de la AWS VPC donde alguien configuró PrivateLink, aunque el acceso puede ser transitivo desde otras VPCemparejadas a su vez.
Azure Cadenas de conexión Private Link
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
Los URIs con este formato son accesibles a través de la VNet de Azure donde se configuró Private Link, aunque el acceso puede ser transitivo desde otras VNets con emparejamiento a su vez.
Cadenas de conexión heredadas
Antes del 31 de marzo de 2020, las cadenas de conexión de Atlas se escribían de la siguiente manera:
AWS | | ||
Azure | | ||
Google Cloud | |
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.
¿Cómo puedo optimizar el rendimiento de la conexión para clústeres fragmentados usando Nodos privados?
Atlas puede generar una cadena de conexión SRV optimizada para clústeres fragmentados utilizando los balanceadores de carga de su servicio de punto final privado. Al usar una cadena de conexión optimizada, Atlas limita el número de conexiones por mongos entre su aplicación y su clúster fragmentado. El número limitado de conexiones por mongos mejora el rendimiento durante los picos de tráfico de conexiones.
Para utilizar una cadena de conexión optimizada, se debe cumplir con todos los criterios siguientes:
Asegúrese de que el clúster ejecute en AWS.
Asegúrese de que el clúster fragmentado ejecute MongoDB versión 5.0 o posterior. Si su clúster ejecuta actualmente una versión anterior de MongoDB, actualícela a la versión 5.0 o posterior para usar una cadena de conexión SRV optimizada.
Configure un endpoint privado para tu clúster.
Usar cualquiera de las siguientes opciones:
Un clúster de una sola región o
Un clúster multirregional con nodos privados regionalizados habilitado. Solo las AWS regiones en un clúster multiregional admiten una cadena de conexión SRV optimizada.
Atlas no admite conexiones optimizadas a clústeres multirregión utilizando un único registro SRV.
Conéctese usando uno de los siguientes métodos:
Conecte usando un controlador que cumpla o supere la versión mínima del controlador para conexiones optimizadas.
Nota
Si su clúster cumple con los criterios para cadenas SRV optimizadas, Atlas genera una cadena Optimized SRV Connection. Si su clúster alguna vez tuvo cadenas de conexión heredadas, Atlas las conserva indefinidamente e incluye una cadena Legacy SRV Connection cuando selecciona el tipo de conexión Private Endpoint. Considere cambiar a Optimized SRV Connection para un rendimiento óptimo y actualice su cadena de conexión dondequiera que la utilice.
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 conviertes un clúster particionado de una sola región a un clúster multiregional sin habilitar los nodos privados regionalizados, no podrás seguir usando la cadena de conexión optimizada. Antes de convertir el clúster, actualiza la cadena de conexión al string Legacy SRV Connection descrito en la nota anterior.
Usa cadenas de conexión optimizadas con un controlador
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.
Utilice cadenas de conexión optimizadas con Compass
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.
Utiliza cadenas de conexión optimizadas con mongosh
Para aprender a conectarse usando mongosh y una cadena de conexión optimizada, se debe seleccionar la pestaña Private Endpoint Connection en el procedimiento Conectarse al clúster.
¿Debo actualizar la cadena de conexión si cambio de proveedor de nube en un clúster Free o Flex?
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:
Muévete a Google Cloud o Azure
Salir Google Cloud o Azure
Nota
Cualquiera de las dos operaciones puede cambiar la cadena de conexión. En la interfaz de usuario de Atlas, hacer clic en Connect en el clúster una vez finalizada la actualización para obtener una cadena de conexión actualizada.
¿Debo actualizar la cadena de conexión si cambio de proveedor de la nube en un clúster dedicado?
Depende de lo siguiente:
qué proveedor de nube utiliza tu clúster actual
cuando creaste el clúster
Clústeres de GCP o Azure creados antes del 3 de noviembre de 2020
If you created your cluster before multi-cloud clusters were introduced on November 3, 2020, and your cluster runs on Google Cloud or Azure:
En Atlas, se debe ir a la página Clusters del proyecto.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Clusters en la sección Database.
La página de clústeres se muestra.
Abre el generador de clústeres.
Editar el clúster.
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.
Revisa y envía las siguientes modificaciones.
Copia la cadena de conexión URI resultante delimitada por comas.
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.
Reinicia la aplicación.
Asegúrate de que la aplicación pueda conectarse a Atlas.
Después de que se complete el primer cambio, vuelve a configurar tu clúster:
Remover todos los nodos elegibles con 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 respaldos heredados, espere hasta que se realicen nuevas copias de seguridad y luego mueva el nodo restante a su proveedor de nube de destino.
Revisa y envía las siguientes modificaciones.
Copia la cadena de conexión URI resultante delimitada por comas.
Sustituye la cadena de conexión URI en la aplicación por esta nueva cadena de conexión URI.
Reinicia la aplicación.
Asegúrate de que la aplicación pueda conectarse a Atlas.
AWS y clústeres creados después del 2 de noviembre de 2020
Su cadena de conexión no cambia ni se experimenta tiempo de inactividad del clúster si cualquiera de las siguientes condiciones es verdadera:
El 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:
En Atlas, se debe ir a la página Clusters del proyecto.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Clusters en la sección Database.
La página de clústeres se muestra.
Abre el generador de clústeres.
Editar el clúster.
Cambia el proveedor de nube.
Revisa y envía las siguientes modificaciones.