Saltar al contenido

¿Cómo soluciono los problemas cuando me conecto a mi instancia de base de datos de Amazon RDS?

8 minutos de lectura
0

Quiero solucionar el motivo por el que no puedo conectarme a mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS).

Descripción corta

A continuación se enumeran los motivos comunes por los que se bloquea la conexión a la instancia de base de datos de Amazon RDS:

  • La instancia de base de datos se encuentra en un estado que no es Disponible, Optimización del almacenamiento o Copia de seguridad.
  • 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.
  • Utilizas un nombre de DNS o un punto de enlace incorrectos para conectarte 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 no es correcta.

Resolución

Para solucionar el problema de conexión, completa una o varias de las tareas siguientes.

Uso de un runbook de automatización

Usa 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 Amazon EC2, pero la automatización no verifica puertos específicos. Para obtener más información, consulta Ejecución de una operación automatizada con la tecnología de automatización de Systems Manager.

Para obtener instrucciones sobre cómo usar el runbook y detalles sobre lo que comprueba, consulta AWSSupport-TroubleshootConnectivityToRDS.

Una vez finalizada la automatización, revisa la sección Salidas para obtener resultados detallados. Si el manual no puede identificar el problema, continúa con los siguientes pasos manuales.

Confirma que la instancia de base de datos se encuentre en estado disponible

Si has iniciado o reiniciado la instancia de base de datos recientemente, confirma que tenga el estado disponible en la consola de Amazon RDS. Según el tamaño de la instancia de base de datos, pueden transcurrir hasta 20 minutos antes de que la instancia de base de datos pueda usar conexiones de red.

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

Asegúrate de que uno o varios de los siguientes requisitos de configuración no bloqueen el tráfico del origen que se conecta a la instancia de base de datos:

  • Grupos de seguridad de Amazon Virtual Private Cloud (Amazon VPC) asociados a la instancia de base de datos: Agrega reglas al grupo de seguridad asociado a la Amazon VPC que permitan que el tráfico relacionado con el origen entre y salga de la instancia de base de datos. Puedes 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, consulta Escenarios de acceso a una instancia de base de datos en una VPC.
  • ACL de red: Las ACL de red funcionan como un firewall para los recursos de una subred específica en una VPC. Si utilizas ACL en tu VPC, asegúrate de que tengan reglas que permitan el tráfico de entrada y salida desde y hacia la instancia de la base de datos.
  • Conexiones fuera de una VPC: Asegúrate de que la instancia de base de datos sea de acceso público 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, consulta Escenarios de acceso a una instancia de base de datos en una VPC.
    En el caso de las instancias de base de datos de una subred privada, usa el emparejamiento de VPC o AWS Site-to-Site VPN para conectarte de forma segura a la instancia. Con Site-to-Site VPN, puedes configurar una puerta de enlace de cliente que te permite conectar la VPC a la red remota. Usa el emparejamiento de VPC para crear una conexión de emparejamiento entre la VPC de origen y la VPC de tu instancia y así acceder a la instancia desde fuera de tu VPC. También puedes usar una instancia de Amazon EC2 como host bastión (salto).
  • Firewalls de red o locales: Pregunta 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 control de mensajes de Internet (ICMP), incluido ping.

Para solucionar los problemas de conectividad entre Amazon RDS y tu VPC, puedes utilizar el analizador de accesibilidad.

Posibles problemas con el nombre o el punto de enlace de DNS

Al conectarte a tu instancia de base de datos, usas un nombre de DNS (punto de enlace) que proporciona la consola de Amazon RDS. Asegúrate de utilizar el punto de enlace correcto. Además, proporciona el punto de enlace en el formato correcto al cliente que utilices para conectarte 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 enlace en varias aplicaciones de cliente, consulta Introducción a Amazon RDS.

Por ejemplo, utiliza nslookup para ver el punto de enlace 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

Ejemplo de una respuesta no autoritativa:

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

Verifica tu conectividad

Usa uno de los siguientes comandos para comprobar la conexión:

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

Los comandos telnet y nc prueban la conexión entre el cliente y el servidor. Si el comando telnet o el comando nc se procesan correctamente, se ha establecido una conexión de red. Esta conexión significa que la autenticación del usuario en la base de datos provoca este problema, como un problema con el nombre de usuario o la contraseña.

Problemas de la base de datos

Comprueba que las siguientes opciones correspondientes a la base de datos estén configuradas correctamente:

  • Tienes la contraseña y el nombre de usuario correctos para acceder a la instancia desde tu cliente de base de datos.
  • El usuario tiene los permisos de base de datos para conectarse a la instancia de base de datos.
  • No hay ninguna limitación de recursos en Amazon RDS, como contención de CPU o memoria. La contención de memoria puede provocar problemas al establecer conexiones más nuevas con la instancia. Considera una solución de agrupación de conexiones que mejore la capacidad de escalamiento de las aplicaciones, como Amazon RDS Proxy, para evitar la sobrecarga de memoria y CPU al abrir nuevas conexiones cada vez.
  • En el caso de Amazon RDS compatible con MySQL, la instancia no ha alcanzado el límite max_connections.
  • Si Amazon RDS es compatible con MySQL, comprueba que no has superado los límites de recursos de la cuenta, como max_user_connections y max_updates.
  • En el caso de Amazon RDS compatible con MySQL, los errores del proceso de conexión del cliente que se producen sucesivamente desde un host se contabilizan en la variable de sistema max_connect_errors. Una vez superada esta variable, el host se bloquea y se deniegan las conexiones desde el mismo host. Para resolver este problema, en las versiones 8.0.23 y anteriores de MySQL, vacía la caché del host. O bien, en versiones posteriores, trunca la tabla performance_schema host_cache. Para más información, consulta Troubleshoot Amazon RDS for MySQL and Amazon RDS for MariaDB Errors (Solución de problemas de Amazon RDS para MySQL y Amazon RDS para MariaDB).

Comprueba las tablas de enrutamiento asociadas a la instancia

Asegúrate de 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, consulta Configuración de tablas de enrutamiento y Configuración y administración de un despliegue multi-AZ para Amazon RDS.

Nota: Si te conectas a la instancia de base de datos, pero se producen errores, consulta ¿Cómo puedo restablecer la contraseña del usuario administrador de mi instancia de base de datos de Amazon RDS?

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?

Uso de SSL/TLS para cifrar una conexión a una instancia o clúster de base de datos

Troubleshoot network connectivity to Amazon RDS databases using VPC Reachability Analyzer (Solución de problemas de conectividad con bases de datos de Amazon RDS mediante el analizador de accesibilidad de VPC)