Conéctese a MySQL en Google Compute Engine desde App Engine y externamente

Conéctese a MySQL en Google Compute Engine desde App Engine y externamente

Creé con éxito una instancia de VM de Compute Engine e instalé MySQL en ella usando esta guía: https://cloud.google.com/solutions/setup-mysql

Ahora quiero conectarme desde App Engine y también desde mi casa, si es posible. Usando esta guía:https://cloud.google.com/appengine/docs/standard/python/connecting-vpc Creé el conector y le di la dirección IP sugerida 10.8.0.0/28.

En app.yaml de mi motor de aplicaciones inserté: vpc_access_connector: nombre: proyectos/locationconnection/locations/europe-west3/connectors/vpcaccess

La instancia de VM muestra una IP interna de 10.156.0.2 y una IP externa de 34.89.141.17

Estoy intentando conectarme desde PHP usando esta línea: new mysqli($servername, $username, $password, $dbname, 3306, null); pero me salen errores diferentes.

Al conectarme a 34.89.141.17 desde mi casa: mysqli::__construct(): (HY000/2002): No se pudo establecer ninguna conexión porque la máquina de destino la rechazó activamente. (Incluso creé una regla de Firewall para permitir todo el tráfico desde la IP de mi casa)

Al conectarse a 10.8.0.0 desde el motor de aplicaciones: 2002: Se agotó el tiempo de conexión

Al conectarse a 10.156.0.2 desde el motor de aplicaciones: 2002: Conexión rechazada

¿Cómo puedo hacer una conexión?

Respuesta1

en la guiaCómo configurar MySQL en Google Compute Enginemuestra cómo configurar Mysql pero tenga en cuenta que Mysql tiene su propia configuración. Por los errores que mencionaste, el problema se trata de que Mysql permita conexiones externas. Cuando agrega un usuario y le otorga privilegios (o a usuarios existentes), debe especificar el host o el rango de red desde el cual ese usuario puede conectarse. Por ejemplo, esta línea GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; otorga todos los permisos al usuario raíz y permite conexiones desde el usuario raíz desde todos los hosts (el '%' después de @ es un comodín que significa desde todos los hosts). Puede utilizar el comodín de esta manera para la red privada. 10.156.0.%El host solicita IP públicas o IP de su red privada. Consulte este sitio para obtener más información.Cómo permitir conexiones remotas a MySQL. Tenga en cuenta el riesgo de seguridad que supone una política de autorización de host totalmente abierta.

información relacionada