Dienstleistungen Gebraucht:Google Compute Engine - Ubuntu - Shutdown - Cloud SQL-Proxy-Verbindung geschlossen
- Google Compute Engine (GCE) (Always-On oder Preemptible)
- Ubuntu 16.04 LTS
- PHP
- Google Cloud SQL
- Google Cloud SQL-Proxy
Problem: Die Google Cloud SQL Proxy-Verbindung wurde geschlossen, bevor das Google Shutdown-Skript gestartet wurde.
Problem verursacht: "MySQL Server ist weggegangen" und ähnliche Fehlermeldungen in PHP während des Herunterfahrens.
Nach vielen Untersuchungen scheint es, dass während des Herunterfahrens einer Instanz die Datenbankverbindung, die während des Google Cloud Startup-Skripts gestartet wurde, heruntergefahren wird, bevor das Shutdown-Skript gestartet wird.
Ich habe versucht, die Reihenfolge der systemctl Dienste zu ändern, aber ich bin nicht in der Lage, die richtige Reihenfolge zu finden, um Dinge zu laden.
Während die Bilderstellung wird dieser Inhalt in /lib/systemd/system/google-shutdown-scripts.service.d/bizzycloud.conf
[Unit]
After=apache2.service haproxy.service
Wants=apache2.service haproxy.service google-startup-scripts.service
Startskript Schnipsel eingefügt:
sudo /cloud_sql_proxy -dir=/cloudsql -instances_metadata /project/attributes/DB_Connections &
Shutdown Script Snippet
echo "Shutting Down"
curl "http://localhost/run/shutdowntest.php" # < This reports database errors
sudo /cloud_sql_proxy -dir=/cloudsql -instances_metadata /project/attributes/DB_Connections & # < Reconnect back to the database
curl "http://localhost/run/shutdowntest.php" # < This reports database is ok
Es Es gibt keine Probleme mit der Datenbank, während die Server aktiv sind, aber sobald sie mit dem Herunterfahren beginnen, bemerken wir Probleme.
Meine google-shutdown-scripts.service/bizzycloud.conf Datei scheint nicht die Reihenfolge der Start-und Shutdown-Skripts zu ändern.
Dies könnte durchaus mit ähnlichen Problemen zu tun haben, die Leute mit zufälligen Cloud SQL-Fehlern während der "Health Check Recovery" oder dem Herunterfahren von Servern hatten.
Wäre jemand in der Lage, eine Lösung zu diesem Problem zu finden, da unser Setup sehr unbeständig ist und die Server die ganze Zeit auf und ab laufen, so dass wir viele dieser Fehler bekommen.
Danke