Tous les produits
Search
Centre de documentation

ApsaraDB for MongoDB:Se connecter à une instance de cluster fragmenté

Dernière mise à jour :Aug 09, 2026

Les instances de cluster fragmenté ApsaraDB for MongoDB fournissent des endpoints distincts pour les composants Mongos, Shard et ConfigServer, ainsi que des adresses ConnectionStringURI et ConnectionStringURI SRV haute disponibilité.

Obtenir un endpoint

  1. Accédez à la page Instances de cluster fragmenté ApsaraDB for MongoDB. Dans la barre de navigation supérieure, sélectionnez un groupe de ressources et une région. Cliquez ensuite sur l'ID de l'instance cible.

  2. Dans le volet de navigation de gauche de la page des détails de l'instance, cliquez sur Database ConnectionsDatabase Connections pour obtenir l'endpoint du nœud cible.

Détails des endpoints

Types de réseau des endpoints

Type de réseau

Description

réseau privé

  • VPC : Un VPC est un réseau isolé offrant une sécurité et des performances améliorées. Par défaut, les instances ApsaraDB for MongoDB fournissent des endpoints VPC.

  • Réseau classique : Réseau non isolé qui s'appuie uniquement sur des groupes de sécurité ou des listes d'autorisation pour la protection. Les nouvelles instances ne prennent plus en charge le réseau classique. Pour plus d'informations, consultez Avis : Le réseau classique n'est plus pris en charge pour les nouvelles instances ApsaraDB for MongoDB.

réseau public

La connexion à une instance via le réseau public présente des risques de sécurité. Par défaut, les instances ApsaraDB for MongoDB ne fournissent pas d'endpoints publics. Si vous devez vous connecter via le réseau public, vous pouvez demander un endpoint public manuellement.

Types d'endpoints

Type d'endpoint

Description

Adresse SRV ConnectionStringURI (recommandée)

Un enregistrement SRV est un type d'enregistrement DNS qui simplifie la chaîne de connexion et permet la découverte automatique des membres du cluster.

Important
  • Par défaut, la console n'affiche pas l'adresse SRV. Pour l'utiliser, cliquez sur Apply for Private SRV Endpoint ou Apply for Public SRV Endpoint sur la page Database Connection.

  • Avant de demander une adresse SRV publique, vous devez activer les endpoints publics pour les nœuds Mongos. Après vous être connecté à l'instance MongoDB à l'aide de l'adresse SRV publique, le client envoie automatiquement les requêtes aux nœuds Mongos dont les endpoints publics sont activés.

  • Les adresses SRV sont prises en charge uniquement pour les instances dotées de disques cloud.

  • Une adresse SRV privée dans un VPC peut être associée à un maximum de 20 nœuds Mongos. En raison des limitations du protocole de résolution DNS au sein d'un VPC, si le nombre de nœuds Mongos dépasse 20, les requêtes ne seront pas équilibrées vers les nœuds supplémentaires. Cette limitation ne s'applique pas aux adresses SRV publiques.

  • Nous recommandons aux applications en environnement de production de se connecter à la base de données à l'aide de l'adresse SRV ConnectionStringURI. Le client distribue automatiquement les requêtes sur plusieurs nœuds de l'instance pour l'équilibrage de charge. Si un nœud tombe en panne, le client effectue automatiquement un basculement et envoie les requêtes à un nœud sain.

  • Les anciennes versions de pilotes peuvent ne pas prendre en charge les adresses SRV ou la découverte automatique des nœuds. Par exemple :

    • Versions de pymongo antérieures à 3.9.0.

    • Versions de mongo-java-driver antérieures à 3.10.0.

    • Versions de mongodb-go-driver antérieures à 1.1.0.

    • Versions du pilote MongoDB Node.js antérieures à 3.3.0.

    • Versions de mongo-cxx-driver antérieures à 3.8.

Adresse ConnectionStringURI

ApsaraDB for MongoDB fournit des adresses ConnectionStringURI pour les composants Mongos et Shard.

Pour les environnements de production, utilisez une adresse ConnectionStringURI plutôt qu'une chaîne de connexion à un seul nœud. Le client distribue automatiquement les requêtes sur plusieurs nœuds Mongos pour l'équilibrage de charge et effectue un basculement vers un nœud Mongos sain si l'un d'eux devient indisponible.

Remarque
  • Par défaut, la console affiche uniquement l'adresse ConnectionStringURI pour Mongos. Pour obtenir l'adresse ConnectionStringURI d'un Shard, vous devez demander l'endpoint du nœud correspondant.

  • Si les paramètres readPreference et readPreferenceTags ne sont pas définis, les requêtes de lecture sont envoyées au nœud principal.

  • Après avoir ajouté ou supprimé des nœuds Mongos dans une instance de cluster fragmenté, vous devez mettre à jour la chaîne de connexion pour refléter ces modifications.

Adresse Mongos

L'endpoint d'un composant Mongos, y compris l'endpoint du nœud principal.

Remarque

Pour les tests quotidiens, la connexion à un seul nœud Mongos est suffisante.

Adresse Shard

L'endpoint d'un composant Shard, y compris les endpoints du nœud principal, du nœud secondaire et du nœud en lecture seule.

Remarque
  • Par défaut, la console affiche uniquement les endpoints de Mongos. Pour obtenir les endpoints d'un Shard et d'un Configserver, vous devez demander l'endpoint du nœud correspondant.

  • L'endpoint d'un nœud en lecture seule d'un composant Shard est affiché uniquement si le composant Shard contient des nœuds en lecture seule.

Adresse ConfigServer

L'endpoint d'un composant ConfigServer, y compris les endpoints du nœud principal et du nœud secondaire.

Remarque
  • Par défaut, la console affiche uniquement les endpoints de Mongos. Pour obtenir les endpoints d'un Shard et d'un ConfigServer, vous devez demander l'endpoint du nœud correspondant.

  • Vous pouvez demander des endpoints ConfigServer uniquement pour les instances de cluster fragmenté avec des disques locaux.

Les sections suivantes répertorient le format, les paramètres et les exemples pour chaque type d'endpoint.

Adresse SRV ConnectionStringURI

Format :

mongodb+srv://<username>:<password>@<srv-host>/<database>?[authSource=<authenticationDatabase>]<other_options>

Paramètres :

Paramètre

Description

mongodb+srv://

Préfixe indiquant qu'un enregistrement DNS SRV est utilisé pour la découverte de service.

<username>

Nom d'utilisateur du compte de base de données. Valeur par défaut : root.

<password>

Mot de passe du compte de base de données.

<srv-host>

Nom d'hôte.

<database>

Nom de la base de données à laquelle vous souhaitez accéder. Valeur par défaut : admin.

authSource=<authenticationDatabase> (facultatif)

Base de données à laquelle appartient le compte de base de données. <authenticationDatabase> spécifie le nom de la base de données d'authentification.

Remarque

Pour les chaînes de connexion SRV ApsaraDB for MongoDB, l'enregistrement TXT définit authSource=admin. Cela remplace l'attribut d'authentification de <database>. Si vous souhaitez modifier la base de données d'authentification, vous devez définir explicitement authSource=<authenticationDatabase> au lieu de modifier le paramètre <database>. Pour plus d'informations, consultez la documentation officielle MongoDB.

<other_options>

Autres paramètres facultatifs.

Remarque

Pour les connexions SRV, l'option SSL est activée par défaut. Si vous n'avez pas besoin d'utiliser le chiffrement SSL, ajoutez le paramètre ssl=false à la chaîne de connexion. Pour plus d'informations sur les paramètres facultatifs, consultez la documentation officielle MongoDB.

Exemple :

Le compte de base de données est test et il appartient à la base de données admin.

mongodb+srv://test:****@dds-2zef4c23****-srv.mongodb.pre.nosql.aliyuncs.com/admin?ssl=false

Adresse ConnectionStringURI

Les adresses ConnectionStringURI sont disponibles pour les composants Mongos et Shard.

Mongos

Format :

mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>[?&authSource=<authenticationDatabase>]

Paramètre

Description

<username>

Nom d'utilisateur du compte de base de données. Valeur par défaut : root.

<password>

Mot de passe du compte de base de données.

<host>

Les Domain InformationDomain Information d'un nœud Mongos.

<port>

Le PortPort d'un nœud Mongos.

<database>

Nom de la base de données à laquelle vous souhaitez accéder. Valeur par défaut : admin.

authSource=<authenticationDatabase> (facultatif)

Base de données à laquelle appartient le compte de base de données. <authenticationDatabase> spécifie le nom de la base de données d'authentification. Si ce paramètre est omis, le client utilise <database> pour l'authentification.

Exemple :

Le compte de base de données est test et il appartient à la base de données admin.

mongodb://test:****@s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717,s-bp1773180e38****.mongodb.rds.aliyuncs.com:3717/admin

Shard

L'adresse ConnectionStringURI d'un composant Shard inclut les endpoints de tous les nœuds du jeu de réplicas, offrant ainsi une haute disponibilité. Utilisez cette adresse dans les environnements de production.

Important

Dans les environnements de production, connectez-vous toujours à l'aide de l'adresse ConnectionStringURI. Cela garantit que votre client peut toujours découvrir et se connecter au nœud principal actuel, évitant ainsi les problèmes de lecture/écriture après un basculement.

Format :

mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>[?&authSource=<authenticationDatabase>]

Paramètres :

Paramètre

Description

<username>

Nom d'utilisateur du compte de base de données. Valeur par défaut : root.

<password>

Mot de passe du compte de base de données.

<host>

Les Domain Information des nœuds principal, secondaire et en lecture seule.

<port>

Le Port des nœuds principal, secondaire et en lecture seule.

<database>

Nom de la base de données à laquelle vous souhaitez accéder. Valeur par défaut : admin.

authSource=<authenticationDatabase> (facultatif)

Base de données à laquelle appartient le compte de base de données. <authenticationDatabase> spécifie le nom de la base de données d'authentification. Si ce paramètre est omis, le client utilise <database> pour l'authentification.

readPreference=[primary | primaryPreferred | secondary | secondaryPreferred] (facultatif)

Contrôle la préférence de lecture pour la séparation lecture/écriture. Les requêtes d'écriture sont acheminées vers le nœud principal et les requêtes de lecture sont acheminées selon le mode sélectionné. Valeurs valides :

  • readPreference=primary : Les requêtes de lecture sont envoyées uniquement au nœud principal.

  • readPreference=primaryPreferred : Les requêtes de lecture sont envoyées en premier au nœud principal. Si le nœud principal échoue, les requêtes de lecture sont envoyées aux nœuds secondaires et aux nœuds en lecture seule.

  • readPreference=secondary : Les requêtes de lecture sont envoyées uniquement aux nœuds secondaires et aux nœuds en lecture seule. Si tous les nœuds secondaires et en lecture seule échouent, les requêtes de lecture échouent et ne sont pas envoyées au nœud principal.

  • readPreference=secondaryPreferred : Les requêtes de lecture sont envoyées en premier aux nœuds secondaires et aux nœuds en lecture seule. Si tous les nœuds secondaires et en lecture seule échouent, les requêtes de lecture sont envoyées au nœud principal.

Remarque

Lorsque les requêtes de lecture sont envoyées aux nœuds secondaires et en lecture seule, la distribution de la charge peut être inégale. Pour cibler davantage des nœuds spécifiques, définissez le paramètre readPreferenceTags.

readPreferenceTags=<readonly_Tags> (facultatif)

Achemine les requêtes de lecture vers les nœuds qui correspondent à des tags spécifiques. Généralement utilisé avec readPreference et incompatible avec le mode primary. <readonly_Tags> est une liste de paires clé-valeur de tags pour les nœuds en lecture seule. Les types suivants sont pris en charge :

  • readPreferenceTags=role:electable : Privilégier la lecture depuis les nœuds secondaires.

    Remarque

    Cette option prend effet uniquement pour les instances avec des disques cloud.

  • readPreferenceTags=role:readonly : Privilégier la lecture depuis les nœuds en lecture seule.

Vous pouvez combiner les paramètres readPreference et readPreferenceTags pour différents scénarios :

Comportement de basculement

Nœuds privilégiés

Combinaison de paramètres

Si les lectures depuis les nœuds privilégiés échouent, acheminer les requêtes de lecture vers le nœud principal

Privilégier le nœud principal

readPreference=primaryPreferred

Privilégier les nœuds secondaires et en lecture seule

readPreference=secondaryPreferred

Privilégier les nœuds secondaires

Remarque

Si les nœuds secondaires sont indisponibles, les requêtes de lecture basculent vers le nœud principal.

readPreference=secondaryPreferred&readPreferenceTags=role:electable

Privilégier les nœuds en lecture seule

Remarque

Si les nœuds en lecture seule sont indisponibles, les requêtes de lecture basculent vers le nœud principal.

readPreference=secondaryPreferred&readPreferenceTags=role:readonly

Si les lectures depuis les nœuds privilégiés échouent, ne pas acheminer les requêtes de lecture vers le nœud principal

Lire uniquement depuis les nœuds secondaires et en lecture seule

readPreference=secondary

Lire uniquement depuis les nœuds secondaires

Remarque

Si un nœud secondaire est indisponible, l'opération de lecture échoue.

readPreference=secondary&readPreferenceTags=role:electable

Lire uniquement depuis les nœuds en lecture seule

Remarque

Si un nœud en lecture seule est indisponible, l'opération de lecture échoue.

readPreference=secondary&readPreferenceTags=role:readonly

Exemple :

mongodb://test:****@d-bp1586cb62bf53b****.mongodb.rds.aliyuncs.com:3717,d-bp1586cb62bf53b****.mongodb.rds.aliyuncs.com:3717/admin

Adresse Mongos

Format :

<host>:<port>

Paramètres :

Paramètre

Description

<host>

Les Domain InformationDomain Information d'un nœud Mongos.

<port>

Le PortPort d'un nœud Mongos.

Exemple :

s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717

Adresse Shard

Format :

<host>:<port>

Paramètres :

Paramètre

Description

<host>

Les Domain InformationDomain Information d'un nœud Shard.

<port>

Le PortPort d'un nœud Shard.

Exemple :

d-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717

Adresse ConfigServer

Format :

<host>:<port>

Paramètres :

Paramètre

Description

<host>

Les Domain InformationDomain Information d'un nœud ConfigServer.

<port>

Le PortPort d'un nœud ConfigServer.

Exemple :

cs-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717

Se connecter à une base de données MongoDB

  1. Rassemblez les informations suivantes :

  2. Connectez-vous à la base de données à l'aide de l'une des méthodes suivantes :

Scénarios de connexion courants

FAQ

Pourquoi le client envoie-t-il des requêtes à des nœuds qui ne figurent pas dans la chaîne de connexion ?

Ce comportement fait partie de la fonctionnalité de découverte de service du client MongoDB, essentielle pour la haute disponibilité. Cette fonctionnalité permet au client de s'adapter automatiquement aux changements de topologie du cluster, tels qu'une défaillance du nœud principal, afin d'assurer la continuité du service. Vous pouvez ajouter directConnection=true à la chaîne de connexion pour spécifier que les requêtes sont envoyées uniquement à un seul endpoint. Pour plus d'informations, consultez directConnection.

Exemple :

Lorsque l'endpoint client pour une instance à cinq nœuds est configuré comme mongodb://root:xxx@dds-xxxxx1-pub.mongodb.rds.aliyuncs.com:3717,dds-xxxxx2-pub.mongodb.rds.aliyuncs.com:3717/admin, le client envoie également des requêtes et surveille l'état des deux nœuds restants, qui ne sont pas inclus dans l'endpoint précédent : dds-xxxxx3-pub.mongodb.rds.aliyuncs.com:3717,dds-xxxxx4-pub.mongodb.rds.aliyuncs.com:3717.