2016-06-04 7 views
0

Ich habe meinen Webserver bereitgestellt, der eine MySQL-Datenbank für die Speicherung benötigt. Ich habe eine MySQL-Instanz der zweiten Generation mit einem Failover-Replikat erstellt, bin mir aber nicht sicher, wie ich mich mit diesen verbinden kann.Wie wird eine Verbindung von der flexiblen Umgebung zur Cloud SQL-Instanz der zweiten Generation hergestellt?

Ich bin nicht sicher, wie diese Instanzen zu konfigurieren und was ich hier z. Region/Zone. Das Flexible Environment scheint in Europa leider - zumindest momentan - nicht verfügbar zu sein. Ich denke also, dass ich die SQL-Instanzen auch in den USA platzieren muss.

Müssen sich diese Instanzen im selben lokalen Netzwerk befinden oder können sie über Regionen kommunizieren? Kann ich das überhaupt kontrollieren oder wird das alles von Google Cloud entschieden?

Konnte jemand, der das schon getan hat, mir ein paar Details darüber geben, was ich hier tun soll?

Antwort

0

Für eine optimale Leistung sollten Sie Ihre App Engine-Instanzen in derselben Region platzieren.

Informationen darüber, wie aus Ihrer Anwendung in die Cloud SQL MySQL-Instanz finden Sie in der folgenden Dokumentation verbinden: https://cloud.google.com/sql/docs/dev-access#gaev2-csqlv2

Die kurze Zusammenfassung ist, dass Sie Ihre app.yaml Datei zu ändern, haben die Cloud SQL-Instanzen Sie zur Liste wird mit verbinden. Anschließend wird in der App Engine-VM ein lokaler Socket angezeigt, über den Sie eine Verbindung mit Ihrer Cloud SQL-Instanz herstellen können.

+0

Hallo! Das sieht ziemlich geradlinig aus - außer dem Teil "* verbinden Sie sich mit der Instanz, indem Sie einen Socket mit folgendem Namen öffnen:'/cloudsql/[INSTANCE_CONNECTION_NAME} '*". Wenn ich "jdbc: mysql: // localhost: 3306/mz_db? UseSSL = false" lokal hätte, würde ich das zu 'jdbc: mysql: // cloudsql/INSTANCE_CONNECTION_NAME/mz_db? UseSSL = false 'ändern? – displayname

+0

Oder würde ich nur mit der internen IPv4-Adresse 'w.x.y.z: 3306' verbinden? – displayname

+0

Tut mir leid, habe nicht bemerkt, dass du von Java kommst. Für Java würden Sie diese Bibliothek verwenden: https://github.com/GoogleCloudPlatform/cloud-sql-mysql-socket-factory Sie werden Probleme haben, direkt über IP zu verbinden, weil Sie autorisieren müssen, welche IPs sich mit Ihrer Instanz verbinden dürfen Die VM-IP-Adressen von App Engine können sich ändern, wenn neue Instanzen erstellt werden. – Vadim