Verbindingen

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

  • Een externe verbinding maakt een internet round-trip en is dus veel langzamer dan interne communicatie. We raden externe verbindingen aan als je alleen je database bij ons host en niet je front-end. Voor databases geven we hier informatie over externe databaseverbindingen.
    Opmerking: In de toekomst zullen externe verbindingen standaard worden uitgeschakeld voor databases, en we raden aan om ze om veiligheidsredenen uit te schakelen als ze niet worden gebruikt.
  • Een interne verbinding blijft binnen ons netwerk en is dus veel sneller en veiliger. We 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 Info pagina van een database. Het maakt niet uit waar je het proces start; het resultaat zal hetzelfde zijn.

Om een verbinding van een database naar een applicatie toe te voegen, ga je naar Databases > databasenaam > Overzicht > klik in de sectie Interne verbindingen op Applicatie toevoegen en selecteer de applicatie 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 bouw 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 startcommando. Bijvoorbeeld: als je een commando als prisma migrate in het bouwproces hebt en je verplaatst dat commando naar het startcommando, 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 hard te coderen in de applicatie. Wanneer een applicatie wordt ingezet, 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 Overzichtspagina van de Database 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

Externe verbindingen

Je kunt de verbindingsdetails voor externe verbindingen vinden binnen Databases > databasenaam > Overzicht > Externe verbindingen. Je kunt deze gegevens gebruiken om verbinding te maken met je database via de opdrachtregel (CLI) of met een databasetool.

Database externe verbindingen
Database externe verbindingen

Databasewachtwoord wijzigen

Je kunt het databasewachtwoord voor je interne en externe verbindingen wijzigen. Klik op de pagina Overzicht database op Interne verbinding of Externe verbinding op Wachtwoord wijzigen en voer een nieuw wachtwoord in. Je kunt ook op Een nieuw wachtwoordgenereren klikken om automatisch een nieuw wachtwoord aan te maken.

Wachtwoorden moeten uit minimaal 8 tekens bestaan en ten minste één kleine letter, hoofdletter, cijfer en één van de volgende speciale tekens bevatten: , & * [ ] : ’ $ ` ”
Wanneer je het wachtwoord wijzigt, start Kinsta automatisch een nieuwe deployment voor applicaties met een interne verbinding met de database, met behulp van overeenkomende omgevingsvariabelen van het oude wachtwoord. Je moet het wachtwoord handmatig wijzigen in elke client die je gebruikt om verbinding te maken met de database en alle andere relevante omgevingsvariabelen bijwerken.

Was dit artikel nuttig?