Por que não consigo me conectar à minha instância de banco de dados Amazon RDS para Oracle?

6 minuto de leitura
0

Não consigo me conectar a uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS).

Breve descrição

A seguir estão os motivos mais comuns para problemas de conexão com uma instância de banco de dados RDS for Oracle:

  • Seu grupo de segurança, listas de controle de acesso à rede (ACLs de rede) ou firewalls locais estão configurados incorretamente. Configurações incorretas podem bloquear o tráfego para a instância.
  • A instância de banco de dados não está no estado Disponível.
  • Você usou credenciais de usuário incorretas.
  • Você usou o endpoint errado para se conectar à instância de banco de dados do RDS.
  • A conexão do cliente com a instância de banco de dados é incompatível.
  • Você não tem as permissões necessárias.

Resolução

Use o TNSPING para verificar a conexão

**Observação:**Você deve instalar o cliente Oracle para usar o utilitário TNSPING.

Use o utilitário TNSPING para verificar se o cliente Oracle pode se conectar à instância de banco de dados. Se você adicionou a entrada do banco de dados no arquivo tnsnames.ora, execute o seguinte comando para verificar se o RDS for Oracle está acessível:

tnsping <Service Name>

Se você não adicionou a entrada do banco de dados ao arquivo tnsnames.ora, execute um comando semelhante a seguir:

tnsping "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))"  

TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 23-JUL-2023 19:48:22  

Copyright (c) 1997, 2019, Oracle.  All rights reserved.  

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))  
OK (210 msec)

Se o TNSPING confirmar que o cliente Oracle não pode se conectar à instância de banco de dados, verifique as configurações a seguir.

Verifique as configurações de VPC

Se você se conectar à sua instância de banco de dados de fora de uma nuvem privada virtual (VPC), confirme se a propriedade Publicamente Acessível da sua instância de banco de dados está definida como Sim. Se a propriedade estiver definida como Não, a instância de banco de dados não receberá um endereço IP público. Somente instâncias e clientes do Amazon Elastic Compute Cloud (Amazon EC2) dentro da VPC podem se conectar ao seu banco de dados por meio do endereço IP privado do Amazon RDS.

Para acessar de diferentes VPCs ou redes on-premises, você deve definir configurações adicionais, como emparelhamento de VPCs ou AWS Direct Connect. Se a propriedade Publicamente Accessível estiver definida como Sim, os clientes que estão fora da VPC poderão se conectar à sua instância de banco de dados pela Internet com um gateway da Internet.

Verifique as configurações do grupo de segurança

Confirme se o grupo de segurança da sua instância de banco de dados permite o tráfego de entrada apropriado para seu banco de dados. Para obter mais informações, consulte Controle do acesso com grupos de segurança.

Verifique as configurações de rede ACL

As listas de controle de acesso à rede (ACLs de rede) atuam como um firewall para recursos em uma sub-rede específica de uma VPC. Se sua VPC tiver ACLs de rede, confirme se elas têm regras para permitir tráfego de entrada e saída de e para sua instância. Por padrão, as ACLs de rede permitem todo o tráfego de entrada e saída. Se sua ACL de rede for mais restritiva, você precisará permitir explicitamente o tráfego para o intervalo de portas efêmeras.

Verifique sua rede ou firewall local

Sua conexão de cliente pode ter se originado de uma rede on-premises. 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. Talvez seja necessário entrar em contato com o administrador da rede para obter essas informações.

Verifique as configurações da tabela de rotas

Verifique se sua tabela de rotas está configurada corretamente com a sub-rede de banco de dados associada.

Solução de problemas adicionais

Para solucionar ainda mais os problemas de conexão, execute as ações a seguir:

  • Execute o comando a seguir para verificar a conexão de rede. Substitua os valores example-rds-endpoint e example-port-number pelo endpoint do RDS e pelo número da porta da sua instância de banco de dados.
    **Observação:**O Amazon RDS não aceita tráfego pelo protocolo de mensagens de controle da Internet (ICMP), incluindo ping.

    telnet example-rds-endpoint example-port-number  
    OR   
    curl -v http://<example-rds-endpoint>:<PORT>
  • Execute o comando nslookup para confirmar se o servidor DNS no lado do cliente resolve o nome do endpoint DNS da instância de banco de dados para o endereço IP correto:

    nslookup  example-instance.example-accountcode.example-region.rds.amazonaws.com
  • Confirme se o status da sua instância de banco de dados está no estado Disponível. Atividades de banco de dados, como atualização de versão, atualização de classe de instância ou failover Multi-AZ, podem causar breves interrupções. As interrupções podem alterar o estado da instância de banco de dados e causar problemas de conexão.

  • A conexão pode alcançar a instância de banco de dados, mas a conexão ainda falhará. Confirme se as credenciais do usuário que você usa para se conectar à instância de banco de dados estão corretas. Você pode redefinir a senha do usuário principal, se necessário.

  • Confirme se você tem as permissões necessárias para se conectar à sua instância de banco de dados.

Use o Amazon EC2 para se conectar à sua instância de banco de dados

Para configurar uma conexão entre o Amazon EC2 e sua instância de banco de dados, use o atributo de conexão automática no console do Amazon RDS.

**Observação:**Para usar o atributo de conexão automática, a instância do EC2 e a instância de banco de dados devem estar na mesma VPC.

Você também pode usar o endpoint de conexão de instância do EC2 sem um bastion host para acessar recursos, como o Amazon RDS, a partir do Console de Gerenciamento da AWS. Primeiro, verifique se seu usuário tem as permissões necessárias do AWS Identity and Access Management (IAM) para se conectar ao endpoint de conexão do EC2. Além disso, verifique se o grupo de segurança da sua instância de banco de dados permite o tráfego do endpoint da VPC.

Execute o comando aws ec2-instance-connect open-tunnel para abrir um túnel WebSocket:

aws ec2-instance-connect open-tunnel --instance-connect-endpoint-id "VPC Endpoint ID"--private-ip-address "Private IP"--local-port "random port number to use locally" --remote-port "rds port number"

Informações relacionadas

Solução de problemas de conexões com sua instância de banco de dados Oracle

Não é possível conectar-se à instância de banco de dados do Amazon RDS

TNSPING no site da Oracle

AWS OFICIAL
AWS OFICIALAtualizada há um ano