Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Conectar-se a uma instância de cluster com shards

Última atualização: Jul 17, 2026

As instâncias de cluster com shards do ApsaraDB for MongoDB fornecem endpoints separados para os componentes Mongos, Shard e ConfigServer, além de endereços ConnectionStringURI e ConnectionStringURI SRV de alta disponibilidade.

Obter um endpoint

  1. Acesse a página ApsaraDB for MongoDB Sharded Cluster Instances. Na barra de navegação superior, selecione um grupo de recursos e uma região. Em seguida, clique em ID da instância desejada.

  2. No painel de navegação à esquerda da página de detalhes da instância, clique em Database Connections para obter o endpoint do nó desejado.

Detalhes dos endpoints

Tipos de rede de endpoint

Tipo de rede

Descrição

rede privada

rede pública

Conectar-se a uma instância pela rede pública apresenta riscos de segurança. Por padrão, as instâncias do ApsaraDB for MongoDB não fornecem endpoints públicos. Caso precise se conectar pela rede pública, solicite um endpoint público manualmente.

Tipos de endpoint

Tipo de endpoint

Descrição

Endereço ConnectionStringURI SRV (Recomendado)

Um registro SRV é um tipo de registro DNS que simplifica a string de conexão e permite a descoberta automática de membros do cluster.

Importante
  • Por padrão, o console não exibe o endereço SRV. Para utilizá-lo, clique em Apply for Private SRV Endpoint ou Apply for Public SRV Endpoint na página Database Connection.

  • Antes de solicitar um endereço SRV público, ative os endpoints públicos para os nós Mongos. Após conectar-se à instância do MongoDB usando o endereço SRV público, o cliente envia automaticamente solicitações aos nós Mongos com endpoints públicos ativados.

  • Os endereços SRV são suportados apenas para instâncias com discos cloud.

  • Um endereço SRV privado em uma vpc pode ser associado a no máximo 20 nós Mongos. Devido às limitações do protocolo de resolução de DNS dentro de uma vpc, se o número de nós Mongos exceder 20, as solicitações não serão balanceadas para os nós adicionais. Essa limitação não se aplica a endereços SRV públicos.

  • Recomendamos que aplicações em ambiente de produção se conectem ao banco de dados usando o endereço ConnectionStringURI SRV. O cliente distribui automaticamente as solicitações entre vários nós da instância para balanceamento de carga. Se um nó falhar, o cliente executa automaticamente um failover e envia solicitações para um nó saudável.

  • Versões mais antigas de drivers podem não suportar endereços SRV ou descoberta automática de nós. Por exemplo:

    • pymongo em versões anteriores à 3.9.0.

    • mongo-java-driver em versões anteriores à 3.10.0.

    • mongodb-go-driver em versões anteriores à 1.1.0.

    • Driver Node.js do MongoDB em versões anteriores à 3.3.0.

    • mongo-cxx-driver em versões anteriores à 3,8.

Endereço ConnectionStringURI

O ApsaraDB for MongoDB fornece endereços ConnectionStringURI para os componentes Mongos e Shard.

Para ambientes de produção, utilize um endereço ConnectionStringURI em vez de uma string de conexão de nó único. O cliente distribui automaticamente as solicitações entre vários nós Mongos para balanceamento de carga e realiza failover para um nó Mongos saudável caso um fique indisponível.

Nota
  • Por padrão, o console exibe apenas o endereço ConnectionStringURI para Mongos. Para obter o endereço ConnectionStringURI de um Shard, solicite o endpoint do nó correspondente.

  • Se os parâmetros readPreference e readPreferenceTags não estiverem definidos, as solicitações de leitura são enviadas ao nó primário.

  • Após adicionar ou remover nós Mongos em uma instância de cluster com shards, atualize a string de conexão para refletir essas alterações.

Endereço Mongos

Endpoint de um componente Mongos, incluindo o endpoint do nó primário.

Nota

Para testes diários, conectar-se a um único nó Mongos é suficiente.

Endereço Shard

Endpoint de um componente Shard, incluindo os endpoints do nó primário, nó secundário e nó somente leitura.

Nota
  • Por padrão, o console exibe apenas os endpoints de Mongos. Para obter os endpoints de um Shard e de um Configserver, solicite o endpoint do nó correspondente.

  • O endpoint de um nó somente leitura de um componente Shard é exibido apenas se o componente Shard contiver nós somente leitura.

Endereço ConfigServer

Endpoint de um componente ConfigServer, incluindo os endpoints do nó primário e do nó secundário.

Nota
  • Por padrão, o console exibe apenas os endpoints de Mongos. Para obter os endpoints de um Shard e de um ConfigServer, solicite o endpoint do nó correspondente.

  • É possível solicitar endpoints de ConfigServer apenas para instâncias de cluster com shards que possuam discos locais.

As seções a seguir listam o formato, os parâmetros e exemplos para cada tipo de endpoint.

Endereço ConnectionStringURI SRV

Formato:

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

Parâmetros:

Parâmetro

Descrição

mongodb+srv://

Prefixo que indica o uso de um registro DNS SRV para descoberta de service.

<username>

Nome de usuário da conta do banco de dados. Valor padrão: root.

<password>

Senha da conta do banco de dados.

<srv-host>

Nome do host.

<database>

Nome do banco de dados que você deseja acessar. Valor padrão: admin.

authSource=<authenticationDatabase> (Opcional)

Banco de dados ao qual a conta pertence. <authenticationDatabase> especifica o nome do banco de dados de autenticação.

Nota

Para strings de conexão SRV do ApsaraDB for MongoDB, o registro TXT define authSource=admin. Isso substitui o atributo de autenticação de <database>. Se desejar alterar o banco de dados de autenticação, defina explicitamente authSource=<authenticationDatabase> em vez de alterar o parâmetro <database>. Para mais informações, consulte a documentação oficial do MongoDB.

<other_options>

Outros parâmetros opcionais.

Nota

Para conexões SRV, a opção ssl é ativada por padrão. Se não precisar usar criptografia ssl, adicione o parâmetro ssl=false à string de conexão. Para mais informações sobre parâmetros opcionais, consulte a documentação oficial do MongoDB.

Exemplo:

A conta do banco de dados é test e pertence ao banco de dados admin.

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

Endereço ConnectionStringURI

Os endereços ConnectionStringURI estão disponíveis tanto para os componentes Mongos quanto Shard.

Mongos

Formato:

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

Parâmetro

Descrição

<username>

Nome de usuário da conta do banco de dados. Valor padrão: root.

<password>

Senha da conta do banco de dados.

<host>

As Domain Information de um nó Mongos.

<port>

A Port de um nó Mongos.

<database>

Nome do banco de dados que você deseja acessar. Valor padrão: admin.

authSource=<authenticationDatabase> (Opcional)

Banco de dados ao qual a conta pertence. <authenticationDatabase> especifica o nome do banco de dados de autenticação. Se este parâmetro for omitido, o cliente usa o <database> para autenticação.

Exemplo:

A conta do banco de dados é test e pertence ao banco de dados admin.

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

Shard

O endereço ConnectionStringURI para um componente Shard inclui os endpoints de todos os nós no conjunto de réplicas, garantindo alta disponibilidade. Utilize este endereço em ambientes de produção.

Importante

Em ambientes de produção, conecte-se sempre usando o endereço ConnectionStringURI. Isso garante que seu cliente possa sempre descobrir e se conectar ao nó primário atual, evitando problemas de leitura/gravação após um failover.

Formato:

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

Parâmetros:

Parâmetro

Descrição

<username>

Nome de usuário da conta do banco de dados. Valor padrão: root.

<password>

Senha da conta do banco de dados.

<host>

As Domain Information dos nós primário, secundário e somente leitura.

<port>

A Port dos nós primário, secundário e somente leitura.

<database>

Nome do banco de dados que você deseja acessar. Valor padrão: admin.

authSource=<authenticationDatabase> (Opcional)

Banco de dados ao qual a conta pertence. <authenticationDatabase> especifica o nome do banco de dados de autenticação. Se este parâmetro for omitido, o cliente usa o <database> para autenticação.

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

Controla a preferência de leitura para divisão de leitura/gravação. Solicitações de escrita são roteadas para o nó primário, e solicitações de leitura são roteadas conforme o modo selecionado. Valores válidos:

  • readPreference=primary: Solicitações de leitura são enviadas apenas ao nó primário.

  • readPreference=primaryPreferred: Solicitações de leitura são enviadas primeiro ao nó primário. Se o nó primário falhar, as solicitações são enviadas aos nós secundários e somente leitura.

  • readPreference=secondary: Solicitações de leitura são enviadas apenas aos nós secundários e somente leitura. Se todos os nós secundários e somente leitura falharem, as solicitações de leitura falharão e não serão enviadas ao nó primário.

  • readPreference=secondaryPreferred: Solicitações de leitura são enviadas primeiro aos nós secundários e somente leitura. Se todos os nós secundários e somente leitura falharem, as solicitações são enviadas ao nó primário.

Nota

Quando solicitações de leitura são enviadas a nós secundários e somente leitura, a distribuição de carga pode ser desigual. Para direcionar melhor para nós específicos, defina o parâmetro readPreferenceTags.

readPreferenceTags=<readonly_Tags> (Opcional)

Roteia solicitações de leitura para nós que correspondem a tags específicas. Geralmente usado com readPreference e incompatível com o modo primary. <readonly_Tags> é uma lista de pares chave-valor de tag para nós somente leitura. Os seguintes tipos são suportados:

  • readPreferenceTags=role:electable: Preferência de leitura em nós secundários.

    Nota

    Esta opção tem efeito apenas para instâncias com discos cloud.

  • readPreferenceTags=role:readonly: Preferência de leitura em nós somente leitura.

Combine os parâmetros readPreference e readPreferenceTags para diferentes cenários:

Comportamento de failover

Nós preferidos

Combinação de parâmetros

Se as leituras dos nós preferidos falharem, roteie as solicitações de leitura para o nó primário

Preferir o nó primário

readPreference=primaryPreferred

Preferir nós secundários e somente leitura

readPreference=secondaryPreferred

Preferir nós secundários

Nota

Se os nós secundários estiverem indisponíveis, as solicitações de leitura farão failover para o nó primário.

readPreference=secondaryPreferred&readPreferenceTags=role:electable

Preferir nós somente leitura

Nota

Se os nós somente leitura estiverem indisponíveis, as solicitações de leitura farão failover para o nó primário.

readPreference=secondaryPreferred&readPreferenceTags=role:readonly

Se as leituras dos nós preferidos falharem, não roteie as solicitações de leitura para o nó primário

Ler apenas de nós secundários e somente leitura

readPreference=secondary

Ler apenas de nós secundários

Nota

Se um nó secundário estiver indisponível, a operação de leitura falhará.

readPreference=secondary&readPreferenceTags=role:electable

Ler apenas de nós somente leitura

Nota

Se um nó somente leitura estiver indisponível, a operação de leitura falhará.

readPreference=secondary&readPreferenceTags=role:readonly

Exemplo:

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

Endereço Mongos

Formato:

<host>:<port>

Parâmetros:

Parâmetro

Descrição

<host>

As Domain Information de um nó Mongos.

<port>

A Port de um nó Mongos.

Exemplo:

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

Endereço Shard

Formato:

<host>:<port>

Parâmetros:

Parâmetro

Descrição

<host>

As Domain Information de um nó Shard.

<port>

A Port de um nó Shard.

Exemplo:

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

Endereço ConfigServer

Formato:

<host>:<port>

Parâmetros:

Parâmetro

Descrição

<host>

As Domain Information de um nó ConfigServer.

<port>

A Port de um nó ConfigServer.

Exemplo:

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

Conectar-se a um banco de dados MongoDB

  1. Reúna as seguintes informações:

  2. Conecte-se ao banco de dados usando um dos seguintes métodos:

Cenários comuns de conexão

Perguntas frequentes

Por que o cliente envia solicitações para nós não listados na string de conexão?

Esse comportamento faz parte do recurso de descoberta de service do cliente MongoDB, essencial para alta disponibilidade. Esse recurso permite que o cliente se adapte automaticamente a mudanças na topologia do cluster, como a falha de um nó primário, para garantir a continuidade do service. Adicione directConnection=true à string de conexão para especificar que as solicitações devem ser enviadas apenas para um único endpoint. Para mais informações, consulte directConnection.

Exemplo:

Quando o endpoint do cliente para uma instância de cinco nós está configurado como mongodb://root:xxx@dds-xxxxx1-pub.mongodb.rds.aliyuncs.com:3717,dds-xxxxx2-pub.mongodb.rds.aliyuncs.com:3717/admin, o cliente também envia solicitações e monitora o status dos dois nós restantes, que não estão incluídos no endpoint anterior: dds-xxxxx3-pub.mongodb.rds.aliyuncs.com:3717,dds-xxxxx4-pub.mongodb.rds.aliyuncs.com:3717.