Conecte-se ao MySQL no Google Compute Engine pelo App Engine e externamente

Conecte-se ao MySQL no Google Compute Engine pelo App Engine e externamente

Criei com êxito uma instância de VM do Compute Engine e instalei o MySQL nela usando este guia: https://cloud.google.com/solutions/setup-mysql

Agora quero me conectar a ele pelo App Engine e também pela minha casa, se possível. Usando este guia:https://cloud.google.com/appengine/docs/standard/python/connecting-vpc Criei o conector, fornecendo o endereço IP 10.8.0.0/28 sugerido.

No app.yaml do meu mecanismo de aplicativo, inseri: vpc_access_connector: nome: projetos/locationconnection/locations/europe-west3/connectors/vpcaccess

A instância da VM mostra um IP interno 10.156.0.2 e um IP externo 34.89.141.17

Estou tentando me conectar do PHP usando esta linha: new mysqli($servername, $username, $password, $dbname, 3306, null); mas recebo erros diferentes.

Ao conectar-se a 34.89.141.17 de minha casa: mysqli::__construct(): (HY000/2002): Nenhuma conexão pôde ser feita porque a máquina de destino a recusou ativamente. (Até criei uma regra de Firewall para permitir todo o tráfego do meu IP residencial)

Ao conectar-se ao 10.8.0.0 do App Engine: 2002: A conexão expirou

Ao conectar-se a 10.156.0.2 do App Engine: 2002: Conexão recusada

Como posso fazer uma conexão?

Responder1

No guiaComo configurar o MySQL no Google Compute Enginemostra como configurar o Mysql, mas lembre-se de que o Mysql tem sua própria configuração. Pelos erros que você mencionou, o problema é sobre o Mysql permitir conexões externas. Ao adicionar um usuário e conceder privilégios a ele (ou a usuários existentes), você precisa especificar o host ou intervalo de rede a partir do qual esse usuário pode se conectar. Por exemplo, esta linha GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; concede todas as permissões ao usuário root e permite conexões do usuário root de todos os hosts (o '%' após o @ é um curinga que significa de todos os hosts). Você pode usar o curinga como este para rede privada. 10.156.0.%O host se aplica a IPs públicos ou a IPs de sua rede privada. Verifique este site para mais informaçõesComo permitir conexões remotas ao MySQL. Tenha em mente o risco de segurança de uma política de permissão de host totalmente aberta.

informação relacionada