¿Cómo puedo solucionar los problemas de conexión con la instancia de base de datos de Amazon RDS?

8 minutos de lectura
0

No puedo conectarme a mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS).

Breve descripción

La imposibilidad de conectarse a una instancia de base de datos de Amazon RDS puede deberse a varias causas. A continuación, se indican algunas de las razones más habituales:

  • El estado de la instancia de base de datos de RDS no es disponible, por lo que no puede aceptar conexiones.
  • El origen para conectarse a la instancia de base de datos no tiene autorización de acceso en el grupo de seguridad, las listas de control de acceso (ACL) de red ni los firewalls locales.
  • Se ha utilizado un nombre de DNS o un punto de conexión incorrecto para conectarse a la instancia de base de datos.
  • Se ha producido un error en la instancia de base de datos Multi-AZ y la instancia de base de datos secundaria utiliza una subred o tabla de enrutamiento que no permite conexiones de entrada.
  • La autenticación del usuario es incorrecta por uno de los siguientes motivos:
    Está utilizando un nombre de usuario o una contraseña incorrectos en la base de datos para acceder a la instancia desde el cliente de la base de datos.
    No tiene los permisos de base de datos necesarios para acceder a la instancia.
    El cliente se ejecuta en una versión que no es compatible con la versión de la base de datos.

Consejo: Puede seguir los siguientes pasos para identificar el origen del problema de conectividad y solucionarlo. También puede utilizar el documento AWSSupport-TroubleshootConnectivityToRDS de Automatización de AWS Systems Manager para diagnosticar el problema. Este documento de automatización puede diagnosticar las ACL de red en función de la dirección IP principal de la instancia de Amazon Elastic Compute Cloud (Amazon EC2). Sin embargo, los puertos efímeros no se verifican. El documento de automatización también comprueba los grupos de seguridad en función de la dirección IP principal de la instancia de EC2, pero la automatización no verifica puertos específicos. Para obtener más información, consulte Run an automation.

Solución

Confirmación de la disponibilidad de la instancia de base de datos

Si ha lanzado o reiniciado su instancia de base de datos recientemente, confirme que tenga el estado disponible en la consola de Amazon RDS. Según el tamaño de la instancia de base de datos, puede tardar hasta 20 minutos en estar disponible para las conexiones de red.

Si el estado de la instancia de base de datos es error, consulte Why is my Amazon RDS DB instance in a failed state?

Confirmación de si la instancia de base de datos permite las conexiones

Asegúrese de que el tráfico del origen que se conecta a la instancia de base de datos no esté bloqueado por uno o varios de los siguientes elementos:

  • **Un grupo de seguridad de Amazon Virtual Private Cloud (Amazon VPC) asociado a la instancia de base de datos.**Si es necesario, añada reglas al grupo de seguridad asociado a la VPC que permitan que el tráfico relacionado con el origen entre y salga de la instancia de base de datos. Puede especificar una dirección IP, un intervalo de direcciones IP u otro grupo de seguridad de VPC. Para obtener información general sobre las instancias de base de datos y VPC, consulte Escenarios de acceso a una instancia de base de datos en una VPC.
  • **Un grupo de seguridad de base de datos asociado a la instancia de base de datos.**Si la instancia de base de datos no está en una VPC, es posible que esté utilizando un grupo de seguridad de base de datos para bloquear el tráfico. Actualice su grupo de seguridad de base de datos para permitir el tráfico del intervalo de direcciones IP o el grupo de seguridad de Amazon EC2 que utiliza para conectarse.
  • Conexiones fuera de una VPC. Asegúrese de que la instancia de base de datos sea accesible públicamente y esté asociada a una subred pública (por ejemplo, la tabla de enrutamiento permite el acceso desde una puerta de enlace de Internet). Para obtener más información, consulte Scenarios for accessing a DB instance in a VPC.
    Si su instancia de base de datos está en una subred privada, asegúrese de utilizar el emparejamiento de VPC o AWS Site-to-Site VPN para conectarse a la instancia de forma segura. Con AWS Site-to-Site VPN, puede configurar una puerta de enlace de cliente que le permita conectar la VPC a la red remota. Para usar el emparejamiento de VPC, cree una conexión de emparejamiento entre la VPC de origen y la VPC de su instancia para acceder a la instancia desde fuera de su VPC. También puede usar una instancia de Amazon EC2 como host bastión (salto).
  • ACL de red. Las ACL de red funcionan como un firewall para los recursos de una subred específica en una VPC. Si utiliza ACL en su VPC, asegúrese de que tengan reglas que permitan el tráfico de entrada y salida desde y hacia la instancia de la base de datos.
  • Firewalls de red o locales. Pregunte al administrador de red si la red permite el tráfico hacia y desde los puertos que la instancia de base de datos utiliza para la comunicación de entrada y salida.
    Nota: Amazon RDS no acepta el tráfico del protocolo de mensajes de control de Internet (ICMP), incluido ping.

Solución de problemas potenciales con el nombre de DNS o el punto de conexión

Al conectarse a su instancia de base de datos, usa un nombre de DNS (punto de conexión) proporcionado por la consola de Amazon RDS. Asegúrese de utilizar el punto de conexión correcto. Además, proporcione el punto de conexión en el formato correcto al cliente que utilice para conectarse a la instancia de base de datos. Para obtener más información sobre las conexiones del motor de base de datos y sobre cómo utilizar un punto de conexión en varias aplicaciones cliente, consulte Introducción a Amazon RDS.

Por ejemplo, utilice nslookup en el punto de conexión de la instancia de base de datos desde una instancia de Amazon EC2 dentro de la VPC:

nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com
Server: xx.xx.xx.xx
Address: xx.xx.xx.xx#53

Consulte el ejemplo siguiente de una respuesta no autoritativa:

Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com
Address: 172.31.xx.x

Solución de problemas de la base de datos

  • Asegúrese de utilizar el nombre de usuario y la contraseña correctos para acceder a la instancia desde el cliente de base de datos.
  • Asegúrese de que el usuario tenga los permisos de base de datos para conectarse a la instancia de base de datos.
  • Compruebe si hay alguna limitación de recursos en Amazon RDS, como contención de CPU o memoria. Esta contención puede provocar problemas al establecer conexiones más nuevas con la instancia.
  • Asegúrese de que la instancia no haya alcanzado el límite de max_connections.

Comprobación de las tablas de enrutamiento asociadas a la instancia

Cuando crea un despliegue Multi-AZ, lanza varias instancias de base de datos de réplica en varias zonas de disponibilidad para mejorar la tolerancia a errores de su aplicación. Asegúrese que las subredes asociadas a cada instancia de la base de datos estén asociadas a las mismas tablas de enrutamiento o a tablas similares. Si la instancia principal de la base de datos se conmuta por error a una réplica en espera asociada a una tabla de enrutamiento diferente, es posible que el tráfico no se enrute correctamente. Aunque ese tráfico se haya enrutado anteriormente sin problemas, es posible que ya no se enrute de manera correcta.

Para obtener más información sobre cómo configurar tablas de enrutamiento, consulte Configure route tables. Para obtener información adicional sobre los despliegues Multi-AZ, consulte Configuración y administración de una implementación Multi-AZ.

Nota: Si puede conectarse a la instancia de base de datos, pero se producen errores de autenticación, consulte ¿Cómo restablezco la contraseña del usuario administrador de mi instancia de base de datos de Amazon RDS?

Verificación de la conectividad

Ejecute uno de los comandos siguientes para verificar la conexión:

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

Si el comando telnet o el comando nc se ejecutan correctamente, se ha establecido una conexión de red. Esto significa que es probable que el problema se deba a la autenticación del usuario en la base de datos, por ejemplo, por problemas con el nombre de usuario y la contraseña.

Información relacionada

No puede conectarse a la instancia de base de datos de Amazon RDS

¿Cómo puedo solucionar los problemas de conectividad a una instancia de base de datos de Amazon RDS que usa una subred pública o privada de una VPC?

Seguridad en Amazon EFS

Uso de SSL/TLS para cifrar una conexión a una instancia