Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Conectar-se ao MongoDB pela internet pública

Última atualização: Sep 09, 2026

Este tópico descreve como se conectar a uma instância do ApsaraDB for MongoDB pela internet pública.

Pré-requisitos

Etapa 1: Solicitar uma string de conexão pública

  1. Acesse a página Replica Set Instances ou Sharded Cluster Instances. Na barra de navegação superior, selecione o grupo de recursos e a região desejados. Em seguida, clique em ID da instância de destino.

  2. No painel de navegação à esquerda da página de detalhes da instância, clique em Database Connections.

  3. Na seção Public IP Connection, clique em Apply for Public IP.

  4. Na caixa de diálogo Apply for Public IP, clique em Confirm.

  5. Aguarde o status da instância mudar de Establishing Network Connection para Running. Depois disso, visualize a string de conexão pública da instância.

    Nota
    • A instância continua funcionando normalmente enquanto o status é Establishing Network Connection.

    • A string de conexão fica visível somente após a configuração da lista de permissões.

    • Use o ConnectionStringURI para obter uma conexão de alta disponibilidade.

Etapa 2: Conectar-se à instância

Este exemplo usa o MongoDB Shell (mongosh) para conectar-se à instância.

ConnectionStringURI (Recomendado)

Comando:

mongo "<ConnectionStringURI>"

Parâmetros:

Parâmetro

Descrição

<ConnectionStringURI>

O ConnectionStringURI da sua instância, disponível no console do ApsaraDB for MongoDB.

Nota

Como prática recomendada de segurança, não se conecte ao banco de dados usando a conta root. Crie uma conta de banco de dados no Data Management (DMS) antes de se conectar.

Ao se conectar, substitua root:** pelo nome de usuário e senha da nova conta, como test:PassWord. Substitua /admin pelo banco de dados de autenticação, como /testdb.

Exemplo:

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****"    

String de conexão de nó único

Comando:

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

Parâmetros:

Parâmetro

Descrição

<host> e <port>

O Connection Address e a Port do nó, disponíveis no console do ApsaraDB for MongoDB.

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

<username>

O nome da conta do banco de dados.

Nota

Como prática recomendada de segurança, não use a conta root para se conectar ao banco de dados. Crie uma conta de banco de dados no Data Management (DMS) antes de se conectar.

<authenticationDatabase>

O banco de dados usado para autenticar a conta especificada.

Importante

Para que a autenticação seja bem-sucedida, a conta deve ser autenticada no banco de dados ao qual pertence.

Exemplo:

O exemplo a seguir considera que a conta do banco de dados é test e o banco de dados de autenticação é testdb.

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

No prompt Enter password:, insira a senha da conta do banco de dados e pressione Enter.

Perguntas frequentes

Por que não consigo me conectar à minha instância mesmo após adicionar meu endereço IP público à lista de permissões?

Esse problema pode ocorrer se você adicionou um endereço IP público incorreto à lista de permissões. Siga estas etapas para encontrar o endereço IP público correto do seu cliente local:

  1. Adicione o endereço IP 0.0.0.0/0 à lista de permissões da instância do MongoDB.

    Aviso

    0.0.0.0/0 permite que qualquer dispositivo acesse a instância do MongoDB. Isso representa um risco de segurança e deve ser usado com cautela. Se utilizar essa entrada, remova-a prontamente da lista de permissões.

  2. Use o MongoDB Shell (mongosh) para conectar-se à instância.

    Se ainda não conseguir se conectar ao MongoDB após definir a lista de permissões como 0.0.0.0/0, conecte-se ao MongoDB usando o Data Management (DMS) para verificar se o nome de usuário, a senha e o banco de dados de autenticação estão corretos.

  3. Execute o seguinte comando para consultar as informações do cliente da sua sessão do MongoDB Shell (mongosh).

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

    Após a execução do comando, o campo client no resultado indica o endereço IP público do cliente. Exemplo de saída:

    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,
    
    Nota

    Caso esteja conectado à instância por meio de outro cliente, execute o comando abaixo para consultar informações de todos os clientes ativos.

    db.runCommand({currentOp: 1, "active" : true})
  4. Adicione o endereço IP obtido à lista de permissões da instância do MongoDB e remova o endereço IP 0.0.0.0/0.

Minha máquina local tem um endereço IP público dinâmico que muda, causando falhas de conexão. Qual é a solução?

O que fazer se o acesso estiver lento, a conexão travar ou ocorrer um erro ECONNRESET ao me conectar ao MongoDB pela rede pública?

Solucione problemas de conexão via rede pública a partir do seu cliente local com base no sintoma apresentado:

  • Acesso lento com suspeita de flutuações na rede: Reiniciar a instância não resolve problemas relacionados à rede. Observe primeiro as condições da rede. Se o problema persistir, investigue sua rede local ou a conexão fornecida pelo seu provedor de services de Internet (ISP).

  • **Conexão TCP estabelecida, mas ocorre erro ECONNRESET durante o handshake**: Verifique se a lista de permissões da instância está configurada corretamente. Para instâncias de cluster fragmentado, confirme se o número de conexões aos nós Mongos atingiu o limite máximo. Caso tenha atingido, reinicie a instância para liberar conexões ou aumente as especificações da instância. Em seguida, conecte-se temporariamente usando a string de conexão de nó único para descartar problemas de balanceamento de carga. Use a string de conexão de nó único apenas para solução de problemas, e não como método regular de conexão.

  • **Um cliente como o Apache SeaTunnel reporta No server chosen ou tempo limite de conexão**: O driver pode não estar conseguindo identificar o nó primário. Use o ConnectionStringURI completo para uma conexão de alta disponibilidade, incluindo o parâmetro replicaSet. Alternativamente, especifique temporariamente apenas a string de conexão do nó primário para testes. Após identificar o problema, retome o uso do ConnectionStringURI completo.

  • Travamento em tarefa de sincronização de dados: Verifique nos logs do cliente se há erros de falta de memória (OOM) ou perda de conexão. Analise também os logs de conexão do MongoDB para determinar se houve timeout porque o cliente não conseguiu identificar o nó primário. Altere a configuração de conexão para usar o ConnectionStringURI completo com o parâmetro replicaSet visando alta disponibilidade, ou conecte-se temporariamente apenas ao nó primário para testes.

Documentos relacionados