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

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

Nesta página

  • Clusters dedicados

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 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 Network Access sob o título Security.

      A páginaAcesso à 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

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

Aceitação pendente

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

Pendente

Amazon Web Services está estabelecendo a conexão entre o ponto de conexão da 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 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.

    Listar de permissões endereços IP ou grupos de segurança para permitir que o tráfego deles alcance o grupo de segurança de 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 endpoint privado, o cliente tenta estabelecer uma conexão com o balanceador de carga na VPC Atlas por meio de um dos endpoints da interface. O mecanismo de resolução DNS do cliente determina quais dos pontos de conexão da interface o nome do host se mapeia. Se um ponto de conexão da interface não estiver disponível, o próximo será usado. Isso é ocultado do driver ou qualquer outro mecanismo de conexão. O drive 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 endpoint que a AWS gera para o ponto de conexão da interface. Existe um registro de DNS ALIAS para cada sub-rede na VPC em que você distribuiu o ponto de conexão da interface. Cada registro ALIAS contém o endereço IP privado do ponto de conexão da interface dessa 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

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.

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 Network Access sob o título Security.

    A página Acesso à 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.

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 Network Access sob o título Security.

    A página Acesso à 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 do Google Cloud . 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.

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