Попытка установить соединение с Clond SQL 2nd Generation для Java Appengine с управляемой виртуальной машиной.Java connect to Cloud SQL 2nd Gen из Appengine Управляемая VM
Что я получил:
- VM использует режим Appengine Compat (
FROM gcr.io/google_appengine/java-compat
) - Я вижу трубу MySQL на хосте (SSHed, я могу видеть
/cloudsql/**
сокет), но по умолчанию MySQL Java оленья кожа драйвер поддержка Unix сокетов - Google Driver, кажется, не поддерживается на управляемых VM (
java.lang.ClassNotFoundException: com.mysql.jdbc.GoogleDriver
) - , и я не могу подключиться к MySQL с помощью IP
- без водителя это
No suitable driver found
дляjdbc:google:mysql://__IP__:3306/__db__
- или тайм-аут для
jdbc:mysql://__IP__:3306/__db__
(я добавил MVM внешний IP для авторизованных сетей на MySQL) - но что интересно, я могу подключиться к этому порту из MVM машины, в открыт наименьший порт. Во всяком случае, мне не нравится идея подключения через открытый IP: PORT. MVM имеют новый IP каждый раз, так что я даже не могу добавить правило брандмауэра, чтобы указать доступ из моего проекта только
- без водителя это
Как следует настроить ManagedVM приложение для подключения к Cloud SQL?
Возможно, вы не сможете подключиться внутренне, потому что Cloud SQL 2nd gen в настоящее время не поддерживает App Engine. Если вы можете подключиться к клиенту mysql из управляемой виртуальной машины, вы должны иметь возможность подключаться к внешнему ip + пользователю + паролю. Но, возможно, вам нужно установить драйвер, не исправленный Google? App Engine не поддерживает подключение к внешнему SQL ... – dyeray
, как я понимаю, CloudSQL Proxy (https://github.com/GoogleCloudPlatform/cloudsql-proxy), который включен на моем MVM, он поддерживает проксирование на 'localhost: 3306 '. В настоящее время он создает только unix-сокет, а не порт. Я предполагаю, что это конфигурация по умолчанию, и мне, вероятно, нужно добавить некоторую конфигурацию для открытия порта. все еще исследуя, как я могу это сделать –
Я не уверен, как работает CloudSQL Proxy, но, как я уже сказал, Cloud Gen 2nd gen в настоящее время недоступен в Appengine, поэтому вам нужно будет подключиться к общедоступному IP экземпляра Cloud SQL с обычным MySQL. – dyeray