Menu Docs
Página inicial do Docs
/
Atlas
/ /

Solução de problemas de conexão de endpoints privados

Esta página descreve problemas comuns de conexão de endpoints privados e possíveis soluções.

1

Para visualizar o status de cada endpoint privado:

  1. No Atlas, Go para a página Database & Network Access do seu projeto.

    1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

    2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

    3. Na barra lateral, clique em Database & Network Access sob o título Security.

      A página Acesso a banco de dados e rede é exibida.

  2. Clique na aba Private Endpoint.

  3. Revise os status.

    Os campos Atlas Endpoint Service Status e Endpoint Status mostram o status de cada endpoint privado.

Consulte os status a seguir para ajudá-lo a determinar o estado de suas conexões de endpoint privado:

Atlas Endpoint Service Status

Status
Descrição

Criando link privado

O Atlas está criando o balanceador de carga de rede e os recursos deVPC .

Falhou

Ocorreu uma falha no sistema.

Disponível

O balanceador de carga de rede do Atlas e o serviço de endpoints da VPC estão criados e prontos para receber solicitações de conexão.

Excluindo

O Atlas está excluindo o serviço de endpoint privado.

Endpoint Status

Status
Descrição

Não configurado

Atlas criou o balanceador de carga de rede e o serviço de endpoints VPC, mas o Amazon Web Services ainda não criou o ponto de extremidade da interface. Clique em Edit e conclua o assistente para criar o ponto de extremidade da interface.

Aceitação pendente

A Amazon Web Services recebeu a solicitação de conexão do seu ponto de extremidade da interface com o serviço de endpoints da Atlas VPC.

Pendente

O Amazon Web Services está estabelecendo a conexão entre o ponto de extremidade da interface e o serviço de endpoint do Atlas VPC.

Falhou

Amazon Web Services falhou ao estabelecer uma conexão entre os recursos do Atlas VPC e o ponto de extremidade da interface em seu VPC. Clique em Edit, verifique se as informações fornecidas estão corretas e, em seguida, crie o ponto de extremidade privado novamente.

IMPORTANTE: se o ponto de conexão da interface falhar, você poderá ver a seguinte mensagem:

No dns entries found for endpoint vpce-<guid>,
your endpoint must be provisioned in at least one subnet.
Click "Edit" to fix the problem.

Esta mensagem indica que você não especificou uma sub-rede ao criar a conexão do AWS PrivateLink. Para resolver esse erro:

  1. Clique em Edit.

  2. Clique em Back.

  3. Especifique pelo menos uma sub-rede.

  4. Siga as instruções restantes para criar a conexão do AWS PrivateLink.

Disponível

Os recursos de Atlas VPC estão conectados ao ponto de extremidade da interface em sua VPC . Você pode se conectar a Atlas clusters nessa região usando o AWS PrivateLink.

Excluindo

O Atlas está removendo o ponto de conexão da ponto de extremidade da interface do serviço de endpoint privado.

2
  1. Para cada recurso que precisa se conectar ao Atlas cluster usando o AWS PrivateLink, o grupo de segurança do recurso deve permitir o tráfego de saída para os endereços IP privados do ponto de conexão da interface em todas as portas (1024-65535).

    Consulte Adicionar Regras a um Grupo de Segurança para mais informações.

  2. O grupo de segurança do ponto de extremidade da interface deve permitir o tráfego de entrada em todas as portas de cada recurso que precisa se conectar aos Atlas clusters usando o AWS PrivateLink.

    Acesse endereços IP da instância ou grupos de segurança para permitir que o tráfego deles alcance o grupo de segurança do ponto de extremidade da interface.

Quando um cliente na sua VPC se conecta a um cluster do Atlas usando uma dessas strings de conexão sensíveis ao ponto de extremidade privado, o cliente tenta estabelecer uma conexão com o balanceador de carga na VPC Atlas por meio de um dos pontos de extremidade da interface. O mecanismo de resolução DNS do cliente determina para quais dos pontos de extremidade da interface o nome do host é resolvido. Se um ponto de extremidade da interface não estiver disponível, o próximo será usado. Isso é ocultado do driver ou qualquer outro mecanismo de conexão. O driver sabe apenas o nome do host por meio do registro SRV ou da string de conexão.

Registro SRV para connection strings com reconhecimento de endpoints privados de lista de sementes de DNS

O exemplo a seguir mostra o registro SRV de um cluster de região única habilitado para o AWS PrivateLink, mostrando três portas exclusivas definidas para pl-0-us-east-1.k45tj.mongodb.net:

$ nslookup -type=SRV _mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1026 pl-0-us-east-1.k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1024 pl-0-us-east-1.k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1025 pl-0-us-east-1.k45tj.mongodb.net.

No exemplo anterior:

  • _mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net é o registro SRV ao qual a string de conexão mongodb+srv://cluster0-pl-0.k45tj.mongodb.net faz referência.

  • pl-0-us-east-1.k45tj.mongodb.net é o nome de host para cada nó em um cluster do Atlas em uma região para a qual você configurou o AWS PrivateLink.

  • 1024, 1025 e 1026 são portas exclusivas que o Atlas atribui ao balanceador de carga para cada nó do conjunto de réplicas do Atlas na região para a qual você habilitou o AWS PrivateLink. balanceador de carga resolvendo nós individuais por sua porta exclusiva.

Resolução de DNS para nomes de host em connection strings e registros SRV com suporte a endpoints privados

O nome de host no registro SRV e na string de conexão padrão é um registro de nome canônico DNS (CNAME) atrelado ao nome DNS regional específico do ponto de extremidade que a AWS gera para o ponto de extremidade da interface. Existe um registro de DNS ALIAS para cada sub-rede na VPC em que você distribuiu o ponto de extremidade da interface. Cada registro ALIAS contém o endereço IP privado do ponto de extremidade da interface para essa sub-rede.

O exemplo a seguir mostra a pesquisa de DNS para o nome de host no registro SRV e na string de conexão padrão, incluindo o nome DNS regional específico do ponto de extremidade para o ponto de conexão da interface e seus registros de DNS ALIAS:

$ nslookup pl-0-us-east-1.k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
pl-0-us-east-1.k45tj.mongodb.net
canonical name = vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com.
Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com
Address: 10.0.30.194
Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com
Address: 10.0.20.54
$ mongosh "mongodb+srv://aws-replica-set-7-pl-0-lb.22qdu.mongodb-dev.net/" --apiVersion 1 --username sarah
Enter password: *****
Current Mongosh Log ID: 68910f1754be6d9adc74e399
Connecting to: mongodb+srv://<credentials>@aws-replica-set-7-pl-0-lb.22qdu.mongodb-dev.net/?appName=mongosh+2.5.6
MongoNetworkError: Client network socket disconnected before secure TLS connection was established
{"t":{"$date":"2025-08-04T19:48:17.649+00:00"},"s":"I", "c":"NETWORK",
"id":22942, "ctx":"listener","msg":"Connection refused because there are
too many open connections","attr":{"remote":"54.172.143.8:33205",
"isLoadBalanced":false,"uuid":{"uuid":{"$uuid":"e52e9c14-7648-430a-bc2e-95292347b7e0"}},
"connectionId":380,"connectionCount":58}}

Observação

Esse recurso está sendo lançado gradualmente. Esperemos que esteja disponível para todos os clusters dedicados na Amazon Web Services até ao final de setembro de 2025.

  • Você pode visualizar o IP de origem do cliente nos logs mongos para clusters fragmentados que se conectam por meio de Endpoints privados.

  • Você pode visualizar o IP de origem do cliente nos registros do mongod para conjuntos de réplicas que se conectam por meio de endpoints privados.

  • Você pode visualizar o IP de origem do cliente nos logs de auditar para conjuntos de réplicas e clusters fragmentados que se conectam por meio de Endpoints Privados.

  • Essa funcionalidade é compatível com o Amazon Web Services para as seguintes versões:

    • 8.1 e v8.1.0+

    • 8.0 e v8.0.10+

    • 7.0 e v7.0.22+

  • O endereço IP e a porta do cliente de origem são indicados pelo campo sourceClient. Esse valor é 10.50.4.23 no exemplo acima.

    {"t":{"$date":"2025-07-21T12:15:42.123+00:00"},"s":"I","c":"NETWORK",
    "id":22943,"ctx":"listener","msg":"Connection accepted","attr":{"remote":"192.168.100.55:31245",
    "isLoadBalanced":true,"sourceClient":"10.50.4.23:50123","uuid":{"uuid":{"$uuid":"12345678-abcd-4321-abcd-87654321abcd"}},
    "connectionId":345,"connectionCount":19}}

A coleta desses detalhes requer o uso da ferramenta jq, que pode ser baixada do site da jq.

A query a seguir fornece o número de conexões criadas a partir do endereço IP de um cliente específico. Agora você pode coletar o endereço IP privado VPC de origem exata usando o atributo sourceClient.

grep '"c":"NETWORK"' mongod.log | jq -c '.attr.sourceClient' | grep -v null | sort | uniq -c
1 "172.31.36.2:32958"
1 "172.31.36.2:52904"
1 "172.31.36.2:52908"
1 "172.31.36.2:52910"
1 "172.31.36.2:52918"

A query a seguir fornece o número de conexões criadas por cada driver. Isso é útil em cenários em que os clientes podem usar drivers diferentes para aplicativos diferentes.

more mongodb.log| grep 'NETWORK' | jq -r '.attr.doc.driver.name' | grep -v null | sort | uniq -c | sort -rn
56447 mongo-go-driver
21633 mongo-java-driver|sync
75 mongo-java-driver|sync|Airbyte
4 nodejs|Mongoose

Para obter uma análise mais detalhada das contagens de conexões e detalhes do driver, você pode usar o seguinte script do Python, que fornece informações abrangentes sobre o número de conexões criadas e encerradas, juntamente com os nomes do driver e detalhes da versão.

import json
import sys
def process_log_file(json_file_path):
# Dictionary to store the filtered data
filtered_data = {}
with open(json_file_path, "r") as json_file:
# Read the file line by line
for line in json_file:
# Parse each line as a separate JSON object
data = json.loads(line)
if 'msg' in data and data['msg'] == 'client metadata':
# Extract the relevant data from the JSON object
drivername = data['attr']['doc']['driver']['name']
driverversion = data['attr']['doc']['driver']['version']
connectionid = data['ctx']
# Create a unique key for the driver based on name and version
driver_key = (drivername, driverversion)
# Add the connection ID to the driver's set of connections
if driver_key not in filtered_data:
filtered_data[driver_key] = {'connections': set(), 'opencount': 0, 'closedcount': 0}
filtered_data[driver_key]['connections'].add(connectionid)
filtered_data[driver_key]['opencount'] += 1
if 'msg' in data and data['msg'] == 'Connection ended':
connectionid = data['ctx']
# Check if the connection ID exists in any driver's connections
for driver_data in filtered_data.values():
if connectionid in driver_data['connections']:
driver_data['closedcount'] += 1
driver_data['connections'].remove(connectionid)
# Print the filtered data for each driver
for driver_key, driver_data in filtered_data.items():
print('Driver:', driver_key)
print('Connection Opened:', driver_data['opencount'])
print('Connection Closed:', driver_data['closedcount'])
if __name__ == '__main__':
# Check if a JSON file argument is provided
if len(sys.argv) < 2:
print("Please provide the path to a JSON file as an argument.")
sys.exit(1)
# Extract the JSON file path from the command-line arguments
json_file_path = sys.argv[1]
# Process the log file
process_log_file(json_file_path)
Driver: ('mongo-go-driver', 'v1.12.0-cloud')
Connection Opened: 14368
Connection Closed: 14362
Driver: ('mongo-go-driver', 'v1.12.1')
Connection Opened: 42056
Connection Closed: 41958
Driver: ('mongo-java-driver|sync', '4.11.1')
Connection Opened: 18012
Connection Closed: 17987
Driver: ('mongo-java-driver|sync', '4.8.2')
Connection Opened: 3621
Connection Closed: 3610
Driver: ('nodejs|Mongoose', '4.17.1|6.12.0')
Connection Opened: 3
Connection Closed: 1
Driver: ('mongo-go-driver', 'v1.13.0')
Connection Opened: 23
Connection Closed: 20
Driver: ('mongo-java-driver|sync|Airbyte', '4.11.0')
Connection Opened: 75
Connection Closed: 75
Driver: ('nodejs|Mongoose', '4.17.2|6.13.0')
Connection Opened: 1
Connection Closed: 0

Podemos sugerir que os clientes incluam o nome do aplicação na string de conexão para especificar diferentes aplicativos que se conectam ao cluster. Ao usar o appName, podemos identificar qual aplicação está criando muitas conexões com o cluster no futuro. Consulte a seção Configurações diversas de nossa documentação para obter mais detalhes sobre o uso do appName na string de conexão. Além disso, você pode utilizar o comando db.currentOp().appname para visualizar as operações atuais associadas ao nome do aplicação . A query a seguir fornece detalhes do appName com o número de conexões criadas por esse aplicação específico.

more mongodb.log| grep 'NETWORK' | jq -r '.attr.doc.application.name' | grep -v null | sort | uniq -c | sort -rn
10809 niyo-*******-api
8616 MongoDB CPS Module v13.17.2.8878 (git: 70c0b932f47f4f0b3e82a75e223f39ed9635b47f)
7203 niyo-ns*****
5752 MongoDB Automation Agent v13.17.2.8878 (git: 70c0b932f47f4f0b3e82a75e223f39ed9635b47f)
3601 *****-auth-service

Os detalhes fornecidos ajudam a identificar os fatores específicos que contribuem para o grande número de conexões. Ao analisar o IP do cliente de origem, os metadados do cliente , o uso do driver e os nomes do aplicação , você pode identificar quais elementos são responsáveis pelo aumento das conexões e determinar as áreas necessárias a serem investigadas. Essa abordagem direcionada permite que você desconsidere outros fatores menos relevantes e se concentre na resolução dos problemas com as informações destacadas, simplificando o processo de mitigação e melhorando o desempenho do cluster.

Os endpoints privados só estarão disponíveis em clusters multirregional se houver um nó em cada região abrangeda pelo cluster que tenha um endpoint privado configurado. Para saber mais sobre como configurar endpoints privados de multirregional, consulte Endpoints privados regionalizados para clusters fragmentados de várias regiões.

Indexação de connection string para clusters multirregionais

Depois de configurar um endpoint privado para uma nova região e distribuir nós de cluster nessa região, você poderá ver o seguinte erro ao usar seu endpoint privado para se conectar ao cluster:

DNSHostNotFound: Failed to look up service "<MongoDB service name>"

Esse erro ocorre quando o índice da connection string muda automaticamente e o cliente é reiniciado posteriormente, o que causa uma pesquisa de DNS SRV. A string de conexão de endpoint privado para um cluster multirregional usa um índice de 0. Se sua string de conexão usar um índice diferente, o MongoDB atualizará automaticamente a string de conexão para usar o índice 0.

Por exemplo, você pode configurar dois endpoints privados para uma região. Se você remover o primeiro endpoint privado, sua string de conexão usará um índice de 1 e será semelhante à seguinte:

mongodb+srv://abc-pl-1.xxxxx.mongodb.net/

Em seguida, suponha que você configure um endpoint privado para uma nova região em seu cluster e, posteriormente, adicione nós de cluster a essa região. Seu cluster agora inclui várias regiões e sua string de conexão é atualizada para usar um índice de 0:

mongodb+srv://abc-pl-0.xxxxx.mongodb.net/

Para evitar possíveis problemas de conectividade após a próxima reinicialização do cliente, confirme que você está usando a string de conexão de ponto de extremidade privado indexado a zero para se conectar ao cluster. Você poderá acessar a string de conexão atualizada do endpoint privado a partir da UI ou da API do Atlas após a conclusão das alterações de cluster.

Você pode usar as ferramentas nslookup e telnet para testar a conectividade do seu aplicação com o Endpoint Privado no Atlas.

1

Execute nslookup com o sinalizador -type=SRV para obter os números de porta associados a cada um dos nós em seu cluster.

nslookup -type=SRV _mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1026 pl-0-us-east-1.k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1024 pl-0-us-east-1.k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1025 pl-0-us-east-1.k45tj.mongodb.net.
2

Em seu ambiente de aplicação , com uma das portas listadas (por exemplo, 1026, 1024 ou 1025 no exemplo de saída acima), execute o seguinte comando telnet para testar a conectividade:

telnet pl-0-<xyz>.mongodb.net 1024
telnet pl-0-<xyz>.mongodb.net 1025
telnet pl-0-<xyz>.mongodb.net 1026

Para visualizar o status de cada endpoint privado:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Database & Network Access sob o título Security.

A página Acesso ao banco de dados e à rede é exibida.

2
3

Os campos Atlas Endpoint Service Status e Endpoint Status mostram o status de cada endpoint privado.

Consulte os status a seguir para ajudá-lo a determinar o estado de suas conexões de endpoint privado:

Atlas Endpoint Service Status

Status
Descrição

Criando link privado

O Atlas está criando o balanceador de carga e os recursos de rede virtual.

Falhou

Ocorreu uma falha no sistema.

Disponível

Atlas criou o balanceador de carga e o Azure Private Link Service. O serviço Azure Private Link está pronto para receber solicitações de conexão.

Excluindo

O Atlas está excluindo o serviço Azure Private Link .

Endpoint Status

Status
Descrição

Não configurado

O Atlas criou o balanceador de carga e o Serviço Azure Private Link , mas você ainda não criou um endpoint privado. Clique em Edit e conclua o assistente para criar o endpoint privado.

Iniciando

O Atlas ainda não aceitou a conexão com seu endpoint privado.

Falhou

O Azure falhou ao estabelecer uma conexão entre os recursos da VNet do Atlas e o endpoint privado na sua VNet. Clique Edit, verifique se as informações fornecidas estão corretas e, em seguida, crie o ponto de extremidade privado novamente.

Disponível

Os recursos Atlas VNet são conectados ao endpoint privado em sua VNet. Você pode se conectar a clusters do Atlas nessa região usando o Azure Private Link.

Excluindo

O Atlas está removendo a conexão de endpoint privado do Serviço Azure Private Link .

Quando um cliente em sua VNet se conecta a um cluster do Atlas usando uma dessas strings de conexão com reconhecimento de ponto de extremidade privado, o cliente tenta estabelecer uma conexão com o serviço Private Link na VNet do Atlas por meio da interface de rede do ponto de extremidade privado. O serviço Private Link envia tráfego por meio de um balanceador de carga padrão do Azure para os nós do cluster do Atlas que você implantou nessa região. O mecanismo de resolução de DNS do seu cliente trata da resolução do nome do host para o endereço IP privado da interface de rede. O driver conhece apenas o nome do host na string de conexão, escutando em uma porta para cada nó no conjunto de réplicas do cluster.

Registro SRV para connection strings com reconhecimento de endpoints privados de lista de sementes de DNS

O exemplo a seguir mostra o registro SRV de um cluster de região única habilitado para o Azure Private Link, mostrando três portas exclusivas definidas para pl-0-eastus2.uzgh6.mongodb.net:

$ nslookup -type=SRV _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1024 pl-0-eastus2.uzgh6.mongodb.net.
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1025 pl-0-eastus2.uzgh6.mongodb.net.
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1026 pl-0-eastus2.uzgh6.mongodb.net.

No exemplo anterior:

  • _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net é o registro SRV que a string de conexão referencia.

  • pl-0-eastus2.uzgh6.mongodb.net é o nome de host para cada nó em um Atlas cluster em uma região para a qual você configurou o Azure Private Link.

  • 1024, 1025 e 1026 são portas exclusivas que o Atlas atribui ao balanceador de carga para cada nó do conjunto de réplicas do Atlas na região para a qual você habilitou o Azure Private Link. Todos os nós em um conjunto de réplicas do Atlas são acessíveis por meio do mesmo nome de host, com o balanceador de carga resolvendo nós individuais por sua porta exclusiva.

Resolução de DNS para nomes de host em connection strings e registros SRV com suporte a endpoints privados

O nome de host no registro SRV e na string de conexão padrão é um A registro DNS que se resolve para o endereço IP privado da interface de rede do endpoint privado.

O exemplo a seguir mostra a pesquisa DNS para o nome do host no registro SRV e na string de conexão padrão:

$ nslookup pl-0-eastus2.uzgh6.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: pl-0-eastus2.uzgh6.mongodb.net
Address: 10.0.0.4

Os endpoints privados só estarão disponíveis em clusters multirregional se houver um nó em cada região abrangeda pelo cluster que tenha um endpoint privado configurado. Para saber mais sobre como configurar endpoints privados de multirregional , consulte Endpoints privados regionalizados para clusters fragmentados de várias regiões.

Indexação de connection string para clusters multirregionais

Depois de configurar um endpoint privado para uma nova região e distribuir nós de cluster nessa região, você poderá ver o seguinte erro ao usar seu endpoint privado para se conectar ao cluster:

DNSHostNotFound: Failed to look up service "<MongoDB service name>"

Esse erro ocorre quando o índice da connection string muda automaticamente e o cliente é reiniciado posteriormente, o que causa uma pesquisa de DNS SRV. A string de conexão de endpoint privado para um cluster multirregional usa um índice de 0. Se sua string de conexão usar um índice diferente, o MongoDB atualizará automaticamente a string de conexão para usar o índice 0.

Por exemplo, você pode configurar dois endpoints privados para uma região. Se você remover o primeiro endpoint privado, sua string de conexão usará um índice de 1 e será semelhante à seguinte:

mongodb+srv://abc-pl-1.xxxxx.mongodb.net/

Em seguida, suponha que você configure um endpoint privado para uma nova região em seu cluster e, posteriormente, adicione nós de cluster a essa região. Seu cluster agora inclui várias regiões e sua string de conexão é atualizada para usar um índice de 0:

mongodb+srv://abc-pl-0.xxxxx.mongodb.net/

Para evitar possíveis problemas de conectividade após a próxima reinicialização do cliente, confirme que você está usando a string de conexão de ponto de extremidade privado indexado a zero para se conectar ao cluster. Você poderá acessar a string de conexão atualizada do endpoint privado a partir da UI ou da API do Atlas após a conclusão das alterações de cluster.

Você pode usar as ferramentas nslookup e telnet para testar a conectividade do seu aplicação com o Endpoint Privado no Atlas.

1

Execute nslookup com o sinalizador -type=SRV para obter os números de porta associados a cada um dos nós em seu cluster.

nslookup -type=SRV _mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1026 pl-0-us-east-1.k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1024 pl-0-us-east-1.k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0.k45tj.mongodb.net service = 0 0 1025 pl-0-us-east-1.k45tj.mongodb.net.
2

Em seu ambiente de aplicação , com uma das portas listadas (por exemplo, 1026, 1024 ou 1025 no exemplo de saída acima), execute o seguinte comando telnet para testar a conectividade:

telnet pl-0-<xyz>.mongodb.net 1024
telnet pl-0-<xyz>.mongodb.net 1025
telnet pl-0-<xyz>.mongodb.net 1026

Para visualizar o status de cada endpoint privado:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Database & Network Access sob o título Security.

A página Acesso ao banco de dados e à rede é exibida.

2
3

Os campos Atlas Endpoint Service Status e Endpoint Status mostram o status de cada endpoint privado.

Consulte os status a seguir para ajudá-lo a determinar o estado de suas conexões de endpoint privado:

Atlas Endpoint Service Status

Status
Descrição

Criando link privado

O Atlas está criando o balanceador de carga de rede e os recursos de VPC .

Falhou

Ocorreu uma falha no sistema.

Disponível

A Atlas criou o balanceador de carga de rede e o serviço de endpoints VPC . O serviço de endpoint privado está pronto para receber solicitações de conexão.

Excluindo

O Atlas está excluindo o serviço de endpoint privado.

Endpoint Status

Status
Descrição

Iniciando

O Atlas ainda não está conectado ao seu endpoint privado e ainda não aceitou os endpoints.

Aguardando usuário

Os recursos de VPC no Atlas estão prontos para uso. Configure os endpoints na sua VPC executando o script de shell.

Verificado

O Atlas verificou os endpoints na sua VPC , mas ainda não aceitou o endpoint privado na sua VPC da Google Cloud Platform . Pode levar alguns minutos para que o Endpoint Status se torne Available.

Disponível

Os recursos do Atlas VPC são conectados ao endpoint privado em seu Google Cloud Platform VPC. O Atlas aceitou os endpoints. Você pode se conectar a Atlas clusters nessa região usando o GCP Private Service Connect.

Ativo

O Atlas está pronto para usar os recursos da VPC . O Atlas aceitou os endpoints. Uma VM é atribuída à conexão de serviço privado.

Falhou

Google Cloud Platform falhou ao estabelecer uma conexão entre Atlas VPC os recursos da do e o endpoint privado em sua Google Cloud Platform VPC da . Clique Edit, verifique se as informações fornecidas estão corretas e, em seguida, crie o ponto de extremidade privado novamente.

Excluído

Você excluiu manualmente o endpoint privado de uma região no Atlas. Você também deve excluir o endpoint privado na Google Cloud Platform para excluir recursos. Exclusão pendente do grupo de regiões.

Os endpoints privados só estarão disponíveis em clusters multirregional se houver um nó em cada região abrangeda pelo cluster que tenha um endpoint privado configurado. Para saber mais sobre como configurar endpoints privados de multirregional , consulte Endpoints privados regionalizados para clusters fragmentados de várias regiões.

Indexação de connection string para clusters multirregionais

Depois de configurar um endpoint privado para uma nova região e distribuir nós de cluster nessa região, você poderá ver o seguinte erro ao usar seu endpoint privado para se conectar ao cluster:

DNSHostNotFound: Failed to look up service "<MongoDB service name>"

Esse erro ocorre quando o índice da connection string muda automaticamente e o cliente é reiniciado posteriormente, o que causa uma pesquisa de DNS SRV. A string de conexão de endpoint privado para um cluster multirregional usa um índice de 0. Se sua string de conexão usar um índice diferente, o MongoDB atualizará automaticamente a string de conexão para usar o índice 0.

Por exemplo, você pode configurar dois endpoints privados para uma região. Se você remover o primeiro endpoint privado, sua string de conexão usará um índice de 1 e será semelhante à seguinte:

mongodb+srv://abc-pl-1.xxxxx.mongodb.net/

Em seguida, suponha que você configure um endpoint privado para uma nova região em seu cluster e, posteriormente, adicione nós de cluster a essa região. Seu cluster agora inclui várias regiões e sua string de conexão é atualizada para usar um índice de 0:

mongodb+srv://abc-pl-0.xxxxx.mongodb.net/

Para evitar possíveis problemas de conectividade após a próxima reinicialização do cliente, confirme que você está usando a string de conexão de ponto de extremidade privado indexado a zero para se conectar ao cluster. Você poderá acessar a string de conexão atualizada do endpoint privado a partir da UI ou da API do Atlas após a conclusão das alterações de cluster.

Você pode usar as ferramentas nslookup e telnet para testar a conectividade do seu aplicação com o Endpoint Privado no Atlas.

1

Execute nslookup com o sinalizador -type=SRV para obter os números de porta associados a cada um dos nós em seu cluster.

nslookup -debug -type=SRV _mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net
Server: 8.8.8.8
Address: 8.8.8.8#53
------------
QUESTIONS:
_mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net, type = SRV, class = IN
ANSWERS:
-> _mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net
service = 0 0 27017 pl-00-000-us-central1-gcp.test.mongodb.net.
ttl = 60
-> _mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net
service = 0 0 27017 pl-00-001-us-central1-gcp.test.mongodb.net.
ttl = 60
-> _mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net
service = 0 0 27017 pl-00-002-us-central1-gcp.test.mongodb.net.
ttl = 60
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Non-authoritative answer:
_mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net service = 0 0 27017 pl-00-000-us-central1-gcp.test.mongodb.net.
_mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net service = 0 0 27017 pl-00-001-us-central1-gcp.test.mongodb.net.
_mongodb._tcp.gpc-mongo-pl-0-us-central1.test.mongodb.net service = 0 0 27017 pl-00-002-us-central1-gcp.test.mongodb.net.
2

Em seu ambiente de aplicação , com uma das portas listadas (por exemplo, 27017 no exemplo de saída acima), execute o seguinte comando telnet para testar a conectividade:

telnet pl-0-<xyz>.mongodb.net 27017

Voltar

Gerenciar e conectar

Nesta página