For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/databases/mongodb-connection-strings.md.

Comprendre le format de l'URI des chaînes de connexion de Public Cloud Databases for MongoDB

Voir en Markdown

Découvrez le fonctionnement de la syntaxe des connexions pour MongoDB

Objectif

Ce guide va vous aider à comprendre la syntaxe des URI des chaînes de connexion et comment connecter des applications à des instances MongoDB.

MongoDB 3.6 a introduit le concept de liste de seed (seed list) spécifiée via des enregistrements DNS, en l'occurrence des enregistrements SRV. Auparavant, les clients devaient spécifier au moins un membre du replica set (et pouvaient en spécifier plusieurs) lors de la connexion. Cela permet à un client de se connecter à un replica set même si l'un des nœuds spécifiés par le client est indisponible.

Ce guide explique comment tirer parti du format de chaîne de connexion DNS seed list pour faciliter la connexion à un service MongoDB.

Prérequis

  • Un projet Public Cloud dans votre compte OVHcloud
  • Une instance MongoDB exécutée sur votre service OVHcloud Public Cloud Databases (ce guide peut vous aider à répondre à ce prérequis)
  • Configurer votre instance MongoDB pour accepter les connexions entrantes
  • Une version stable de MongoDB Compass installée et une connectivité réseau publique (Internet). Ce guide a été réalisé avec la version 1.30.1 de MongoDB Compass

Accès à l'espace client OVHcloud

  • Lien direct :
  • Chemin de navigation : Public Cloud > Sélectionnez votre projet

Concepts

Une fois qu'une instance MongoDB est en cours d'exécution, vous pouvez y connecter plusieurs applications, à partir de diverses bibliothèques, drivers, et plus encore.
Dans chaque cas, du shell mongosh à du code Python ou une application NodeJS, vous devez spécifier certains paramètres tels qu'un hôte, un port, un utilisateur, un mot de passe, etc.

Une fois réunis, cette syntaxe exacte est appelée URI, pour Uniform Resource Identifier. MongoDB prend actuellement en charge deux formats d'URI de chaîne de connexion.

Format de chaîne de connexion standard

Il s'agit du premier format proposé par MongoDB depuis la version 1. Depuis MongoDB 3.6, la meilleure pratique consiste à éviter ce format. Il sera bientôt masqué dans l'espace client OVHcloud.

La chaîne de connexion URI standard a le format suivant :

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

Par exemple, avec Public Cloud Databases, cela peut ressembler à ceci :

mongodb://`<username>`:<password>@node1-2d57ab70d2a6c535.database.cloud.ovh.net,node2-2d57ab70d2a6c535.database.cloud.ovh.net,node3-2d57ab70d2a6c535.database.cloud.ovh.net/admin?replicaSet=replicaset&tls=true

Format de connexion DNS Seed List

Introduit depuis MongoDB 3.6, ce nouveau format d'URI de chaîne de connexion apporte praticité et ergonomie.

Plutôt que de lister tous les hôtes un par un, MongoDB a introduit le concept de listes basées sur le DNS. Cette méthode est recommandée pour les drivers > 3.6.

L'utilisation du DNS pour construire la liste des serveurs disponibles permet plus de flexibilité de déploiement et la possibilité de modifier les hôtes sans reconfigurer les clients.

Sans l'enregistrement SRV, les clients de configuration doivent lister plusieurs nœuds dans leur chaîne de connexion.

L'utilisation d'enregistrements SRV élimine la nécessité pour les clients de transmettre un ensemble complet d'informations d'état pour le cluster. À la place, un seul enregistrement SRV identifie tous les nœuds associés au cluster.

La chaîne de connexion DNS seed list a le format suivant :

mongodb+srv://`<username>`:<password>@server.example.com/[/[defaultauthdb][?options]]

Par exemple, cela peut ressembler à ceci avec Public Cloud Databases, même avec 3 nœuds :

mongodb+srv://`<username>`:<password>@mongodb-d2a6c535-o099ad5c9.database.cloud.ovh.net/admin?replicaSet=replicaset&tls=true

La configuration DNS correspondante (enregistrements SRV) est spécifiée lors de l'instanciation du service MongoDB et peut ressembler à ceci :

Record                                                  TTL   Class    Priority Weight Port  Target
_mongodb._tcp.mongodb-d2a6c535-o099ad5c9.database.cloud.ovh.net. 1440 IN SRV   0        5      27017 node1-2d57ab70d2a6c535.database.cloud.ovh.net.
_mongodb._tcp.mongodb-d2a6c535-o099ad5c9.database.cloud.ovh.net. 1440 IN SRV   0        5      27017 node2-2d57ab70d2a6c535.database.cloud.ovh.net.
_mongodb._tcp.mongodb-708c0af6-o1b33fa01.database.cloud.ovh.net. 1440 IN SRV   0        5      27017 node3-2d57ab70d2a6c535.database.cloud.ovh.net.

Exemple : ajouter et supprimer des nœuds MongoDB sans impact grâce à la DNS Seed List

Récupérer la chaîne de connexion MongoDB DNS Seed List

Pour récupérer l'URI MongoDB (mongodbSrv), ouvrez votre projet Public Cloud et cliquez sur Databases dans le menu de navigation de gauche, puis sélectionnez votre instance MongoDB.

Dans le panneau central Login information, sélectionnez mongodbSrv comme Service et copiez l'URI.

Copier l'URI SRV depuis le Manager OVHcloud

Tester la connexion à MongoDB

Ouvrez MongoDB Compass et renseignez le champ de connexion avec la chaîne de connexion mongodbSrv que vous venez de copier. Remplacez le nom d'utilisateur et le mot de passe par leurs valeurs réelles et cliquez sur Se connecter.

Se connecter depuis MongoDB Compass

MongoDB Compass établit la connexion et vous devriez maintenant pouvoir explorer vos bases de données.

MongoDB Compass est connecté

Ajouter un nœud à un cluster

Imaginons que vous souhaitiez faire monter en charge votre cluster pour absorber une charge supplémentaire.
Depuis l'espace client OVHcloud, cliquez sur le bouton Ajouter un nœud et confirmez.

Ajouter un nœud depuis l'espace client OVHcloud

Une fois le nouveau nœud provisionné, il n'est pas nécessaire de reconfigurer votre connexion.

Une fois que MongoDB Compass a établi la connexion, cliquez sur le menu des trois points ... à côté du nom de la connexion.
Dans le menu, cliquez sur Informations de connexion.

Informations de connexion MongoDB Compass avec 4 nœuds

Votre MongoDB Compass est désormais connecté aux 4 nœuds du cluster.

Supprimer un nœud du cluster

Vous souhaitez maintenant réduire la taille du cluster en supprimant un nœud.

Retournez dans l'espace client OVHcloud, cliquez sur le bouton Supprimer le nœud et confirmez.

Supprimer un nœud depuis l'espace client OVHcloud

Après quelques secondes, le nœud est effectivement supprimé du cluster. Retournez dans MongoDB Compass et ouvrez Informations de connexion. Vous devriez pouvoir constater que MongoDB Compass a mis à jour la liste des nœuds de votre cluster, et n'en liste plus que 3.

Informations de connexion MongoDB Compass avec 4 nœuds

Sans avoir mis à jour la chaîne de connexion, l'application cliente a mis à jour dynamiquement ses informations de connexion.

Pour conclure

En résumé, la chaîne de connexion DNS seed list et les enregistrements SRV sous-jacents simplifient l'intégration des clusters MongoDB, limitent les erreurs et facilitent l'évolution grâce à une gestion transparente des nœuds.

Aller plus loin

Visitez notre chaîne Discord dédiée : https://discord.gg/ovhcloud.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe nos services de bases de données.

Cette page vous a-t-elle aidé ?