Vous pouvez ajouter des connexions internes depuis la page Réglages d’une application ou la page Infos d’une base de données. Peu importe où vous commencez le processus ; le résultat sera le même.

  • Si vous souhaitez ajouter une connexion à partir d’une application, utilisez le bouton Ajouter une connexion dans la section Connexions internes de la page Réglages.
  • Si vous souhaitez ajouter une connexion à partir d’une base de données, utilisez le bouton Ajouter une application dans la section Connexions internes de la page Information.

Dans les deux cas, vous verrez la même interface vous permettant de sélectionner la base de données ou l’application à laquelle vous souhaitez créer la connexion interne.

Ajouter une connexion interne d'une base de données à une application dans MyKinsta.
Ajouter une connexion interne d’une base de données à une application dans MyKinsta.

Variables d’environnement

Les variables d’environnement d’une application peuvent être renseignées automatiquement depuis les détails de 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 sélectionnez la case à cocher 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) portant 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 des réglages de l’application.

Remplir automatiquement les variables d'environnement à partir des détails de la connexion à la base de données.
Remplir automatiquement les variables d’environnement à partir des détails de la connexion à la base de données.

Connexions internes et processus de construction

Les connexions internes sont uniquement disponibles pendant le temps d’exécution ; elles ne le sont pas 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, qui dit que la base de données n’est pas utilisée, ce qui fait échouer la construction. C’est normal, car la connexion interne n’est pas en production pendant la construction ; elle peut uniquement être utilisée pendant le temps d’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 depuis 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 accèdera uniquement à la base de données pendant le temps d’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 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 est disponible uniquement pendant le processus de construction et l’autre uniquement pendant le temps d’exécution. Utilisez les détails de la connexion externe de la base de données (Bases de données > dbname > Info > 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 pour 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. Quand 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.

Documentation similaire