Verbindungen
Verbindungen sind die Art und Weise, wie Anwendungen und Datenbanken miteinander kommunizieren können. Es gibt zwei Hauptwege, wie dies erreicht werden kann:
- Eine externe Verbindung macht einen Internet-Roundtrip und ist daher viel langsamer als die interne Kommunikation. Wir empfehlen externe Verbindungen, wenn du nur deine Datenbank bei uns hostest, aber nicht dein Frontend. Für Datenbanken stellen wir Details zur externen Datenbankverbindung zur Verfügung.
Hinweis: In Zukunft werden externe Verbindungen für Datenbanken standardmäßig ausgeschaltet sein, und wir empfehlen, sie aus Sicherheitsgründen auszuschalten, wenn sie nicht genutzt werden. - Eine interne Verbindung bleibt innerhalb unseres Netzwerks und ist daher viel schneller und sicherer. Wir empfehlen diese Methode, wenn du sowohl dein Frontend als auch deine Datenbank mit Anwendungs-Hosting und Datenbank-Hosting hostest.
Eine interne Verbindung hinzufügen
Interne Verbindungen kannst du auf der Seite Einstellungen einer Anwendung oder auf der Seite Info einer Datenbank hinzufügen. Es spielt keine Rolle, wo du den Prozess beginnst; das Ergebnis ist dasselbe.
Um eine Verbindung von einer Datenbank zu einer Anwendung hinzuzufügen, gehe zu Datenbanken > datenbankname > Übersicht > im Abschnitt Interne Verbindungen auf Anwendung hinzufügen und wählst die Anwendung aus, zu der du die interne Verbindung erstellen möchtest.
Umgebungsvariablen
Wir können die Umgebungsvariablen einer Anwendung automatisch mit den Details der Datenbankverbindung füllen. Kopiere und füge die Details der internen Verbindung nicht in die Umgebungsvariablen ein. Klicke auf Verbindung hinzufügen oder Anwendung hinzufügen und wähle das Kontrollkästchen Umgebungsvariablen hinzufügen… aus. Dadurch werden die Umgebungsvariablen automatisch aus der Datenbank, mit der du dich verbindest, ausgefüllt.
Einige Anwendungen erwarten möglicherweise Umgebungsvariablen (Schlüssel) mit anderen Namen. Du kannst die Namen in der Liste bearbeiten, bevor du die Verbindung hinzufügst, oder sie später auf der Seite Einstellungen der Anwendung bearbeiten.
Interne Verbindungen und der Build-Prozess
Interne Verbindungen sind nur während der Laufzeit verfügbar; während des Build-Prozesses sind sie nicht verfügbar.
Wenn deine Anwendung versucht, sich während des Build-Prozesses über eine interne Verbindung mit einer Datenbank zu verbinden, führt dies zu einer Fehlermeldung, die besagt, dass die Datenbank nicht läuft, wodurch der Build fehlschlägt. Das ist zu erwarten, weil die interne Verbindung während des Builds nicht aktiv ist; sie kann nur während der Laufzeit verwendet werden.
Es gibt mehrere Möglichkeiten, dieses Problem zu umgehen.
Option 1: Verschiebe die Logik, die die Verbindung zur Datenbank herstellt, vom Build-Befehl der Anwendung zum Start-Befehl. Wenn du z. B. einen Befehl wie prisma migrate
im Build-Prozess hast und diesen Befehl in den Startbefehl verschiebst, greift deine Anwendung nur während der Laufzeit auf die Datenbank zu und der Build wird erfolgreich sein.
Option 2: Füge je nach Bedarf separate Umgebungsvariablen für die Datenbankverbindung hinzu, von denen eine für den Build-Prozess und die andere nur für die Laufzeit verfügbar ist. Die Schlüssel können gleich sein (z. B. DB_CONNECTION_URL
), solange eine nur während des Build-Prozesses und die andere nur während der Laufzeit verfügbar ist. Verwende die Details zur externen Verbindung der Datenbank (Datenbanken > dbname > Übersicht > Externe Verbindungen) für die Werte der Variablen, die im Erstellungsprozess verwendet werden sollen.
Ports
Der Port für interne Verbindungen zu einer Anwendung ist 8080, und der Port für interne Verbindungen zu einer Datenbank ist 3306. Die Ports für diese internen Verbindungen können nicht geändert werden.
Für Anwendungen setzt Kinsta automatisch die Umgebungsvariable PORT
. Du musst sie nicht selbst definieren oder in der Anwendung fest einprogrammieren. Wenn eine Anwendung bereitgestellt wird, ist sie im Internet auf den Ports 80 und 443 erreichbar, und wir leiten diese Ports an den Container auf Port 8080 weiter.
Eine interne Verbindung entfernen
Wenn du eine Verbindung entfernen möchtest, gehst du auf die Übersichtsseite der Datenbank und klickst unter Interne Verbindungen auf das Symbol für Löschen (Mülleimer).
Klicke im Modal/Pop-up Verbindung entfernen auf Verbindung entfernen, um die Verbindung zwischen der Anwendung und der Datenbank zu bestätigen und zu entfernen.
Externe Verbindungen
Du findest die Verbindungsdetails für externe Verbindungen unter Datenbanken > datenbankname > Übersicht > Externe Verbindungen. Du kannst diese Details nutzen, um dich über die Befehlszeile (CLI) oder mit einem Datenbanktool mit deiner Datenbank zu verbinden.
Datenbankpasswort ändern
Du kannst das Datenbankpasswort für deine internen und externen Verbindungen ändern. Klicke auf der Seite Datenbankübersicht bei der internen Verbindung oder der externen Verbindung auf Passwort ändern und gib ein neues Passwort ein. Alternativ kannst du auch auf Neues Passwortgenerieren klicken, um automatisch ein neues Passwort zu erstellen.
Passwörter müssen mindestens 8 Zeichen lang sein und mindestens einen Kleinbuchstaben, einen Großbuchstaben, eine Zahl und eines der folgenden Sonderzeichen enthalten: , & * [ ] : ’ $ ` ”
Wenn du das Passwort änderst, initiiert Kinsta automatisch eine neue Bereitstellung für Anwendungen mit einer internen Verbindung zur Datenbank und verwendet dabei die passenden Umgebungsvariablenwerte des alten Passworts. Du musst das Passwort in jedem Client, den du für die Verbindung zur Datenbank verwendest, manuell ändern und alle anderen relevanten Umgebungsvariablen aktualisieren.