Tous les produits
Search
Centre de documentation

ApsaraDB for MongoDB:Se connecter à MongoDB via Internet

Dernière mise à jour :Sep 09, 2026

Cette rubrique explique comment se connecter à une instance ApsaraDB for MongoDB via le réseau public.

Prérequis

Étape 1 : Demander une chaîne de connexion publique

  1. Accédez à la page Replica Set Instances ou Sharded Cluster Instances. Dans la barre de navigation supérieure, sélectionnez le groupe de ressources et la région souhaités. 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 Connections.

  3. Dans la section Public IP Connection, cliquez sur Apply for Public IP.

  4. Dans la boîte de dialogue Apply for Public IP, cliquez sur Confirm.

  5. Attendez que le statut de l'instance passe de Establishing Network Connection à Running. Vous pouvez alors consulter la chaîne de connexion publique de l'instance.

    Remarque
    • L'instance continue de fonctionner normalement pendant que son statut est Establishing Network Connection.

    • La chaîne de connexion n'est visible qu'après configuration de la liste d'autorisation.

    • Utilisez le ConnectionStringURI pour une connexion haute disponibilité.

Étape 2 : Se connecter à l'instance

Cet exemple utilise MongoDB Shell (mongosh) pour se connecter à l'instance.

ConnectionStringURI (Recommandé)

Commande :

mongo "<ConnectionStringURI>"

Paramètres :

Paramètre

Description

<ConnectionStringURI>

Le ConnectionStringURI de votre instance, disponible dans la console ApsaraDB for MongoDB.

Remarque

Par mesure de sécurité, ne vous connectez pas à la base de données en utilisant le compte root. Créez un compte de base de données dans Data Management (DMS) avant de vous connecter.

Lors de la connexion, remplacez root:** par le nom d'utilisateur et le mot de passe du nouveau compte, par exemple test:PassWord. Remplacez /admin par la base de données d'authentification, par exemple /testdb.

Exemple :

mongo "mongodb://test:PassWord**@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/testdb?replicaSet=mgset-6108****"    

Chaîne de connexion à un seul nœud

Commande :

mongo --host <host> --port <port> -u <username> -p --authenticationDatabase <authenticationDatabase>

Paramètres :

Paramètre

Description

<host> et <port>

L'Connection Address et le Port du nœud, disponibles dans la console ApsaraDB for MongoDB.

Exemple : dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717

<username>

Le nom du compte de base de données.

Remarque

Par mesure de sécurité, n'utilisez pas le compte root pour vous connecter à la base de données. Créez un compte de base de données dans Data Management (DMS) avant de vous connecter.

<authenticationDatabase>

La base de données utilisée pour authentifier le compte de base de données spécifié.

Important

Pour que l'authentification réussisse, le compte de base de données doit être authentifié auprès de la base de données à laquelle il appartient.

Exemple :

L'exemple suivant suppose que le compte de base de données est test et que la base de données d'authentification est testdb.

mongo --host dds-bp19f409d7512****.mongodb.rds.aliyuncs.com --port 3717 -u test -p --authenticationDatabase testdb

À l'invite Enter password:, saisissez le mot de passe du compte de base de données et appuyez sur Entrée.

FAQ

Pourquoi ne puis-je pas me connecter à mon instance même après avoir ajouté mon adresse IP publique à la liste d'autorisation ?

Ce problème peut survenir si vous avez ajouté une adresse IP publique incorrecte à la liste d'autorisation. Suivez ces étapes pour trouver l'adresse IP publique correcte de votre client local :

  1. Ajoutez l'adresse IP 0.0.0.0/0 à la liste d'autorisation de l'instance MongoDB.

    Avertissement

    0.0.0.0/0 permet à tout appareil d'accéder à l'instance MongoDB. Cela présente un risque de sécurité et doit être utilisé avec prudence. Si vous utilisez cette entrée, vous devez la supprimer rapidement de la liste d'autorisation.

  2. Utilisez MongoDB Shell (mongosh) pour vous connecter à l'instance.

    Si vous ne parvenez toujours pas à vous connecter à MongoDB après avoir défini la liste d'autorisation sur 0.0.0.0/0, vous pouvez vous connecter à MongoDB en utilisant Data Management (DMS) pour vérifier si le nom d'utilisateur, le mot de passe et la base de données d'authentification sont corrects.

  3. Exécutez la commande suivante pour interroger les informations du client pour votre session MongoDB Shell (mongosh).

    db.currentOp({"appName" : "MongoDB Shell","active" : true})

    Après l'exécution de la commande, le champ client dans le résultat indique l'adresse IP publique du client. Exemple de sortie :

    mgset-xxx:PRIMARY> db.currentOp({"appName" : "MongoDB Shell","active" : true})
    {
        "inprog" : [
            {
                "desc" : "conn1591052",
                "threadId" : "48008022501120",
                "connectionId" : 1591052,
                "client" : "47.xxx.xxx.xxx:40602",
                "appName" : "MongoDB Shell",
                "clientMetadata" : {
                    "application" : {
                        "name" : "MongoDB Shell"
                    },
                    "driver" : {
                        "name" : "MongoDB Internal Client",
                        "version" : "4.0.5"
                    },
                    "os" : {
                        "type" : "Linux",
                        "name" : "Ubuntu",
                        "architecture" : "x86_64",
                        "version" : "16.04"
                    }
                },
            },
            "active" : true,
    
    Remarque

    Si vous vous connectez à l'instance en utilisant un client différent, exécutez la commande suivante pour interroger les informations de tous les clients actifs.

    db.runCommand({currentOp: 1, "active" : true})
  4. Ajoutez l'adresse IP obtenue à la liste d'autorisation de l'instance MongoDB et supprimez l'adresse IP 0.0.0.0/0.

Ma machine locale possède une adresse IP publique dynamique qui change, provoquant des échecs de connexion. Quelle est la solution ?

Que faire si l'accès est lent, si la connexion se fige ou si une erreur ECONNRESET se produit lors de la connexion à MongoDB via le réseau public ?

Dépannez une connexion au réseau public depuis votre client local en fonction du symptôme :

  • L'accès est lent et vous soupçonnez des fluctuations du réseau : Le redémarrage de l'instance ne résout pas un problème côté réseau. Observez d'abord les conditions réseau. Si le problème persiste, dépannez votre réseau local ou la connexion fournie par votre fournisseur d'accès Internet (FAI).

  • **La connexion TCP est établie, mais une erreur ECONNRESET se produit pendant le handshake** : Vérifiez si la liste d'autorisation de l'instance est correctement configurée. Pour une instance de cluster shardé, vérifiez si le nombre de connexions aux nœuds Mongos a atteint la limite supérieure. Si la limite est atteinte, redémarrez l'instance pour libérer les connexions ou mettez à niveau les spécifications de l'instance. Ensuite, connectez-vous temporairement en utilisant la chaîne de connexion à un seul nœud pour exclure un problème d'équilibrage de charge. Utilisez la chaîne de connexion à un seul nœud uniquement pour le dépannage, pas comme méthode de connexion régulière.

  • **Un client tel qu'Apache SeaTunnel signale No server chosen ou un délai d'expiration de connexion** : Le pilote peut ne pas réussir à identifier le nœud principal. Utilisez le ConnectionStringURI complet pour une connexion haute disponibilité, qui inclut le paramètre replicaSet. Alternativement, spécifiez temporairement uniquement la chaîne de connexion du nœud principal pour les tests. Après avoir identifié le problème, reprenez l'utilisation du ConnectionStringURI complet.

  • Une tâche de synchronisation des données se fige : Vérifiez les journaux du client pour détecter des erreurs de mémoire insuffisante (OOM) ou de perte de connexion. Ensuite, analysez les journaux de connexion MongoDB pour déterminer si le client a expiré car il n'a pas pu identifier le nœud principal. Modifiez la configuration de connexion pour utiliser le ConnectionStringURI complet avec le paramètre replicaSet pour une connexion haute disponibilité, ou connectez-vous temporairement uniquement au nœud principal pour les tests.

Documents connexes