Connexions
Les connexions permettent aux applications et aux bases de données de communiquer. Il y a deux façons principales d’y parvenir :
- Une connexion externe fait un aller-retour sur l’internet, elle est donc beaucoup plus lente qu’une communication interne. Nous recommandons les connexions externes si vous n’hébergez chez nous que votre base de données et non votre frontend. Pour les applications, les connexions externes peuvent être établies via le serveur web, comme vous vous y attendez.
- Une connexion interne reste dans notre réseau et est donc beaucoup plus rapide et plus sûre. Nous recommandons cette méthode si vous hébergez à la fois votre frontend et votre base de données avec l’hébergement d’applications et l’hébergement de bases de données.
Ajouter une connexion interne
Vous pouvez ajouter des connexions internes à partir de la page Réglages d’une application ou de la page Vue globale d’une base de données. Peu importe où vous commencez le processus, le résultat sera le même.
Pour ajouter une connexion d’une application à une base de données, allez dans Applications > Nom de l’application > Réglages > dans la section Connexions internes, cliquez sur Ajouter une connexion, et sélectionnez la base de données pour laquelle vous souhaitez créer une connexion interne.
Variables d’environnement
Nous pouvons automatiquement remplir les variables d’environnement d’une application à partir des détails de la connexion à la base de données. Ne copiez pas et ne collez pas les détails de la connexion interne dans les variables d’environnement. Cliquez sur Ajouter une connexion ou Ajouter une application et cochez la case Ajouter des variables d’environnement. Les variables d’environnement de la base de données à laquelle vous vous connectez seront automatiquement renseignées.
Certaines applications peuvent exiger des variables d’environnement (clés) avec des noms différents. Vous pouvez modifier les noms dans la liste avant d’ajouter la connexion ou les modifier ultérieurement sur la page Réglages de l’application.
Connexions internes et processus de construction
Les connexions internes ne sont disponibles que pendant l’exécution ; elles ne sont pas disponibles pendant le processus de construction.
Si votre application tente de se connecter à une base de données à l’aide d’une connexion interne pendant le processus de construction, une erreur se produit, indiquant que la base de données n’est pas en cours d’exécution, ce qui entraîne l’échec de la construction. C’est normal, car la connexion interne n’est pas active pendant la construction ; elle ne peut être utilisée que pendant l’exécution.
Il existe plusieurs façons de contourner ce problème.
Option 1 : Déplacez la logique de connexion à la base de données de la commande de construction de l’application vers la commande de démarrage. Par exemple : si vous avez une commande comme prisma migrate
dans le processus de construction et que vous déplacez cette commande vers la commande de démarrage, votre application n’accèdera à la base de données que pendant l’exécution, et la construction sera réussie.
Option 2 : ajoutez des variables d’environnement distinctes pour la connexion à la base de données, l’une étant disponible pour le processus de construction et l’autre uniquement pour l’exécution. Les clés peuvent être les mêmes (par exemple DB_CONNECTION_URL
) tant que l’une n’est disponible que pendant le processus de construction et l’autre que pendant l’exécution. Utilisez les détails de la connexion externe de la base de données (Bases de données > Nom de la base > Vue globale > Connexions externes) pour les valeurs des variables à utiliser dans le processus de construction.
Ports
Le port pour les connexions internes à une application est 8080, et le port pour les connexions internes à une base de données est 3306. Les ports de ces connexions internes ne peuvent pas être modifiés.
Pour les applications, Kinsta définit automatiquement la variable d’environnement PORT
. Vous n’avez pas besoin de la définir vous-même ou de la coder en dur dans l’application. Lorsqu’une application est déployée, elle est accessible sur internet sur les ports 80 et 443, et nous routons ces ports vers le conteneur sur le port 8080.
Supprimer une connexion interne
Si vous avez besoin de supprimer une connexion, allez sur la page Réglages de l’application, et sous Connexions internes, cliquez sur l’icône de suppression (corbeille).
Dans la fenêtre modale ou contextuelle Supprimer la connexion, cliquez sur Supprimer la connexion pour confirmer et supprimer la connexion entre l’application et la base de données.