Atlas proporciona múltiples cadenas de conexión. Estas cadenas permiten conectarse a los clústeres desde contextos públicos y privados. Atlas siempre asigna cadenas de conexión únicas a los clústeres para que dos clústeres no compartan nombres de host ni cadenas de conexión en Atlas.
¿Cómo identifico qué cadena de conexión utiliza mi aplicación?
La estructura de la cadena de conexión ElURI indica el tipo de cadena. Si ha creado una conexión de peering o un punto final privado, Atlas muestra más de una de estas opciones.
¿Por qué mi clúster tiene varias cadenas de conexión?
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 protege las conexiones desde direcciones IP públicas mediante autenticación y TLS. Si desea conectarse a direcciones IP privadas, puede usar:
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:
Direcciones IP públicas para conexiones a Internet y
Direcciones IP privadas deVPC para clústeres de AWS cuando se resuelven desde una VPC emparejada.
Utilice esta cadena para aplicaciones que se conectan a través de Internet o a clústeres emparejados en AWS.
Los clústeres con redes emparejadas tienen una cadena de conexión IP privada para emparejamiento. Esta cadena se resuelve en direcciones IP disponibles para:
Redes emparejadas en Azure o Google Cloud
Clústeres emparejados deAWS con un servicio DNS personalizado.
Utilice 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.
Los clústeres deAWS o Azure en regiones con puntos de conexión privados configurados tienen una o más cadenas de conexión. Cada cadena se resuelve en la dirección IP privada de una interfaz de red en su VPC o VNet que se conecta directamente a un balanceador de carga en la VPC o VNet de Atlas. Use estas cadenas de conexión con aplicaciones que se conecten a puntos de conexión privados.
¿Puedo usar una sola cadena de conexión SRV de MongoDB para un clúster multirregional con enlace privado?
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.
¿Qué significa esto para los clústeres de Google Cloud o Azure en modo de solo emparejamiento?
Antes del de 31 marzo 2020 del, 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 afectada y
Limite cualquier conexión de base de datos fuera de la red emparejada.
Multiple Horizons elimina estas restricciones y desbloquea las siguientes funciones adicionales:
Para aprovechar múltiples horizontes, complete las siguientes tareas:
Actualice las cadenas de conexión existentes de su aplicación para utilizar cadenas de conexión de IP privada para peering.
Conéctese utilizando las cadenas descritas en ¿Por qué mi clúster tiene múltiples cadenas de conexión?
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.
¿Puede mi clúster de Azure emparejado a VNet abarcar varias regiones?
Sí.
Cambie sus aplicaciones para que se conecten mediante la cadena de conexión IP privada para peering. Este cambio permite que sus aplicaciones se conecten desde redes peering 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.
¿Cómo puedo desactivar el modo sólo de emparejamiento?
Para deshabilitar el modo de solo intercambio de tráfico mediante:
En Atlas, vaya a la Clusters Página para su 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 peering.
Cambie cualquier URLen sus aplicaciones que usen sus clústeres Atlas para usar IP privada para cadenas de conexión de peering.
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, haga clic en Project Settings.
La página Configuración del proyecto se muestra.
Verifique que todos los clústeres de su proyecto utilicen MongoDB 7.0 o posterior.
Llame al punto final de la API para obtener todos los clústeres y sus versiones de MongoDB:
Ejemplo
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --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", ... } ] }
Actualice todas las aplicaciones para utilizar IP privada para las cadenas de conexión de peering.
Cambie cualquier URLen sus aplicaciones que usen sus clústeres Atlas para usar IP privada para cadenas de conexión de peering.
Deshabilite el modo IP privada en sus clústeres.
Llame al punto final de la API para deshabilitar el modo de IP privada.
Ejemplo
Utilizando curl, invocarías este comando:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --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 }'
Cambie {GROUP-ID} por el ID del proyecto de su proyecto.
Si tiene éxito, la respuesta mostrará:
1 { 2 "enabled" : false 3 }
¿Cómo afecta esto al proceso de emparejamiento entre AWS y VPC cuando uso un DNS personalizado?
Antes del de 31 marzo 2020 del, las aplicaciones implementadas dentro de 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.
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:
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, haga clic en Project Settings.
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 es importante. LasURIque usan este formato se resuelven en direcciones IP públicas,excepto cuando se conectan desde dentro de AWS con el emparejamiento de VPC 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
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.
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 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.
Cadenas de conexión de AWS Privatelink
Las cadenas de conexiónde 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 final 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
Se puede acceder a lasURI que usan este formatoa través de la VPC de AWS donde alguien configuró PrivateLink, aunque el acceso puede ser transitivo desde otras VPCconectadas a su vez.
Cadenas de conexión de Azure Private Link
Las cadenas de conexión de Azure Private Link siguen este formato:
mongodb://pl-0-eastus2.ab123.mongodb.net:1024 mongodb+srv://pl-0-eastus2.ab123.mongodb.net
Si habilita la configuración de punto de conexión 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.
Cadenas de conexión heredadas
Antes del 31 de marzo del 2020, escribías cadenas de conexión de Atlas de la siguiente manera:
AWS | | ||
Azure | | ||
Google Cloud | |
Si activó el modo "Solo privado", estos nombres de host se resuelven en direcciones IP de red emparejadas. Si desactivó ese modo, los nombres de host se resuelven en direcciones IP públicas.
Si su aplicación utiliza una cadena de conexión heredada en modo de solo intercambio de tráfico, cambie a IP privada para cadenas de conexión de intercambio de tráfico.
¿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 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:
Asegúrese de que el clúster fragmentado se ejecute en AWS.
Asegúrese de que el clúster fragmentado ejecute MongoDB versión 5.0 o posterior. Si su clúster ejecuta una versión anterior de MongoDB, actualice su versión de MongoDB a 5.0 la versión o posterior para usar una cadena de conexión SRV optimizada.
Configure un punto final privado para su clúster.
Utilice cualquiera de los siguientes:
Un clúster de una sola región o
Un clúster multirregional con puntos de conexión privados regionalizados habilitados. Solo las regiones de AWS de un clúster multirregional admiten una cadena de conexión SRV optimizada.
Atlas no admite conexiones optimizadas a clústeres multirregionales mediante un único registro SRV.
Conéctese utilizando uno de los siguientes métodos:
Conéctese utilizando 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 Optimized SRV Connection automáticamente una cadena. Si su clúster alguna vez tuvo cadenas de conexión heredadas, Atlas las mantiene indefinidamente e incluye una Legacy SRV Connection cadena al seleccionar el Private Endpoint tipo de conexión. Considere cambiar a Optimized SRV Connection para obtener un rendimiento óptimo y actualizar su cadena de conexión dondequiera que la use.
Si crea el clúster y habilita los puntos finales privados después de que Atlas lanzara esta función, Atlas mostrará la cadena de conexión optimizada de forma predeterminada al seleccionar el tipo de conexión Private Endpoint. Puede identificar una cadena de conexión optimizada añadiendo 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 los clústeres que no tienen la Legacy SRV Connection opción, comuníquese con el 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.
Utilice cadenas de conexión optimizadas con un controlador
Para aprender cómo conectarse utilizando un controlador y una cadena de conexión optimizada, seleccione la Private Endpoint Connection pestaña en el procedimiento Conectar su aplicación.
Utilice cadenas de conexión optimizadas con Compass
Para aprender cómo conectarse usando Compass y una cadena de conexión optimizada, seleccione la Private Endpoint Connection pestaña en el procedimiento Conectarse a su clúster.
Utilice cadenas de conexión optimizadas con mongosh
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.
¿Debo actualizar la cadena de conexión si cambio de proveedor de nube en un clúster gratuito o Flex?
Si tiene una cadena de conexión heredada y desea cambiar de proveedor de nube, su cadena de conexión debe incluir .gcp o .azure y debe realizar una de las siguientes acciones:
Migrar a Google Cloud o Azure
Aléjesede 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.
¿Debo actualizar la cadena de conexión si cambio de proveedor de nube en un clúster dedicado?
Depende de lo siguiente:
¿Qué proveedor de nube utiliza su clúster actual?
cuando creaste el cluster
Clústeres de GCP o Azure creados antes del 3 de noviembre de 2020
Si creó su clúster antes de que se introdujeran los clústeres 3 2020 multinube el de noviembre de, y su clúster se ejecuta en Google Cloud o 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.
Abra el generador de clústeres.
Editar el cluster.
Agregue nodos de solo lectura de su proveedor de nube de destino.
Nota
Si utiliza copias de seguridad heredadas, mantenga un nodo en su proveedor de nube actual y mueva el resto a su proveedor de nube de destino.
Revisar y enviar los cambios.
Copie la cadena de conexión URI delimitada por comas resultante.
Reemplace la cadena de conexión en su aplicación con esta nueva cadena de conexión estándar.
Esto permite que su aplicación se conecte a nodos de múltiples proveedores de nube.
Reinicia la aplicación.
Asegúrese de que su aplicación pueda conectarse a Atlas.
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.
Elimine los nodos de solo lectura para el proveedor de nube de destino.
Agregue la misma cantidad de nodos elegibles utilizando el proveedor de nube de destino.
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.
Revisar y enviar los cambios.
Copie la cadena de conexión URI delimitada por comas resultante.
Reemplace la cadena de conexión URI en su aplicación con esta nueva cadena de conexión URI.
Reinicia la aplicación.
Asegúrese de que su 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 y no experimenta tiempo de inactividad del clúster si se cumple alguna de las siguientes condiciones:
Su clúster se ejecuta en AWS.
Su clúster se ejecuta en cualquier proveedor de nube, pero se creó después del 2 de noviembre de 2020.
Para cambiar el proveedor de nube para su 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.
Abra el generador de clústeres.
Editar el cluster.
Cambiar el proveedor de la nube.
Revisar y enviar los cambios.