Verbindingen

Verbindingen zijn de manier waarop applicaties en databases met elkaar kunnen communiceren. Dit kan op twee manieren:

  • Een externe verbinding maakt een round-trip op het internet en is dus veel langzamer dan interne communicatie. Wij raden externe verbindingen aan als je alleen je database bij ons host en niet je front-end. Voor applicaties kunnen externe verbindingen worden gemaakt via de webserver, zoals je zou verwachten.
  • Een interne verbinding blijft binnen ons netwerk en is dus veel sneller en veiliger. Wij raden deze methode aan als je zowel je front-end als je database host bij Applicatie Hosting en Database Hosting.

Een interne verbinding toevoegen

Je kunt interne verbindingen toevoegen vanaf de Instellingen pagina van een applicatie of de Overzicht pagina van een database. Het maakt niet uit waar je het proces start; het resultaat zal hetzelfde zijn.

Om een verbinding van een applicatie naar een database toe te voegen, ga je naar Applicaties > appnaam > Instellingen > in de sectie Interne verbindingen, klik je op Verbinding toevoegen en selecteer je de database waarmee je de interne verbinding wilt maken.

Een interne verbinding toevoegen van een database naar een applicatie in MyKinsta.
Een interne verbinding toevoegen van een database naar een applicatie in MyKinsta.

Omgevingsvariabelen

We kunnen automatisch de omgevingsvariabelen van een applicatie invullen vanuit de details van de databaseverbinding. Kopieer en plak de interne verbindingsgegevens niet in omgevingsvariabelen. Klik op Verbinding toevoegen of Applicatie toevoegen en selecteer het selectievakje Omgevingsvariabelen toevoegen…. Hierdoor worden automatisch de omgevingsvariabelen ingevuld van de database waarmee je verbinding maakt.

Sommige applicaties verwachten omgevingsvariabelen (sleutels) met andere namen. Je kunt de namen in de lijst bewerken voordat je de verbinding toevoegt of ze later bewerken op de Instellingen pagina van de applicatie.

Vul omgevingsvariabelen automatisch in vanuit de details van de databaseverbinding.
Vul omgevingsvariabelen automatisch in vanuit de details van de databaseverbinding.

Interne verbindingen en het bouwproces

Interne verbindingen zijn alleen beschikbaar tijdens runtime; ze zijn niet beschikbaar tijdens het bouwproces.

Als je applicatie verbinding probeert te maken met een database via een interne verbinding tijdens het bouwproces, veroorzaakt dit een fout die zegt dat de database niet actief is, waardoor de build mislukt. Dit wordt verwacht omdat de interne verbinding niet live is tijdens het bouwen; deze kan alleen tijdens runtime worden gebruikt.

Er zijn een paar manieren om dit te omzeilen.

Optie 1: Verplaats de logica die verbinding maakt met de database van het build commando van de applicatie naar het start commando. Bijvoorbeeld: als je een commando als prisma migrate in het bouwproces hebt en je verplaatst dat commando naar het start commando, dan zal je applicatie alleen tijdens runtime toegang hebben tot de database en zal de build succesvol zijn.

Optie 2: Voeg naar behoefte aparte omgevingsvariabelen toe voor de databaseverbinding, de ene beschikbaar voor het bouwproces en de andere alleen voor runtime. De sleutels kunnen hetzelfde zijn (bijv. DB_CONNECTION_URL) zolang de ene alleen beschikbaar is tijdens het bouwproces en de andere alleen tijdens runtime. Gebruik de externe verbindingsgegevens van de database (Databases > dbnaam > Overzicht > Externe verbindingen) voor de waarden van variabelen die gebruikt moeten worden tijdens het bouwproces.

Poorten

De poort voor interne verbindingen naar een applicatie is 8080 en de poort voor interne verbindingen naar een database is 3306. De poorten voor deze interne verbindingen kunnen niet worden gewijzigd.

Voor applicaties stelt Kinsta automatisch de omgevingsvariabele PORT in. Je hoeft deze niet zelf te definiëren of te hardcoden in de applicatie. Wanneer een applicatie wordt gedeployd, is deze bereikbaar op het internet op poorten 80 en 443, en we routeren deze poorten naar de container op poort 8080.

Een interne verbinding verwijderen

Als je een verbinding moet verwijderen, ga dan naar de pagina Instellingen van de applicatie en klik onder Interne verbindingen op het pictogram Verwijderen (prullenbak).

Interne verbindingen tussen databases en applicaties.
Interne verbindingen tussen databases en applicaties.

Klik in het modal/popupvenster Verbinding verwijderen op Verbinding verwijderen om de verbinding tussen de applicatie en de database te bevestigen en te verwijderen.

Een interne verbinding tussen een applicatie en een database verwijderen.
Een interne verbinding tussen een applicatie en een database verwijderen.
Was dit artikel nuttig?