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 Anwendungen können externe Verbindungen über den Webserver hergestellt werden, wie du es erwarten würdest.
- 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 dem 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 Übersicht einer Datenbank hinzufügen. Es spielt keine Rolle, wo du den Prozess beginnst; das Ergebnis ist dasselbe.
Um eine Verbindung von einer Anwendung zu einer Datenbank hinzuzufügen, gehst du zu Anwendungen > anwendungsname > Einstellungen > im Bereich Interne Verbindungen auf Verbindung hinzufügen und wählst die Datenbank aus, zu der du die interne Verbindung herstellen möchtest.
Umgebungsvariablen
Wir können die Umgebungsvariablen einer Anwendung automatisch mit den Details der Datenbankverbindung füllen. Kopiere die Details der internen Verbindung nicht und füge sie 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 (Databases > 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 Seite Einstellungen der Anwendung und klickst unter Interne Verbindungen auf das Symbol 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.