0

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

Antwort

0

Sorry für meine eigene Antwort zu veröffentlichen, aber dies jemand von Nutzen sein kann.

Also anstatt die Route zu versuchen, die Reihenfolge der Google Startup und Shutdown Skripts zu ändern, ging ich die Route der Erstellung meines eigenen Dienstes (klang erschreckend zu starten).

Erstellt eine Datei mit dem Namen /cloudsqlservice/cloudsql-startup.sh mit dem Inhalt

#!/bin/bash 

echo "Starting up Google Cloud SQL" 
sudo /cloud_sql_proxy -dir=/cloudsql -instances_metadata /project/attributes/DB_Connections 

einen systemd Service Erstellt durch Erstellen einer Datei namens /lib/systemd/system/bizzycloud-sql.service

[Install] 
WantedBy=multi-user.target 

[Unit] 
Description=Google Cloud Compute Engine SQL Proxy 
After=networking.service 
Before=google-shutdown-scripts.service 

[Service] 
Type=simple 
WorkingDirectory=/cloudsqlservice 
ExecStart=/cloudsqlservice/cloudsql-startup.sh 
StandardOutput=journal 
User=root 

Hinweis: Before=: Obwohl dies sieht aus wie Es besagt, dass es vor dem Shutdown-Skript ausgeführt werden soll. Beim Herunterfahren des Systems werden die Einstellungen "Vorher" und "Nachher" umgekehrt, sodass das Herunterfahren dieses Dienstes nach dem Shutdown-Skript ausgeführt werden sollte

Geändert von: running the proxy as a service

sudo chmod 0644 /lib/systemd/system/bizzycloud-sql.service 
sudo systemctl start bizzycloud-sql.service 

Hope this jemand anderes hilft, die über das gleiche Problem kommt.

Verwandte Themen