Solicite um endpoint público e use o MongoDB Shell para conectar-se a uma instância do ApsaraDB for MongoDB a partir do seu cliente local pela internet.
Pré-requisitos
Antes de começar, verifique se você tem:
O endereço IP público do seu cliente local
O endereço IP público adicionado à lista de permissões do MongoDB
O MongoDB Shell (mongosh) instalado no seu cliente local
Para o MongoDB 4.4 e versões anteriores, use o shell legado mongo em vez do mongosh. A sintaxe do comando é a mesma.
Solicite um endpoint público
Acesse a página MongoDB Replica Set Instances ou MongoDB Sharded Cluster Instances. Na barra de navegação superior, selecione um grupo de recursos e uma região. Em seguida, clique no ID da instância de destino.
No painel de navegação à esquerda, clique em Database Connections.
Na seção Public Connections, clique em Apply for Public Connection String.
Na caixa de diálogo exibida, clique em OK.
Aguarde até que o status da instância mude de Creating Network Connection para Running. O endpoint público ficará disponível na página Database Connections.
A instância opera normalmente enquanto o status for Creating Network Connection. O endpoint só fica visível após você configure a lista de permissões. Use o endpoint ConnectionStringURI de alta disponibilidade (HA) para failover automático.
Conecte-se à instância
Há dois métodos de conexão disponíveis. O URI da string de conexão de alta disponibilidade é recomendado, pois fornece failover automático entre os nós do conjunto de réplicas.
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.
URI da string de conexão de alta disponibilidade (recomendado)
Conecte-se usando o ConnectionStringURI para alta disponibilidade:
mongosh "<ConnectionStringURI for high availability>"
Encontre o ConnectionStringURI de alta disponibilidade na página Database Connections do console. Antes de se conectar, substitua root:**** pelas credenciais da sua conta de banco de dados (por exemplo, test:PassWord**) e substitua /admin pelo seu banco de dados de autenticação (por exemplo, /testdb).
Exemplo:
mongosh "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****"
Endpoint de nó único
Conecte-se a um nó específico usando o host e a porta:
mongosh --host <host> --port <port> -u <username> -p --authenticationDatabase <authenticationDatabase>
|
Parâmetro |
Descrição |
|
|
O endpoint do nó na página Database Connections. Exemplo: |
|
|
O número da porta do nó. Exemplo: |
|
|
O nome da conta do banco de dados. Não use a conta root. Crie uma conta de banco de dados no DMS antes de se conectar. |
|
|
O banco de dados de autenticação no qual a conta está armazenada. Você deve autenticar a conta no banco de dados ao qual ela pertence. |
Exemplo:
A conta do banco de dados é test e o banco de dados de autenticação é testdb.
mongosh --host dds-bp19f409d7512****.mongodb.rds.aliyuncs.com --port 3717 -u test -p --authenticationDatabase testdb
No prompt Enter password:, insira a senha e pressione Enter.
Perguntas frequentes
Por que não consigo me conectar após adicionar meu IP à lista de permissões?
É provável que o seu endereço IP público real seja diferente daquele que você adicionou. Provedores de internet, proxies e gateways NAT podem alterar a forma como o seu IP aparece externamente. Para descobrir o seu IP real identificado pela instância do MongoDB:
-
Adicione temporariamente o endereço
0.0.0.0/0à lista de permissões da instância do MongoDB.AvisoO endereço
0.0.0.0/0permite o acesso a partir de qualquer endereço IP. Remova-o da lista de permissões assim que terminar a solução de problemas. Conecte-se à instância do MongoDB usando o mongosh. Se você ainda não conseguir se conectar após adicionar
0.0.0.0/0, tente conectar-se por meio do DMS conectando-se por meio do DMS para verificar se a sua conta, senha e banco de dados de autenticação estão corretos.-
Execute o seguinte comando para descobrir o endereço IP do seu cliente:
db.currentOp({"appName" : "MongoDB Shell","active" : true})NotaSe você se conectou por meio de outro cliente, execute o seguinte comando para consultar todos os clientes ativos:
db.runCommand({currentOp: 1, "active" : true}) Adicione o endereço IP exibido na saída à lista de permissões e, em seguida, remova
0.0.0.0/0.
E se o meu endereço IP mudar e eu não conseguir mais me conectar?
Se o seu provedor de internet atribuir um endereço IP dinâmico, ele poderá mudar sem aviso prévio e interromper a sua conexão. Para uma conexão estável que não dependa de um IP fixo, conecte-se por meio de um túnel SSL-VPN.