Por que não consigo me conectar a um cluster do Amazon DocumentDB?

7 minuto de leitura
0

Enfrento problemas ao tentar me conectar a um cluster do Amazon DocumentDB (compatível com MongoDB).

Breve descrição

O Amazon DocumentDB é um serviço exclusivo de nuvem privada virtual (VPC) e não oferece suporte ao uso de endpoints públicos. Para se conectar, você deve usar uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou outro serviço da AWS na mesma VPC da sua instância.

Mas você pode usar o Emparelhamento de VPC ou o Gateway de trânsito para acessar o Amazon DocumentDB a partir de instâncias do EC2 ou de outros serviços da AWS em diferentes VPCs ou regiões. Mas, se você precisar acessar um cluster do Amazon DocumentDB de fora da rede da AWS, use o Tunelamento SSH ou o AWS Client VPN.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de usar a versão mais recente da AWS CLI.

Há vários motivos pelos quais você pode enfrentar problemas ao tentar se conectar a um cluster do Amazon DocumentDB. Use as etapas a seguir para solucionar as causas mais comuns.

A instância de banco de dados não está no estado disponível

Verifique se o cluster do Amazon DocumentDB tem pelo menos uma instância e um cluster em estado disponível. Se as instâncias não estiverem em estado disponível, elas não poderão aceitar conexões. Para obter mais informações, consulte Monitor an Amazon DocumentDB cluster's status e Monitor an Amazon DocumentDB instance's status.

A origem não tem acesso autorizado ao cluster

Confirme se a origem que você usa para se conectar à instância está autorizada a acessar o cluster. Sua instância deve ter acesso ao cluster em suas listas de controle de acesso (ACLs) de rede, firewalls locais e regras de grupos de segurança. Verifique se o tráfego da origem que se conecta à sua instância de banco de dados não está bloqueado por um ou mais dos seguintes:

  • Grupos de segurança da Amazon Virtual Private Cloud (Amazon VPC) associados à instância de banco de dados. Se necessário, adicione regras ao grupo de segurança associado à VPC que permite o tráfego de entrada e saída relacionado à origem para a instância de banco de dados. Você pode especificar um endereço IP, um intervalo de endereços IP ou outro grupo de segurança da VPC.
  • Regras de ACL de rede. Se você usa ACLs de rede em sua VPC, verifique se elas têm regras que permitam tráfego de entrada e saída de e para a instância de banco de dados.
  • Firewalls de rede ou locais. Verifique se sua rede permite tráfego de e para as portas que a instância de banco de dados usa para comunicação de entrada e saída.

As tabelas de rotas de sub-rede do Amazon VPC não permitem tráfego

A tabela de rotas da sua sub-rede da Amazon VPC deve permitir o tráfego da sua máquina ou instância. Confirme se as sub-redes associadas a cada instância de banco de dados estão associadas às mesmas tabelas de rotas ou a tabelas de rotas semelhantes.

Se sua instância de banco de dados primária fizer failover para uma réplica em espera associada a uma tabela de rotas diferente, o tráfego poderá não ser roteado corretamente. Se esse tráfego foi roteado anteriormente sem problemas, verifique se ele ainda está roteado corretamente.

Nome DNS ou endpoint incorreto

Confirme se você usa o nome DNS ou o endpoint correto para se conectar ao cluster do Amazon DocumentDB. Em seguida, confirme se o endpoint está no formato correto para o cliente que você usa para se conectar à instância de banco de dados.

Por exemplo, use nslookup para o endpoint da instância de banco de dados a partir de uma instância do EC2 dentro da VPC:

nslookup docdb-2022-12-16-09-10-582.cuh2dlyxxxxx.us-east-1.docdb.amazonaws.com
Server: x.x.x.x
Address: x.x.x.x#53
Non-authoritative answer:
Name: docdb-2022-12-16-09-10-582.cuh2dlyrdizy.us-east-1.docdb.amazonaws.com
Address: x.x.x.x

Para solucionar problemas de DNS e conectividade, consulte Can't connect to an Amazon DocumentDB endpoint.

Verifique se uma conexão foi estabelecida

Execute um dos comandos a seguir para verificar sua conexão:

telnet <DocDB endpoint> <port number>
nc -zv <DocDB endpoint> <port number>

Se o comando telnet ou nc for bem-sucedido, uma conexão de rede será estabelecida. Isso significa que o problema provavelmente é causado pela autenticação do usuário no banco de dados, como nome de usuário e senha.

Confirme as credenciais que você usa para se conectar

Confirme se você inseriu o nome de usuário e senha corretos ao se conectar ao cluster. Se você esquecer sua senha, poderá modificar o cluster do Amazon DocumentDB para redefini-la.

Desativar a configuração do TLS

Por padrão, a configuração de TLS está habilitada para clusters do Amazon DocumentDB. Se seu aplicativo não usa conexões TLS/SSL, desative a configuração TLS do grupo de parâmetros de cluster personalizado do Amazon DocumentDB. Para obter mais informações, consulte Manage Amazon DocumentDB cluster parameter groups.

Observação: o TLS é um parâmetro estático que exige que você reinicialize o cluster para que as alterações do grupo de parâmetros do cluster entrem em vigor. Para obter mais informações, consulte Modify Amazon DocumentDB cluster parameters.

Solucionar problemas de outros casos de uso

Não é possível obter o erro do certificado do emissor local

Você pode receber um erro "unable to get local issuer certificate" causado pela compatibilidade do driver do MongoDB com o certificado CA. Certifique-se de usar os parâmetros corretos, conforme detalhado em Connect with TLS turned on.

Não é possível se conectar à sua instância após a reinicialização

Talvez você não consiga se conectar à sua instância após a reinicialização. Quando você reinicializa uma instância, o endereço IP privado da instância pode mudar. Isso pode causar problemas de conectividade. É uma prática recomendada usar endpoints de cluster ou instância em vez de usar os endereços IP resolvidos por DNS do recurso do Amazon DocumentDB.

Erros de falha na autenticação

Você pode receber um erro de "Falha na autenticação" ao se conectar à sua instância. Esse erro é causado por problemas de senha, como o uso de uma senha incorreta ou nome de usuário incorreto. Siga as etapas abaixo para resolver esse erro:

  1. Confirme se o nome de usuário e senha corretos foram fornecidos.
  2. Insira a senha manualmente em vez de usar um método de copiar e colar.
  3. Redefina a senha no console do Amazon DocumentDB ou usando a AWS CLI.

Não consigo me conectar após várias conexões

Se você não conseguir mais se conectar, sua instância pode ter atingido o limite máximo de conexões de banco de dados para sua classe de instância. Para permitir mais conexões, atualize a classe da instância.

É uma prática recomendada investigar o gerenciamento de conexões do lado do cliente. Verifique se o pool de conexões e as configurações de tempo limite relacionadas estão definidas corretamente. As configurações devem ser suficientes para você gerenciar o número de conexões com seu cluster do Amazon DocumentDB. As configurações também devem impedir que você atinja o limite de conexão.

Não é possível se conectar a partir de um sistema local usando o AWS Client VPN

Talvez você não consiga se conectar ao seu cluster do Amazon DocumentDB a partir de um sistema local ao usar uma rede privada virtual (VPN). Certifique-se de usar o AWS Client VPN corretamente. O AWS Client VPN permite que você se conecte à sua rede remota a partir da sua VPC e configure o roteamento para transmitir o tráfego pela conexão.

Problemas intermitentes de conectividade

Se seu aplicativo enfrentar um problema de conectividade intermitente, verifique se há uma workload elevada em seu cluster. Por exemplo, analise as métricas do Amazon CloudWatch, como VolumeWriteIOPs, VolumeReadIOPs, OpcountersCommand e CPUUtilization.

Se você observar picos nessas métricas do CloudWatch, seus problemas de conexão podem estar sendo causados por bloqueio. As consultas do usuário podem ser executadas lentamente devido a planos de consulta abaixo do ideal ou podem ser bloqueadas pela contenção de recursos. Use o Performance Insights e Logs do Profiler para encontrar a consulta que causou esse problema.

Informações relacionadas

Connection issues

Use Amazon EC2 to connect

Monitor Amazon DocumentDB with CloudWatch

Security in Amazon DocumentDB

AWS OFICIAL
AWS OFICIALAtualizada há 6 meses