¿Por qué no puedo conectarme a Amazon RDS después de configurarlo?


43

Entonces, acabo de crear la cuenta de Amazon RDS. Y comencé una instancia de base de datos.

The "endpoint" is:
abcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

¡Excelente! Ahora trato de conectarme desde una de mis otras instancias EC2.

mysql -uUSER -pPASS -habcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

Pero nada funciona y simplemente se cuelga.

Traté de hacer ping, y nada funciona tampoco. No pasa nada.

¿Necesito cambiar algunas configuraciones?

Respuestas:


45

Por defecto, RDS no permite ninguna conexión que no esté especificada dentro del Grupo de Seguridad (SG). Puede permitir según el direccionamiento CIDR o por el número de cuenta de Amazon, lo que permitiría que cualquier EC2 de esa cuenta acceda a él.


27

Se está "colgando", ya que no ha configurado el firewall para aceptar conexiones mySQL desde su otra instancia, por lo que el paquete se está cayendo en el nivel del firewall, para resolver esto necesita:

  1. dirígete a tu consola AWS
  2. Pestaña EC2
  3. Anote el grupo de seguridad de su servidor mySQL (bueno, llame a este SG-MYSQL por ahora)
  4. haga clic en grupos de seguridad a la izquierda de la consola
  5. haga clic en su grupo en el menú central SG-MYSQL
  6. haga clic en la pestaña entrante
  7. seleccione mySQL de la lista, agregue los detalles de su servidor cliente y guarde la regla

NOTA: la IP de origen para el servidor no será su IP elástica (de todos modos, en la mayoría de los casos) tendrá una IP interna en el dispositivo (ifconfig en Linux le mostrará esto).


1
Lo hice en mi servidor EC2. He abierto todos los puertos estándar.
Alex

1
No tengo una instancia EC2 y mi RDS no pudo conectarse con el mundo exterior hasta que hice esto.
Umair A.

1
Excelente punto para usar IP elástica!
user1641443

1
Gracias por esto. ¡El tutorial ha marcado la diferencia!
Sr. T

1
Creó una cuenta por culpa del servidor solo para votar esto. GRACIAS.
CaptainMarvel

7

Aquí se habla mucho sobre grupos de seguridad, pero también se verifica:

  • ¿Las subredes asociadas parecen configuradas correctamente?
  • ¿Forman parte las subredes de un grupo de enrutamiento que parece estar configurado correctamente (se especificó la puerta de enlace de Internet, etc.)
  • ¿El RDS dice que es de acceso público?
  • Y, por supuesto, verifique el Grupo de seguridad RDS y el Grupo de seguridad EC2
    • No olvide que su IP de origen real puede ser una IP interna (si accede internamente a través de una VPC) o una IP externa (que puede ser la IP de un enrutador o una IP de instancia de instancia EC2 que es distinta de su Load Balancer / Elastic IP) - para solucionar problemas, puede intentar permitir el acceso a todas las IP y puertos.

(El grupo de enrutamiento fue mi problema; al crear una nueva subred, olvidé agregarlo a un grupo de enrutamiento con una puerta de enlace).


Para aclarar: TODAS las subredes que elija en el grupo de subredes RDS deben tener tablas de enrutamiento que tengan la puerta de enlace de Internet especificada. Mi problema fue que dos de las subredes que elegí eran mis subredes "privadas", que tenían una puerta de enlace NAT especificada para el tráfico saliente en lugar de la puerta de enlace de Internet, y RDS eligió un servidor en una de esas subredes. Consulte este artículo si no está demasiado familiarizado con el enrutamiento: medium.com/@mda590/aws-routing-101-67879d23014d
timetofly

Me afectó el mismo problema que @timetofly. Tuve un trabajo único que decidí ejecutar en ECS Fargate, que requería un NAT para descargar archivos. Configurar el NAT interrumpió mi conexión a RDS desde mi computadora portátil. Cuando terminó el trabajo, actualicé mis subredes para usar solo la puerta de enlace a Internet, y estaba listo para comenzar.
vitale232

4

Fijo.

Tuve que otorgarle acceso en los grupos de seguridad bajo el DB ...


66
¿Puedes dar más detalles sobre lo que hiciste para otorgar acceso?
David Csonka

1
Mi base de datos tiene un grupo de seguridad con una regla. Permitir acceso desde CUALQUIER LUGAR al puerto 1433. No puedo conectar -_-
The Muffin Man

1

Tuve el mismo problema;

  1. Grupos de seguridad> rds-launch-wizard (o cualquier nombre elegido para el db SG)
  2. seleccione la pestaña Entrante> editar
  3. agregar nuevo rol
  4. MySQL
  5. Fuente -> inserte el aws vm ip (por ejemplo: 12.3.14.80/32)

trabajó para mi ...


1

En un intento de abrir completamente la seguridad para la prueba antes de bloquear el acceso, tanto mi instancia de base de datos como mi instancia de EC2 usaron el mismo grupo de seguridad, y tanto el puerto de entrada como el de salida 3306 se configuraron para permitir conexiones desde cualquier lugar. El problema: pude conectarme a Aurora desde mi computadora portátil pero, curiosamente, no desde mi instancia EC2, como si la instancia EC2 no estuviera en ninguna parte. La solución fue agregar otra regla mysql / Aurora entrante y especificar el mismo ID de grupo de seguridad que el origen de las conexiones entrantes. Mi grupo de seguridad tiene una regla que se refiere a sí misma, y ​​puedo conectarme desde mi computadora portátil o desde mi instancia EC2.


-3

la regla entrante de mysql debería ser como se muestra a continuación

imagen Este es el problema con el grupo de seguridad.


3
¿Hay alguna razón por la que estás respondiendo una pregunta de cinco años para responderla con la misma respuesta que ha estado allí durante años? Dar 0.0.0.0/0acceso a 3306tampoco es una gran idea.
ceejayoz

Traté de mostrarle al usuario lo que deberían cambiar y cómo pueden cambiar, usted sabe que hay muchos usuarios como yo que no pueden resolver el problema leyendo las respuestas anteriores. Puede que no lo ayude, pero hay usuarios que lo buscan. usted dio el voto negativo ya que no lo ayuda.
Nirmal Dhara

3
Mi voto negativo proviene de decir que la gente debería abrir MySQL a todo Internet. Es un enfoque peligroso.
ceejayoz

Entiendo. Solo muestro el lugar donde pueden editar los grupos de seguridad, pueden elegir del menú desplegable lo que quieran.
Nirmal Dhara
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.