Solução de problemas de conexão de endpoints privados
Nesta página
Esta página descreve problemas comuns de conexão de endpoints privados e possíveis soluções.
Clusters dedicados
Verifique o status de suas conexões do AWS PrivateLink.
Para visualizar o status de cada endpoint privado:
No Atlas, Go para a página Network Access do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Network Access sob o título Security.
A páginaAcesso à rede é exibida.
Clique na aba Private Endpoint.
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:
Esta mensagem indica que você não especificou uma sub-rede ao criar a conexão do AWS PrivateLink. Para resolver esse erro:
| |||
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. |
Certifique-se de que seus grupos de segurança estejam configurados corretamente.
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.
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 .
Obtenha IPs privados com pesquisa de DNS
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ãomongodb+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
e1026
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
Endpoints privados de várias 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.
Teste a conectividade do seu aplicativo implantado
Você pode usar as ferramentas nslookup
e telnet
para testar a conectividade do seu aplicação com o Endpoint Privado no Atlas.
Obtenha os detalhes da conexão do seu Atlas cluster.
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.
Teste a conectividade.
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:
No Atlas, váGo para a Network Access página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Network Access sob o título Security.
A página Acesso à rede é exibida.
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 . |
Obtenha IPs privados com pesquisa de DNS
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
e1026
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
Endpoints privados de várias 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.
Teste a conectividade do seu aplicativo implantado
Você pode usar as ferramentas nslookup
e telnet
para testar a conectividade do seu aplicação com o Endpoint Privado no Atlas.
Obtenha os detalhes da conexão do seu Atlas cluster.
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.
Teste a conectividade.
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:
No Atlas, váGo para a Network Access página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Network Access sob o título Security.
A página Acesso à rede é exibida.
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 |
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. |
Endpoints privados de várias 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.
Teste a conectividade do seu aplicativo implantado
Você pode usar as ferramentas nslookup
e telnet
para testar a conectividade do seu aplicação com o Endpoint Privado no Atlas.
Obtenha os detalhes da conexão do seu Atlas cluster.
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.