Connessioni

Le connessioni sono il modo in cui le applicazioni e i database possono comunicare. Esistono due modi principali per farlo:

  • Una connessione esterna effettua un viaggio di andata e ritorno su internet, quindi è molto più lenta della comunicazione interna. Consigliamo di utilizzare connessioni esterne se si sta ospitando presso di noi solo il database e non il front-end. Per le applicazioni, le connessioni esterne possono essere effettuate attraverso il server web, come ci si aspetterebbe.
  • Una connessione interna rimane all’interno della nostra rete ed è quindi molto più veloce e sicura. Consigliamo questo metodo se si ospita sia il front-end che il database con l’Hosting di Applicazioni e l’Hosting di Database.

Aggiungere una connessione interna

È possibile aggiungere connessioni interne dalla pagina Impostazioni di un’applicazione o dalla pagina Panoramica di un database. Non importa da dove si inizi il processo: il risultato sarà lo stesso.

Per aggiungere una connessione da un’applicazione a un database, andare su Applicazioni > nome dell’applicazione > Impostazioni > nella sezione Connessioni interne, cliccare su Aggiungi connessione e selezionare il database verso cui si desidera creare la connessione interna.

Aggiungere una connessione interna da un database a un'applicazione in MyKinsta.
Aggiungere una connessione interna da un database a un’applicazione in MyKinsta.

Variabili d’ambiente

Possiamo inserire automaticamente le variabili d’ambiente di un’applicazione a partire dai dettagli della connessione al database. Non è necessario copiare e incollare i dettagli della connessione interna nelle variabili d’ambiente. Cliccare su Aggiungi connessione o Aggiungi applicazione e selezionare la casella Aggiungi variabili d’ambiente…. In questo modo verranno popolate automaticamente le variabili d’ambiente del database a cui ci si sta connettendo.

Alcune applicazioni potrebbero prevedere variabili d’ambiente (chiavi) con nomi diversi. Si possono modificare i nomi nell’elenco prima di aggiungere la connessione o modificarli successivamente nella pagina delle impostazioni dell’applicazione.

Compilare automaticamente le variabili d'ambiente dai dettagli della connessione al database.
Compilare automaticamente le variabili d’ambiente dai dettagli della connessione al database.

Connessioni interne e processo di build

Le connessioni interne sono disponibili solo in fase di esecuzione; non sono disponibili durante il processo di build.

Se l’applicazione tenta di connettersi a un database utilizzando una connessione interna durante il processo di build, si verifica un errore che indica che il database non è in esecuzione e la build fallisce. Questo è previsto perché la connessione interna non è attiva durante la build; può essere utilizzata solo in fase di esecuzione.

Ci sono un paio di modi per ovviare a questo problema.

Opzione 1: spostare la logica di connessione al database dal comando di creazione dell’applicazione al comando start. Ad esempio, se nel processo di build si ha un comando come prisma migrate e lo si sposta nel comando start, l’applicazione accederà al database solo in fase di esecuzione e la build avrà successo.

Opzione 2: aggiungere variabili d’ambiente separate per la connessione al database, una disponibile per il processo di build e l’altra solo per l’esecuzione. Le chiavi possono essere le stesse (ad esempio DB_CONNECTION_URL) purché una sia disponibile solo durante il processo di build e l’altra solo durante l’esecuzione. Utilizzare i dettagli della connessione esterna del database (Database > dbname > Panoramica > Connessioni esterne) per i valori delle variabili da utilizzare nel processo di creazione.

Porte

La porta per le connessioni interne a un’applicazione è 8080 e la porta per le connessioni interne a un database è 3306. Le porte di queste connessioni interne non possono essere modificate.

Per le applicazioni, Kinsta imposta automaticamente la variabile d’ambiente PORT. Non è necessario definirla da soli o inserirla nell’applicazione. Quando un’applicazione viene distribuita, è raggiungibile su internet sulle porte 80 e 443 e noi instradiamo queste porte al container sulla porta 8080.

Rimuovere una connessione interna

Per rimuovere una connessione, andare alla pagina delle Impostazioni dell’applicazione e, alla voce Connessioni interne, cliccare sull’icona di cancellazione (cestino).

Connessioni interne tra database e applicazioni.
Connessioni interne tra database e applicazioni.

Nella finestra modale/pop-up Rimuovi connessione, cliccare su Rimuovi connessione per confermare e rimuovere la connessione tra l’applicazione e il database.

Rimozione di una connessione interna tra un'applicazione e un database.
Rimozione di una connessione interna tra un’applicazione e un database.
Questo articolo ti è stato utile?