amazon ec2 - ec2 - La aplicación Elastic Beanstalk no se conectará a la instancia MySQL de RDS
connect mysql amazon ec2 (3)
¿Lanzó también la instancia de RDS a VPC?
Su grupo de seguridad RDS necesita otorgar tráfico entrante en el puerto 3306 al grupo de seguridad beanstalk.
por ejemplo, grupo de seguridad RDS
Incoming
ALLOW TCP 3306 from BeanstalkSG
No abrir en 0.0.0.0
Ya que permite que todo el tráfico salga, su Beanstalk SG no tiene que otorgar 3306 para el tráfico saliente adicionalmente.
¿Sus ACL de VPC permiten el tráfico en 3306? (Lo hacen, por defecto)
Tengo una aplicación de aplicación CodeIgniter PHP en una instancia de Elastic Beanstalk. Intento conectarlo a una instancia de RDS MySQL I pero la carga de la URL del sitio de Elastic Beanstalk siempre da como resultado que la página agote el tiempo de conexión. Reduje el problema a no poder conectarme a la base de datos.
Creo que configuré mis grupos de seguridad correctamente para permitir que las instancias de Elastic Beanstalk EC2 hablen con RDS, pero algo debe estar mal ya que la página aún no se carga.
He incluido capturas de pantalla a continuación de las reglas de entrada / salida para el grupo de seguridad que utilizan RDS y Elastic Beanstalk, así como una captura de pantalla de los grupos de seguridad que he adjuntado a la instancia de Elastic Beanstalk.
¿Alguna idea de por qué mi aplicación Elastic Beanstalk no puede hablar con mi instancia de RDS?
EDIT: la instancia de RDS y la instancia de Elastic Beanstalk están en el mismo grupo de seguridad.
Agregue el nombre del grupo de seguridad de pila con el que ha configurado su Elastic Beanstalk a la lista de grupos de seguridad RDS.
Es más fácil probar al iniciar sesión en la instancia EC2 (es decir, eb ssh) y probar la conexión a la base de datos para excluir cualquier problema con su aplicación.
mysql -u user -p password -h rds.instance.endpoint.region.rds.amazonaws.com
Ahora hay un tutorial sobre cómo conectar ElasticBeanstalk con cualquier base de datos RDS (MySQL, etc.), de una manera que no las una, es decir, puede crearlas por separado. El tutorial se refiere a la configuración de grupos de seguridad a través de la consola de AWS.
Después de eso, debe establecer 5 variables de entorno ElasticBeanstalk (al menos para MySQL): RDS_HOSTNAME
, RDS_PORT
, RDS_DB_NAME
, RDS_USERNAME
y RDS_PASSWORD
.
Diferentes instancias de ElasticBeanstalk accederían a estas variables de diferentes maneras para hacer una conexión de base de datos (sé en PHP, tienes que usar $_SERVER[''RDS_DB_NAME'']
, etc.). Vea cómo hacerlo en Java, Node.js, Python, Ruby y .NET en el enlace de arriba.